1 POKEMAXRAM-2,MAXFILES:IFMAXFILES<2THENMAXFILES=2 2 CLEARFRE(0)/2:GOSUB194:GOSUB129:GOSUB182 5 RR=0:RH=0:RS=0:ONKEYGOSUB64,65,66,67,68,69,70,71:KEYON:KEYSTOP 6 IFZZ/4=INT(ZZ/4)THENMID$(Q,2,1)="1"ELSEMID$(Q,2,1)="0" 7 Z=M:P=M:IFZ<3THENZ=Z+12:YY=YY-1 8 Z=Z+1:RS=0:D!=INT(365.25*YY)-INT(YY/100)+INT(YY/400)+INT(30.6*Z)+1-478164 9 W=INT(7.1*(D!/7-INT(D!/7)))+1:ML=28+VAL(MID$(Q,M,1)):YY=ZZ+1900 10 CLS:PRINTEQ;VO" S M T W T F S":J=2-W 11 FORX=1TO7:IFJ=D%THENPA=CSRLIN*40+POS(0):PD=X:PT=J 12 IFJ<1ORJ>MLTHENPRINT" ";ELSEPRINTUSING" ##";J; 13 J=J+1:NEXTX:IFJ<=MLTHENPRINT" ":GOTO11ELSEO=0:LINE(153,5)-(205,33),1,B 14 PRINT@224,TL" V "VR:PRINT@67,MID$(M$,(M-1)*3+1,3)" "MID$(STR$(ZZ),2) 15 PRINTEU;:PRINT@280,ET;L1; 16 KEYON:IFRSORRRTHEN5ELSEPRINT@146,TIME$;:PRINTVI; 17 IFRSORRRTHEN5ELSEPRINT@PA,USING" ## ";PT;:PRINTVO; 18 IFRSORRRTHEN5ELSECM=INKEY$ 19 IFRSORRRTHEN5ELSEKEYSTOP 20 IFLEN(CM)=0THENFORX=1TO25:NEXTX:GOTO16 21 IFCM=" "THENCM=CHR$(28) 22 IFCM=CHR$(13)THENGOSUB64:GOTO5 23 ONINSTR(AR,CM)+1GOTO24,25,25,31,36,40,25,31,36,40,25,31,36,40,25 24 BEEP:GOTO16 25 PRINT@PA,USING" ## ";PT;:PA=PA-3:D%=D%-1:IFD%>0THEN29 26 M=M-1:IFM<1THENYY=YY-1:ZZ=ZZ-1:M=12 27 D%=28+VAL(MID$(Q,M,1)):IFYY/4=INT(YY/4)ANDM=2THEND%=D%+1 28 GOTO5 29 P1=PAMOD40:PT=D%:IFP1<0ORP1>18THENPA=PA-19 30 GOTO16 31 PRINT@PA,USING" ## ";PT;:PA=PA+3:D%=D%+1:IFD%<=MLTHEN34 32 D%=1:M=M+1:IFM>12THENM=1:YY=YY+1:ZZ=ZZ+1 33 GOTO5 34 PT=D%:P1=PAMOD40:IFP1>18THENPA=INT(PA/40)*40+40 35 GOTO16 36 PRINT@PA,USING" ## ";PT;:D%=D%-7:PA=PA-40:IFD%>0THEN29 37 M=M-1:IFM<1THENZZ=ZZ-1:YY=YY-1:M=12 38 D%=D%+28+VAL(MID$(Q,M,1)):IFM=2ANDYY/4=INT(YY/4)THEND%=D%+1 39 GOTO5 40 PRINT@PA,USING" ## ";PT;:D%=D%+7:PA=PA+40:IFD%<=MLTHEN34 41 M=M+1:IFM>12THENZZ=ZZ+1:YY=YY+1:M=1 42 D%=D%-ML:GOTO5 43 RR=0:KEYSTOP:SCREEN,0:PRINT@280,ET;L5;:ONKEYGOSUB63,63,63,63,63,63,61,62:KEYON:K1=0 44 PRINT@P1,EP;:L=STRING$(255,0):MID$(L,1,LEN(A))=A:I=1:IFFATHEN57 45 K2=0:KEYON:IFRRTHEN63ELSEKF=PEEK(KA)AND48:IFKF=K1THEN49 46 P2=CSRLIN*40+POS(0):PRINT@0,EU;:KF=PEEK(KA):IF(KFAND32)>0THENPRINT@280,VI"Caps"VO;ELSEPRINT@280,SPACE$(5); 47 IF(KFAND16)>0THENPRINT@285,ET;VI"Num";VO;ELSEPRINT@285,ETSPACE$(5); 48 PRINT@P2,;:K1=KF 49 KEYSTOP:IFK2THEN58ELSECH=INKEY$:IFLEN(CH)=0THEN45 50 X=ASC(CH):ONINSTR(AR,CH)+1GOTO51,54,54,55,51,51,56,57,51,51,56,57,51,51,53 51 IFX=13THEN59ELSEIFX=9THENMID$(L,I,1)=CH:I=I+1:GOTO58ELSEIFX=27THENMID$(L,I,255-I)=" "+MID$(L,I,255-I):GOTO58 52 IFX<32THENBEEP:GOTO45ELSETC=MID$(L,I,1):MID$(L,I,1)=CH:I=I+1:IFTC=CHR$(9)THEN58ELSEPRINTCH;:GOTO45 53 MID$(L,I,255-I)=MID$(L,I+1)+CHR$(0):GOTO58 54 IFI=1THENBEEP:GOTO45ELSEI=I-1:X=ASC(MID$(L,I,1)):IFX<32THEN58ELSEPRINTCHR$(8);:GOTO45 55 CH=MID$(L,I,1):GOTO50 56 I=1:GOTO58 57 FORI=1TOLEN(L):IFASC(MID$(L,I))>0THENNEXTI:I=I-1:GOTO58ELSE58 58 K2=0:PRINT@P1,EQ;MID$(L,1,I-1);:PB=CSRLIN*40+POS(0):PRINTMID$(L,I)EJ;:PRINT@PB,EP;:GOTO45 59 FORI=1TO255:IFASC(MID$(L,I))>0THENNEXTI 60 L=LEFT$(L,I-1):PRINTEU;:SCREEN,0:KEYSTOP:GOTO63 61 KEYSTOP:PRINT@0,EU;:PRINT@310,VI"Eras"VO;:MID$(L,I,255-I)=STRING$(255-I,0):PRINT@310,ET"Eras";:K2=-1:RETURN 62 RR=-1:SCREEN,0:PRINT@315,ET;VI"Abrt"VO; 63 PRINT@0,EQ;:KEYSTOP:RETURN 64 F=0:GOTO72 65 F=1:GOTO72 66 F=2:GOTO72 67 F=3:GOTO72 68 F=4:GOTO72 69 F=5:GOTO72 70 F=6:GOTO72 71 F=7:GOTO72 72 KEYSTOP:PRINT@0,EU;:PRINT@280+F*5,ET;VI;MID$(L1,F*5+1,4);VO;:ONF+1GOTO73,128,148,153,155,157,159,161 73 SR=0:RR=0:RS=0:PRINTVO;:CLS:DW=MID$(D,PAMOD40+1,3):L2=SPACE$(39):CLOSE:OPENDFFORINPUTAS1:ND=0:NE=0:NM=0 74 DT=RIGHT$("0"+MID$(STR$(M),2),2)+"/"+RIGHT$("0"+MID$(STR$(D%),2),2):IFASC(DT)=48THENDT=RIGHT$(DT,4) 75 ONKEYGOSUB102,103,104,105,106,107,108,109:KEYON:IFNOTRHTHENQS=DT 76 FL=0:IFEOF(1)THEN81ELSENE=NE+1:LINEINPUT#1,A:PRINT@28,USING"Record ####";NE;:IFRHTHENGOSUB150ELSEGOSUB114 77 IFFDTHEN76 78 NM=NM+1:PRINT@80,A;EJ;:RR=0:KK=0:FL=-1:L2=L3:GOSUB112:IFRHTHENPRINT@0,"Search "DF;ELSEPRINT@0,"Diary for "DT" ("DW"):"; 79 G=INKEY$:IFSRTHEN73ELSEG=INKEY$:IFRRTHENNM=NM-1:GOTO78ELSEG=INKEY$:IFKKTHEN76 80 G=INKEY$:IFRSTHEN125ELSE79 81 IFNM=0ANDRHTHENPRINT@40,QS" not found in "DF;EJELSEIFNM=0THENPRINT@40,DT" not found in "DF" file"EJ:ELSEPRINT@80,NM"entries found" 82 PRINTEJ:IFND>0THENPRINTND"entries deleted" 83 L2=L4:GOSUB112::FL=0 84 G=INKEY$:IFSRTHEN73ELSEG=INKEY$:IFRSTHEN125ELSEG=INKEY$:IFRRTHEN73ELSE84 85 RR=0:IFNOTFLTHENRETURNELSEFL=0:FA=0:P1=80:GOSUB43:IFRRTHEN91 86 GOSUB113:CLOSE:OPEN"RAM:$$TEMP"FOROUTPUTAS2:OPENDFFORINPUTAS1:N=0 87 IFEOF(1)THEN89ELSELINEINPUT#1,B:N=N+1:IFNE=NTHENB=L:L=STRING$(255,0) 88 PRINT#2,B:GOTO87 89 CLOSE:KILL"RAM:"+DF:NAME"RAM:$$TEMP.DO"AS"RAM:"+DF 90 CLOSE:OPENDFFORINPUTAS1:PRINT@0,EQ;:FORX=1TONE:LINEINPUT#1,A:NEXTX 91 RR=-1:RS=0:RETURN 92 PRINT@40,EJ;EU;:PRINT@300,VI"Add"VO;:FA=-1:A=DT:FL=FA:PRINT@80,EJ;A;:P1=80:GOSUB43:IFRRTHEN90 93 GOSUB113:CLOSE:OPENDFFORAPPENDAS1:PRINT#1,L:CLOSE:FA=0:GOTO90 94 IFNOTFLTHENRETURNELSEPRINTEU;:PRINT@280,ET;EK"Confirm deletion of this entry (Y/N): "EP; 95 IFLEN(INKEY$)>0THEN95ELSEFL=0 96 CF=INKEY$:IFLEN(CF)=0THEN96ELSEONINSTR("YyNn",CF)+1GOTO97,98,98,101,101 97 BEEP:GOTO96 98 PRINTEQ"Y";:CLOSE:ND=ND+1:N=0:OPENDFFORINPUTAS1:OPEN"RAM:$$TEMP"FOROUTPUTAS2 99 IFEOF(1)THENKK=-1:NE=NE-1:GOTO89ELSEN=N+1:LINEINPUT#1,B:IFN<>NETHENPRINT#2,B 100 GOTO99 101 PRINTEQ"N";:RR=-1:RETURN 102 F=0:GOTO110 103 F=1:GOTO110 104 F=2:GOTO110 105 F=3:GOTO110 106 F=4:GOTO110 107 F=5:GOTO110 108 F=6:GOTO110 109 F=7:GOTO110 110 KEYSTOP:L6=MID$(L2,F*5+1,4):IFL6=SPACE$(4)THENKEYON:RETURNELSEPRINT@0,EU;:PRINT@280+F*5,ET;VI;L6;VO; 111 ONF+1GOTO126,128,127,85,92,94,127,125:RETURN 112 SCREEN,0:ONKEYGOSUB102,103,104,105,106,107,108,109:KEYON:PRINT@280,ET;L2;:RETURN 113 PRINT@280,ET;VI"Updating..."VO;EJ;:RETURN 114 QS=DT:FD=(INSTR(A,DT)=0):RETURN 115 PS=INSTR(PS+1,A,DL):IFPS=0THENRETURNELSED1="00/0 ":MID$(D1,3,1)=DL 116 IFPS>1THENMID$(D1,2,1)=MID$(A,PS-1,1) 117 IFPS>2THENMID$(D1,1,1)=MID$(A,PS-2,1) 118 IFPS0THENFD=0ELSEFD=-1 151 RETURN 152 RS=-1:RETURN 153 D%=1:M=M-1:IFM<1THENM=12:YY=YY-1:ZZ=ZZ-1 154 RS=-1:RETURN 155 M=M+1:D%=1:IFM>12THENM=1:YY=YY+1:ZZ=ZZ+1 156 RS=-1:RETURN 157 DH=DF:DF=AF:GOSUB148:DF=DH 158 RS=-1:RETURN 159 CLS:POWEROFF,RESUME 160 RS=-1:RETURN 161 CLEAR0,MAXRAM:MENU 162 GOSUB175:AU="larry gensch":TL="Diary":VR="4.00":DF="NOTE .DO":AF="ADRS .DO":DG="0123456789" 163 M$="":Y=23273:X=VARPTR(M$):POKEX,36:GOSUB178:D="":Y=6520:X=VARPTR(D):POKEX,21:GOSUB178 164 Q="303232332323":KA=-94:E=CHR$(27):VI=E+"p":VO=E+"q":ET=E+"T":EU=E+"U":EP=E+"P":EQ=E+"Q":EJ=E+"J":EK=E+"K" 165 RESTORE:READN:AR=STRING$(N,0):FORX=1TON:READI:MID$(AR,X,1)=CHR$(I):NEXTX:DATA14,8,29,28,30,31,1,6,20,2,17,18,23,26,127 166 M=VAL(LEFT$(DATE$,2)):D%=VAL(MID$(DATE$,4,2)):ZZ=VAL(RIGHT$(DATE$,2)):YY=ZZ+1900 167 L1="View Srch Prev Next Adrs Off Menu" 168 L3="Next"+SPACE$(11)+"Chg Add Del"+SPACE$(7)+"Exit" 169 L4=SPACE$(20)+"Add"+SPACE$(12)+"Exit" 170 L5=SPACE$(30)+"Eras Abrt" 172 OPENDFFORINPUTAS1 173 CLOSE:RETURN 174 TIME$OFF:KEYSTOP:SOUND1240,5:SOUND0,5:SOUND1240,5 175 TM="00:00:00":HH=VAL(TIME$)+1:IFHH>23THENHH=0 176 MID$(TM,1,2)=RIGHT$("0"+MID$(STR$(HH),2),2):ONTIME$=TMGOSUB174:TIME$ON:KEYON 177 RETURN 178 POKEX+1,YMOD256:POKEX+2,Y/256:RETURN 179 IFERL=3THENRESUME4 180 IFERL<>172THENPRINT"Error"ERR"in line "ERL:STOP 181 CLS:PRINTDF" not found - creating...":CLOSE:OPENDFFOROUTPUTAS1:PRINT:PRINT"Any key to continue";:A=INPUT$(1):RESUME173 182 TF=SPACE$(8):RV=VARPTR(TF):RF=0:RA=0:FORRB=-1694TO-1408STEP11:IFPEEK(RB)<>160THEN185ELSERC!=RB+65539 184 POKERV+2,RC!/256:POKERV+1,RC!-PEEK(RV+2)*256:IFTF="DIARY CO"THENRF=-1:RA=RB+1:RB=-1408 185 NEXTRB:IFRFTHENRA=PEEK(RA)+PEEK(RA+1)*256-65536:RA=PEEK(RA)+PEEK(RA+1)*256-65536:IFRA+65536>=HIMEMTHEN191 186 IFRFTHENCLEAR500,RA:RA=HIMEM:GOTO191 187 RA=HIMEM-32-65536:GOSUB190:CLEAR500,RA:RA=HIMEM:RESTORE189:FORRB=RATORA+30:READRC:POKERB,RC:NEXT 188 A%=(RA+10)/256:B%=(RA+10)-A%*256:FORC=19TO29STEP5:POKEC+RA,B%:POKEC+RA+1,A%:NEXT:SAVEM"Diary",RA,RA+30,0 189 DATA 70,35,94,35,86,235,43,62,223,79,35,120,183,200,5,126,254,97,218,152,245,254,122,210,152,245,161,119,195,152,245 190 TF="RUN"+CHR$(13):FORRB=0TO3:RV=RB*2-85:POKERV,ASC(MID$(TF,RB+1)):POKERV+1,0:NEXT:POKE-86,4:RETURN 191 RESTORE193:READTF:RV=VARPTR(TF):RP=PEEK(RV+1)+PEEK(RV+2)*256-65536:TF=SPACE$(6):MID$(TF,1,10)=STR$(RA) 192 FORRB=1TO6:POKE RP+RB-1,ASC(MID$(TF,RB)):NEXTRB:LOADM"Diary":GOSUB194:RESTORE193:READTF:RA=VAL(TF):RESTORE:GOTO5 193 DATA"-2832 " 194 DEFINTF-Z:DEFSTRA-E,G,L,Q,T,V:DIMA(255),P(5):ONERRORGOTO179:SCREEN,0:CLS:GOSUB162:RETURN