0 'NEC 8201A adaptation by Dave Thomas 1 'GEnie's Laptops RoundTable - 7/22/87 2 SCREEN,0:CLS:CLEAR1000:DEFINTA-Z:DEFSTRW,Z,P,K:DIMX(59),Y(59),M(60),N(60),S(59),T(59) 3 LOCATE 18,4:PRINT"Wait..":P1=CHR$(27)+CHR$(75):GOSUB29:GOTO16 4 IFU=4THENBEEP:I=I+1:IFI=200THEN48 5 P=INKEY$:IFP=""THEN21ELSEGOSUB9:ONUGOTO42,61,10,48,52,56 6 FORAA=1TO5:LOCATE (40*AA+77)MOD40,(40*AA+77)\40:PRINTMID$("[A][T][S][I][M]",AA*3-2,3);:NEXT:U=3:GOTO4 7 RETURN 8 FORAA=0TO7:LOCATE (40*AA+26)MOD40,(40*AA+26)\40:PRINTP1;:NEXT:RETURN 9 IFASC(P)>90THENP=CHR$(ASC(P)-32):RETURNELSERETURN 10 IFINSTR("IASMT",P)=0THEN4ELSEIFP="M"THENMENUELSEIFP="A"THEN41ELSEIFP="S"THEN49ELSEIFP="I"THEN15ELSE55 11 IFA3=0THENRETURNELSELOCATE 3,2:PRINTDAY$:LOCATE 3,3:PRINTDATE$:T$=TIME$:W1="a.m." 12 IFT$>"11:59:59"THENT$=RIGHT$("0"+MID$(STR$(VAL(LEFT$(T$,2))-12),2)+MID$(T$,3),8):W1="p.m." 13 IFLEFT$(T$,2)="00"THENT$="12"+MID$(T$,3) 14 LOCATE 3,4:PRINTT$:LOCATE 7,5:PRINTW1:RETURN 15 IFA3=0THENA3=1:GOTO21ELSEA3=0:FORAA=2TO5:LOCATE (AA*40)MOD40,(AA*40)\40:PRINT" ":NEXT:GOTO21 16 LINE(88,1)-(150,63),1,BF:FORA=2TO6STEP2:LINE(95-A,8-A)-(143+A,56+A),0,B:NEXT: 17 RESTORE39:READX3,X4,X5,X6,X7:FORA=0TO59:GOSUB32:PRESET(X1,X2):NEXT:A1=0:A2=0 18 FORA=9TO39STEP15:FORB=0TO2:C=B+A:LINE(94+C,7)-(94+C,2),B+1 19 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 20 NEXT:NEXT:GOTO6 21 IFTIME$=ZZTHEN47 22 A=INT(VAL(RIGHT$(TIME$,2))):IFA=BTHEN4ELSEB=A:IFA1<>0ORA2<>0THEN54 23 LINE(119,32)-(X(C),Y(C)),1:LINE(119,32)-(X(A),Y(A)),0:PRESET(X(C),Y(C)) 24 IFV<>0THENLINE(119,32)-(M(G),N(G)),0:LINE(119,32)-(S(S),T(S)),0 25 C=A:GOSUB11:G=INT(VAL(MID$(TIME$,4,2))) 26 IFG=HANDV=1THEN4ELSEV=1:LINE(119,32)-(M(G),N(G)),0:LINE(119,32)-(M(H),N(H)),1:H=G 27 S=INT(VAL(LEFT$(TIME$,2))):IFS>12THENS=S-12ELSEIFS=12THENS=0 28 S=S*5+(INT(G/12))-1:IFS=TTHEN4ELSELINE(119,32)-(S(T),T(T)),1:LINE(119,32)-(S(S),T(S)),0:T=S:GOTO4 29 FORC=1TO3:READX3,X4,X5,X6,X7:FORA=0TO59:GOSUB32 30 IFC=1THENX(A)=X1:Y(A)=X2ELSEIFC=2THENM(A)=X1:N(A)=X2ELSES(A)=X1:T(A)=X2 31 NEXT:NEXT:RETURN 32 IFA<8THENF=5:E=AELSEIFA<23THENE=A-7:F=1ELSEIFA<38THENF=2:E=A-22ELSEIFA<53THENF=3:E=A-37ELSEF=4:E=A-52 33 IFF=5THENX2=X4:X1=119+(E*X3) 34 IFF=1THENX1=X5:X2=X4+E*X3: 35 IFF=2THENX2=X6:X1=X5-E*X3 36 IFF=3THENX1=X7:X2=X6-E*X3 37 IFF=4THENX2=X4:X1=X7+E*X3 38 RETURN 39 DATA3,8,143,56,95,2,16,135,48,103,1,24,127,39,111 40 MENU 41 U=1:GOSUB8:LOCATE 27,2:PRINT"[A] A.M.":LOCATE 27,3:PRINT"[P] P.M.":LOCATE 27,4:PRINT"[C] Cancel":GOTO4: 42 IFINSTR("ACP",P)=0THEN4ELSEIFP="C"THENGOSUB8:GOTO6ELSEIFP="A"THENW="a.m."ELSEW="p.m." 43 GOSUB8:LOCATE 27,0:PRINT"Alarm: "W 44 K="":LOCATE 30,1:PRINT"Format":LOCATE 26,2:PRINT"12:00 to 11:59":LOCATE 27,4:PRINT"Time:":GOSUB60:IFK=""THEN63 45 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) 46 U=0:GOSUB8:LOCATE 26,3:PRINT"Alarm On":LOCATE 26,5:PRINTZR" "W:GOTO6 47 U=4:GOSUB8:LINE(119,32)-(119,10):LOCATE 27,5:PRINT"Hit Key":GOTO4 48 I=0:GOTO63 49 L=0:GOSUB8:U=5:LOCATE 27,0:PRINT"stopwatch":LOCATE 27,1:PRINT"[S]tart" 50 LOCATE 27,2:PRINT"[W]ait":LOCATE 27,3:PRINT"[C]ontinue":LOCATE 27,4:PRINT"[E]nd" 51 F1=INT(L/60):F2=LMOD60:LOCATE 29,5:PRINT"Sec:"F2:LOCATE 29,6:PRINT"Min:";F1:IFA2=1ANDL=0THENA2=0:GOTO47ELSE23 52 IFINSTR("SCWE",P)=0THEN4ELSEIFP="E"THEN63ELSEIFP="S"THENL=0:A1=1:ELSEIFP="W"THENA1=0ELSEIFP="C"THENA1=1 53 GOTO4 54 IFA1=1THENL=L+1:GOTO51ELSEL=L-1:GOTO51 55 GOSUB8:U=6:LOCATE 29,0:PRINT"Timer":LOCATE 27,1:PRINT"[S]et-Start":LOCATE 27,2:PRINT"[E]ND":LOCATE 28,4:PRINT"Time Left":GOTO51 56 IFINSTR("SE",P)=0THEN4ELSEIFP="E"THEN63 57 A2=0:GOSUB8:LOCATE 27,0:PRINT"Timer 58 K="":LOCATE 27,1:PRINT"Format: MM:SS":LOCATE 27,2:PRINT"00:01-99:99":LOCATE 27,4:PRINT"SET:":GOSUB60:IFK=""THEN63 59 L=VAL(K)*60+VAL(RIGHT$(K,2)):A2=1:GOTO55 60 U=2:LOCATE 33,4:PRINTK+MID$("__:__",LEN(K)+1):GOTO4 61 J=ASC(P):IFJ=13ANDLEN(K)=5THENRETURNELSEIFJ=13ANDLEN(K)=0THEN63ELSEIFLEN(K)>0ANDJ=8THENK=LEFT$(K,LEN(K)-1):GOTO60 62 IFINSTR("1234567890",P)=0THEN64ELSEK=K+P:IFLEN(K)=2THENK=K+":":GOTO60ELSE60 63 GOSUB8:A1=0:A2=0:L=0:GOTO6 64 BEEP:GOTO4