0 SCREEN,0:MAXFILES=2:GOTO9: 'TODO.PJP by Phil Pearsall [70476,1476] 10/14/84 1 'NEC 8201A adaptation for GEnie's Laptops RoundTable, Dave Thomas - 8-03-87 2 'v2.2 Debugged/enhanced by Richard Brooks & Dave Thomas - 6-16-88 3 W$="" 4 Z$=INPUT$(1):IFASC(Z$)=13THENRETURN 5 IFASC(Z$)=8THENZ$=Z$+" "+CHR$(8):PRINTZ$;:W$=LEFT$(W$,LEN(W$)-1):GOTO4 6 PRINTZ$;:W$=W$+Z$:GOTO4 7 KK=INKEY$:IFVAL(KK)ANDTT=0THEN12ELSEIFVAL(KK)ANDTT=1THEN110ELSERETURN 8 J=INPUT$(1):NA=ASC(J):NN=VAL(J):IFNA<96THENRETURNELSEJ=CHR$(NAAND223):RETURN 9 CLEAR1000:DEFSTRA-M:ONERRORGOTO138:B="NOTE.DO":OPENBFORAPPENDAS1:CLOSE:E=RIGHT$(DATE$,5):DD=E+"/"+LEFT$(DATE$,2):H=CHR$(27)+"p":I=CHR$(27)+"q" 10 P=1:CLS:GOSUB30:TT=0:LOCATE0,7:PRINT"1vue 2ntr 3fon 4lrm 5clc 6cln 7rln 8mnu";:LOCATE1,0:PRINTH;" Appointments & To-Dos ";I 11 LINE(6,7)-(155,56),1,B 12 ONVAL(KK)GOSUB31,42,58,66,76,99,123,29 13 IFEOF(1)THEN15ELSEIFP>6THEN15ELSELINEINPUT#1,L:IFINSTR(L,E)<>0THEN14ELSEIFINSTR(L,"TO-DO")<>0THEN14ELSE13 14 LOCATE2,P:PRINTMID$(L,7,23):P=P+1:GOTO13 15 A="ALARM.DO":LINE(161,0)-(233,56),1,B:LOCATE27,0:PRINTH;" Today is ":LOCATE27,3:PRINT"The Time is ";:LOCATE27,5:PRINT" Alarm ";I 16 LOCATE29,2:PRINTDD:GOSUB124 17 LOCATE29,1:PRINTDY$ 18 M=TIME$:K=LEFT$(TIME$,5):E=RIGHT$(DATE$,5):IFEOF(1)THENCLOSE:OPENAFORINPUTAS1 19 LINEINPUT#1,L:IFINSTR(L," ***")=0THEN20ELSEIFINSTR(L,K)=0THEN20ELSE21 20 IFINSTR(L,E)=0THEN24ELSEIFINSTR(L,K)=0THEN24 21 CLS:LOCATE7,5:PRINTH;" Press Any Key To Silence ";I 22 FORY=2000TO1000STEP-50:J=INKEY$:IFJ<>""THEN23ELSESOUNDY,1:NEXTY:SOUND9999,25:N=N+1:IFN=99THEN9ELSEIFJ=""THEN22 23 LOCATE7,5:PRINTH" Standby, resetting .... "I:IFRIGHT$(TIME$,2)="02"THEN9ELSE23 24 IFM=TIME$THEN24ELSEIF(INSTR(L,E)<>0ORINSTR(L," ***")<>0)ANDTIME$12THENLOCATE27,4:PRINTSTR$(S-12);RIGHT$(M,6)ELSEIFS<10THENLOCATE27,4:PRINTSTR$(S);RIGHT$(M,6)ELSELOCATE28,4:PRINTM; 26 IFS>11THENLOCATE36,4:PRINT"PM";ELSEIFS<12THENLOCATE36,4:PRINT"AM"; 27 GOSUB7 28 IFTIME$="00:00:01"THEN9ELSE18 29 MENU 30 CLOSE:OPENBFORINPUTAS1:RETURN 31 GOSUB30:OPEN"t.do"FORAPPENDAS2:LOCATE17,1:PRINTH;" Select: "I:LOCATE17,2:PRINT" 1)Scan ":LOCATE17,3:PRINT" 2)MM/DD " 32 LOCATE17,4:PRINT" 3)Today ":LOCATE17,5:PRINT" 4)TO-DO ":LOCATE17,6:PRINTSPACE$(8):LOCATE20,6:PRINT"";:LINE(101,7)-(155,56),1,B 33 GOSUB8:N=NN:IFN<1ORN>4THEN33ELSEN=N:ONNGOSUB34,35,36,37 34 K="S":GOTO39 35 GOTO38 36 K=E:GOTO39 37 K="TO-DO":GOTO39 38 GOSUB3:K=W$ 39 IFEOF(1)THENCLOSE:KILLB:NAME"t.do"ASB:GOTO9ELSELINEINPUT#1,L:IFINSTR(L,K)<>0ORK="S"THEN40ELSEPRINT#2,L:GOTO39 40 CLS:N=LEN(L):IFN<40THENLOCATE(40-N)/2,2:PRINTLELSELOCATE0,2:PRINTL 41 LOCATE13,6:PRINTH;" Delete (Y/N) "I;:J=INPUT$(1):IFINSTR("Yy",J)>0THEN39ELSEPRINT#2,L:CLS:GOTO39 42 LOCATE11,4:PRINTH;" Select:< > "I:LOCATE11,5:PRINT" o-Do ":LOCATE11,6:PRINT" ppointment" 43 LINE(66,39)-(155,56),1,B:CLOSE:OPENBFORAPPENDAS1 44 GOSUB8:IFJ="A"THEN45ELSEIFJ="T"THEN47ELSE44 45 CLS:LOCATE12,0:PRINT"Today is "E:LOCATE12,1:PRINT"Time is "K:LOCATE11,3:PRINT"Date: Time: Appointment:":LOCATE11,4:PRINT; 46 GOSUB3:M=W$:PRINT#1,M:CLS:LOCATE9,3:PRINTH" Another Appointment? "I;:GOSUB8:IFJ="Y"THEN45ELSE49 47 CLS:LOCATE11,3:PRINT"To-Do:";:GOSUB3:M=W$:PRINT#1,"TO-DO "M:CLS:LOCATE12,3:PRINTH" Another To-Do? "I; 48 GOSUB8:IFJ="Y"THEN47 49 GOSUB30:DIMA(100):CLS:LOCATE9,4:PRINTH" Reorganizing File "I:N=1:O=11:P=0 50 P=P+1:LINEINPUT#1,A(P):IFEOF(1)THEN51ELSE50 51 CLOSE1:GOSUB52:KILLB:OPENBFOROUTPUTAS1:FORQ=1TOP:PRINT#1,A(Q):NEXT:GOTO9 52 U=P 53 U=INT(U/2):IFU=0THENRETURNELSER=1:S=P-U 54 Q=R 55 T=Q+U:IF(MID$(A(Q),N,(O-N)+1))<(MID$(A(T),N,(O-N)+1))THEN57 56 G=A(Q):A(Q)=A(T):A(T)=G:Q=Q-U:IFQ<1THEN57ELSE55 57 R=R+1:IFR>STHEN53ELSE54 58 CLOSE:OPEN"ADRS.DO"FORINPUTAS1:CLS:LOCATE11,4:PRINTH;" Name "I 59 LINE(66,39)-(155,56),1,B:LOCATE12,5:PRINT"";:GOSUB3:J=W$:IFJ=""THEN59 60 FORP=1TOLEN(J):JA=MID$(J,P,1):IFASC(JA)>96ANDASC(JA)<123THENJA=CHR$(ASC(JA)-32) 61 JJ=JJ+JA:NEXT:J=JJ:JJ="" 62 CLS:LOCATE20,1:PRINT"Home Work" 63 IFEOF(1)THEN65ELSELINEINPUT#1,L:IFINSTR(L,J)<>0THEN64ELSE63 64 PRINTL:GOTO63 65 LOCATE12,6:PRINTH;" Another No.? "I;:GOSUB8:IFJ="Y"THEN58ELSECLOSE:GOTO9 66 C=SPACE$(14):LOCATE12,0:PRINTH;" ** Alarm ** "I:LOCATE12,1:PRINT" et ":LOCATE12,2:PRINT" ancel " 67 FORY=3TO6:LOCATE12,Y:PRINTC:NEXT:LINE(72,7)-(155,56),1,B 68 GOSUB8:IFJ="S"THEN69ELSEIFJ="C"THEN73ELSE68 69 CLOSE:OPENAFORAPPENDAS1:LOCATE15,1:PRINT"aily":LOCATE15,2:PRINT"ingle" 70 GOSUB8:IFJ="D"THEN71ELSEIFJ="S"THEN72ELSE70 71 LOCATE36,4:PRINT"Time:":LOCATE16,5:PRINT"";:GOSUB3:D=W$:PRINT#1," *** "D:CLOSE:GOTO9 72 LOCATE13,4:PRINT"Date: Time:":LOCATE13,5:PRINT"";:GOSUB3:D=W$:PRINT#1,D:CLOSE:GOTO9 73 CLOSE:OPENAFORINPUTAS1:OPEN"temp.do"FORAPPENDAS2 74 IFEOF(1)THENCLOSE:KILLA:NAME"temp.do"ASA:GOTO9ELSELINEINPUT#1,L 75 LOCATE13,4:PRINTLEFT$(L,12):LOCATE12,6:PRINTH;" Cancel (Y/N) "I:GOSUB8:IFJ="Y"THEN74ELSEPRINT#2,L:GOTO74 76 CLS:N=0:A=" TOTAL =":M=" memory=" 77 PRINTH;" ABACUS "I;" to Printer:Y/N?";:GOSUB8:GOSUB91:IFJ="Y"THENR=1:PRINT"(PRINTER ON-LINE)":GOSUB98 78 PRINT" Enter # ";:GOSUB3:G=W$:IFG="M"ORG="m"THENP=NELSEP=VAL(G) 79 F=" ":X=P:T=P:GOSUB91:GOSUB97 80 PRINT"Function:":PRINT" <+><-> <^><%> ew nd" 81 PRINTH;" memory

