1 'CLOCK.pms by Peter Stanwyck 2 ' 73117,2006 3 '(c)1986 All Rights Reserved 4 'NOT for sale OR inclusion in whole 5 ' in part in other programs 6 ' INSTRUCTIONS in CLOCK.doc 10 CLS:DEFINTA-Z:DEFSTRW,Z,P,K:DIMX(59),Y(59),M(60),N(60),S(59),T(59):KEYOFF 11 PRINT@178,"Wait..":P1=CHR$(27)+CHR$(75):GOSUB36:GOTO24 12 IFU=4THENBEEP:I=I+1:IFI=200THEN55 13 P=INKEY$:IFP=""THEN29ELSEGOSUB17:ONUGOTO49,68,18,55,59,63 14 FORAA=1TO5:PRINT@40*AA+77,MID$("[A][T][S][I][M]",AA*3-2,3);:NEXT:U=3:GOTO12 15 RETURN 16 FORAA=0TO7:PRINT@40*AA+26,P1;:NEXT:RETURN 17 IFASC(P)>90THENP=CHR$(ASC(P)-32):RETURNELSERETURN 18 IFINSTR("IASMT",P)=0THEN12ELSEIFP="M"THENMENUELSEIFP="A"THEN48ELSEIFP="S"THEN56ELSEIFP="I"THEN23ELSE62 19 IFA3=0THENRETURNELSEPRINT@83,DAY$:PRINT@123,DATE$:T$=TIME$:W1="a.m." 20 IFT$>"11:59:59"THENT$=RIGHT$("0"+MID$(STR$(VAL(LEFT$(T$,2))-12),2)+MID$(T$,3),8):W1="p.m." 21 IFLEFT$(T$,2)="00"THENT$="12"+MID$(T$,3) 22 PRINT@163,T$:PRINT@207,W1:RETURN 23 IFA3=0THENA3=1:GOTO29ELSEA3=0:FORAA=2TO5:PRINT@AA*40," ":NEXT:GOTO29 24 LINE(88,1)-(150,63),1,BF:FORA=2TO6STEP2:LINE(95-A,8-A)-(143+A,56+A),0,B:NEXT: 25 RESTORE46:READX3,X4,X5,X6,X7:FORA=0TO59:GOSUB39:PRESET(X1,X2):NEXT:A1=0:A2=0 26 FORA=9TO39STEP15:FORB=0TO2:C=B+A:LINE(94+C,7)-(94+C,2),B+1 27 LINE(94+C,57)-(94+C,62),B+1:LINE(94,7+C)-(89,7+C),B+1:LINE(144,7+C)-(149,7+C),B+1 28 NEXT:NEXT:GOTO14 29 A=INT(VAL(RIGHT$(TIME$,2))):IFA=BTHEN12ELSEB=A:IFA1<>0ORA2<>0THEN61 30 LINE(119,32)-(X(C),Y(C)),1:LINE(119,32)-(X(A),Y(A)),0:PRESET(X(C),Y(C)) 31 IFV<>0THENLINE(119,32)-(M(G),N(G)),0:LINE(119,32)-(S(S),T(S)),0 32 C=A:GOSUB19:G=INT(VAL(MID$(TIME$,4,2))) 33 IFG=HANDV=1THEN12ELSEV=1:LINE(119,32)-(M(G),N(G)),0:LINE(119,32)-(M(H),N(H)),1:H=G 34 S=INT(VAL(LEFT$(TIME$,2))):IFS>12THENS=S-12ELSEIFS=12THENS=0 35 S=S*5+(INT(G/12))-1:IFS=TTHEN12ELSELINE(119,32)-(S(T),T(T)),1:LINE(119,32)-(S(S),T(S)),0:T=S:GOTO12 36 FORC=1TO3:READX3,X4,X5,X6,X7:FORA=0TO59:GOSUB39 37 IFC=1THENX(A)=X1:Y(A)=X2ELSEIFC=2THENM(A)=X1:N(A)=X2ELSES(A)=X1:T(A)=X2 38 NEXT:NEXT:RETURN 39 IFA<8THENF=5:E=AELSEIFA<23THENE=A-7:F=1ELSEIFA<38THENF=2:E=A-22ELSEIFA<53THENF=3:E=A-37ELSEF=4:E=A-52 40 IFF=5THENX2=X4:X1=119+(E*X3) 41 IFF=1THENX1=X5:X2=X4+E*X3: 42 IFF=2THENX2=X6:X1=X5-E*X3 43 IFF=3THENX1=X7:X2=X6-E*X3 44 IFF=4THENX2=X4:X1=X7+E*X3 45 RETURN 46 DATA3,8,143,56,95,2,16,135,48,103,1,24,127,39,111 47 MENU 48 U=1:GOSUB16:PRINT@107,"[A] A.M.":PRINT@147,"[P] P.M.":PRINT@187,"[C] Cancel":GOTO12: 49 IFINSTR("ACP",P)=0THEN12ELSEIFP="C"THENGOSUB16:GOTO14ELSEIFP="A"THENW="a.m."ELSEW="p.m." 50 GOSUB16:PRINT@27,"Alarm: "W 51 K="":PRINT@70,"Format":PRINT@106,"12:00 to 11:59":PRINT@187,"Time:":GOSUB67:IFK=""THEN70 52 ZR=K:ZZ=K+":00":IFW="p.m."THENZZ=MID$(STR$(VAL(ZZ)+12),2)+MID$(ZZ,3)ELSEIFVAL(ZZ)=12THENZZ="00"+MID$(ZZ,3) 53 ONTIME$=ZZGOSUB54:TIME$ON:U=0:GOSUB16:PRINT@146,"Alarm On":PRINT@226,ZR" "W:GOTO14 54 U=4:GOSUB16:LINE(119,32)-(119,10):PRINT@227,"Hit Key":GOTO12 55 I=0:TIME$OFF:GOTO70 56 L=0:GOSUB16:TIME$OFF:U=5:PRINT@27,"stopwatch":PRINT@67,"[S]tart" 57 PRINT@107,"[W]ait":PRINT@147,"[C]ontinue":PRINT@187,"[E]nd" 58 F1=INT(L/60):F2=LMOD60:PRINT@229,"Sec:"F2:PRINT@269,"Min:";F1:IFA2=1ANDL=0THENA2=0:GOTO54ELSE30 59 IFINSTR("SCWE",P)=0THEN12ELSEIFP="E"THEN70ELSEIFP="S"THENL=0:A1=1:ELSEIFP="W"THENA1=0ELSEIFP="C"THENA1=1 60 GOTO12 61 IFA1=1THENL=L+1:GOTO58ELSEL=L-1:GOTO58 62 GOSUB16:TIME$OFF:U=6:PRINT@29,"Timer":PRINT@67,"[S]et-Start":PRINT@107,"[E]ND":PRINT@188,"Time Left":GOTO58 63 IFINSTR("SE",P)=0THEN12ELSEIFP="E"THEN70 64 A2=0:GOSUB16:PRINT@27,"Timer 65 K="":PRINT@67,"Format: MM:SS":PRINT@107,"00:01-99:99":PRINT@187,"SET:":GOSUB67:IFK=""THEN70 66 L=VAL(K)*60+VAL(RIGHT$(K,2)):A2=1:GOTO62 67 U=2:PRINT@193,K+MID$("__:__",LEN(K)+1):GOTO12 68 J=ASC(P):IFJ=13ANDLEN(K)=5THENRETURNELSEIFJ=13ANDLEN(K)=0THEN70ELSEIFLEN(K)>0ANDJ=8THENK=LEFT$(K,LEN(K)-1):GOTO67 69 IFINSTR("1234567890",P)=0THEN71ELSEK=K+P:IFLEN(K)=2THENK=K+":":GOTO67ELSE67 70 GOSUB16:A1=0:A2=0:L=0:GOTO14 71 BEEP:GOTO12