lus inus ancel "I:LOCATE0,6:PRINT"Select:<> "; 82 GOSUB8:F=J 83 IFF="P"THENN=N+T:GOTO90ELSEIFF="M"THENN=N-T:GOTO90 84 IFF="C"THENN=0:GOTO90ELSEIFF="N"THEN92:ELSEIFF="E"THEN9 85 IFF="%"ORF="5"THEN93ELSEIFF="S"THEN95ELSEIFF="^"ORF="@"THEN96 86 IFF="X"ORF="*"ORF=":"THENF="x":GOTO88ELSEIFF="/"ORF="-"THEN88ELSEIFF="+"ORF=";"ORF=CHR$(13)THENF="+":GOTO88 87 GOTO82 88 GOSUB91:LOCATE8,6:PRINT"Enter # or M ("H;F;" memory "I;")":LOCATE8,2:PRINTF;:GOSUB3:G=W$:IFG="M"ORG="m"THENP=NELSEP=VAL(G):GOSUB97 89 IFF="x"THENT=X*PELSEIFF="/"THENIFP=0THEN90ELSEIFX=PTHENT=1ELSET=X/PELSEIFF="-"THENT=X-PELSEIFF="+"THENT=X+P 90 GOSUB91:GOSUB98:GOTO80 91 CLS:X=T:PRINTH;M;I;N:PRINTA;T:RETURN 92 GOSUB91:GOSUB98:PRINT" Save ";H" memory"I":Y/N?";:GOSUB8:K=J:PRINTK:T=0:IFK="N"THEN76ELSE77 93 CLS:X=T:P=0:GOSUB91:PRINTT"%";:INPUT" of what #";P:Q=T:T=(T/100)*P:IFP=0THENT=X 94 IFR=1THENLPRINTQ"% OF";P;"=";T:GOSUB91:GOTO80ELSE90 95 P=T:T=SQR(T):GOSUB91:LOCATE7,2:PRINT"(SQ. ROOT OF";P;")":IFR=1THENLPRINTT;"= SQ. ROOT OF";P:GOSUB98:GOTO80ELSE80 96 P=T:T=T*T:GOSUB91:LOCATE7,2:PRINT"(SQUARE OF";P;")":IFR=1THENLPRINTT;"= SQUARE OF";P:GOSUB98:GOTO80ELSE80 97 IFR=1THENLPRINT" ";F;P:RETURN 98 IFR=1THENLPRINT"TOT=";T;" MEM=";N:RETURNELSERETURN 99 D="":GOSUB104 100 Y=-INT((14-W)/12):Z=X-32074+INT(1461*(V+4800+Y)/4):Z=Z+INT(367*(W-2-12*Y)/12):N=Z-INT(3*INT((V+4900+Y)/100)/4):RETURN 101 DATAJanuary,31,February,28,March,31,April,30,May,31,June,30,July,31,August,31 102 DATASeptember,30,October,31,November,30,December,31,EOF,-1 103 LINE(6,47)-(137,56),1,B:LOCATE1,6:PRINTH;" Month/Year "I"";:LOCATE13,6:PRINT"";:GOSUB3:D=LEFT$(W$,5) 104 KK="":GOSUB100:RESTORE101:IFD=""THEND=DATE$:O%=VAL(RIGHT$(D,2)):D=MID$(D,4,3)+LEFT$(D,2) 105 P%=INSTR(D,"/"):IFP%<2ORP%>3ORP%=LEN(D)THENBEEP 106 W=VAL(LEFT$(D,P%-1)):V=VAL(RIGHT$(D,LEN(D)-P%)):X=1 107 IFW<1ORW>12ORV<0THENBEEP:GOTO103ELSEIFV<100THENV=V+2000 108 GOSUB100:FORP%=1TOW:READA,Q%:NEXTP%:IFW=2THENQ%=Q%-(0=VMOD4)+(0=VMOD100)-(0=VMOD400) 109 TT=1:CLS:LOCATE0,7:PRINT" 1nxt 2prv 3any 4tdy 5rtn"; 110 ONVAL(KK)GOSUB120,117,103,99,123 111 LINE(6,0)-(137,7),1,BF:LOCATE2,0:PRINTH;A;:LOCATE17,0:PRINTV;I; 112 LOCATE2,1:PRINT"Su Mo Tu We Th Fr Sa":R%=N-7*INT(N/7):PRINTTAB(1);SPACE$(3*R%); 113 FORP%=1TOQ%:IFP%=O%THENPRINT" ";:PRINTH;ELSEPRINT" "; 114 PRINTUSING"##";P%;:IFP%=O%THENPRINTI; 115 R%=R%+1:IFR%>6ANDP%<>Q%THENPRINT:PRINTTAB(1);:R%=0 116 NEXTP%:LINE(6,7)-(137,56),1,B:GOSUB15 117 C=STR$(VAL(LEFT$(D,2))-1):C=RIGHT$(C,2)+"/"+RIGHT$(D,2):D=C:O%=0 118 IFVAL(LEFT$(D,2))=0THENC=STR$(12)+"/"+RIGHT$(STR$(VAL(RIGHT$(D,2))-1),2):D=RIGHT$(C,5) 119 GOTO104 120 C=STR$(VAL(LEFT$(D,2))+1):C=RIGHT$(C,2)+"/"+RIGHT$(D,2):D=C:O%=0 121 IFVAL(LEFT$(D,2))=13THENC=STR$(1)+"/"+RIGHT$(STR$(VAL(RIGHT$(D,2))+1),2):D=RIGHT$(C,5) 122 GOTO104 123 GOTO9 124 XX=VAL(RIGHT$(DATE$,2)):X1=VAL(MID$(DATE$,4,2)):X2=VAL(LEFT$(DATE$,2)) 125 X3=(X2*365)+XX:X4=X1:IFX1<=2THEN127 126 X4=(X4*.4)+2.3:X4=INT(X4):X3=X3-X4:X2=X2+1 127 X1=((X1*31)+(X2-1)/4):X1=INT(X1):X3=X3+X1 128 X5=X3-657845!:W=INT(X5/7):X6=(X5/7)-W:X6=INT(X6*100):X6=INT(X6/7)/2+1 129 ONX6GOTO130,131,132,133,134,135,136 130 DY$="Wednesday":RETURN 131 DY$="Thursday":RETURN 132 DY$=" Friday":RETURN 133 DY$="Saturday":RETURN 134 DY$=" Sunday":RETURN 135 DY$=" Monday":RETURN 136 DY$="Tuesday":RETURN 137 END 138 IFERR=52ANDERL=18THENOPEN"ALARM.DO"FOROUTPUTAS1:PRINT#1," ":CLOSE:RESUME 139 IFERR=54ANDERL=19THENRESUME25 140 CLS:IFERR=52ANDERL=58THENPRINT:PRINT" ADRS.DO with names & numbers missing.":FORX=1TO1000:NEXT:RESUME9 141 IFERR=6THENPRINT:PRINT" Overflow":FORX=1TO1000:NEXT:RESUME76 142 IFERR=5ANDERL=11THENPRINT:PRINT" Whoops! Must have LINE enabled!":END 143 PRINT:PRINT" Error"ERR"in line"ERL:FORX=1TO1000:NEXT:RESUME9