10 *TV255 20 *FX18 30 *FX21 40 *KEY10"OLD|MPROCfinish|M" 50 *FX4,1 60 *FX229,1 70 *FX225,200 80 *FX226,210 90 *FX227,220 100 MODE7 120 DIM dd%(12,2) 130 RESTORE 140 FOR N%=0TO12:READdd%(N%,1),dd%(N%,2):NEXT 150 days$="MONDAY TUESDAY WEDNESDAYTHURSDAY FRIDAY SATURDAY SUNDAY " 160 months$="JANUARY FEBRUARY MARCH APRIL MAY JUNE JULY AUGUST SEPTEMBEROCTOBER NOVEMBER DECEMBER " 180 epson%=0 182 sysclk%=0 184 L%=1:P%=1 185 dfs%=0 186 ONERROR:GOTO194 190 F%=OPENIN":0.$.Diary.DIDATA":INPUT#F%,L%,P%,epson%,sysclk%:CLOSE#F% 194 ONERROR:VDU7 196 VDU23;10,&60;0;0;0 200 PROCstart 210 PROCinit 220 : 230 REPEAT 240 REPEAT 250 H%=0 260 PROCnewpage(L%,P%) 270 $W%="$.Diary."+MID$(months$,P%*9-8,3) 280 PROCload 290 PROCgettop 300 VDU30,157,129 310 PRINT"elp ndex

rint <['> [ ] " 320 REPEAT 330 Q%=GET 340 UNTILINSTR("HIPhip",CHR$(Q%))ORQ%=13ORQ%=27ORQ%>135 350 IFQ%>127:T%=0 360 IFQ%=72ORQ%=104:PROChelp1 370 IFQ%=73ORQ%=105:PROCindex 380 IFQ%=80ORQ%=112:PROCvprint 390 IFQ%=27:run 400 IFQ%=136:L%=L%-1 410 IFQ%=137:L%=L%+1 420 IFQ%=138:P%=P%-1 430 IFQ%=139:P%=P%+1:IFP%>12:P%=1:L%=1 440 IFL%<1:P%=P%-1:L%=dd%(P%,2) 450 IFL%>dd%(P%,2):L%=1:P%=P%+1 460 IFP%<1:P%=12:L%=dd%(P%,2) 470 IFP%>12:P%=1:L%=1 480 UNTILQ%=13 AND H%=0 490 VDU30:PRINT$&A00:PRINTTAB(2,2); 500 E%=E%EOR1:VDU23,1,E%;0;0;0; 510 REPEAT 520 a%=GET:A%=a% 530 IFA%<>27:PROCkeys 540 UNTILA%=27 550 PROCsave 560 E%=E%EOR1:VDU23,1,E%;0;0;0; 570 UNTILFALSE 580 : 590 DEFPROCgettop 600 $&A00="" 610 FORI%=0TO39 620 $&A00=$&A00+CHR$(?(&7C00+I%)) 630 NEXT 640 ENDPROC 650 : 660 DEFPROCvprint 670 VDU30:PRINT$&A00:VDU30,9,9 680 PROCprint 690 ENDPROC 700 : 710 DEFPROCkeys 720 IFA%=16:PROCprint:ENDPROC 730 IFA%=3:PROCnewpage(L%,P%):PROCgettop:ENDPROC 740 IFA%=13ANDVPOS=24:VDU7:ENDPROC 750 IFA%=13:VDU10,13,8:PROCright:ENDPROC 760 IFINSTR("QWASZXqwaszx",CHR$(a%))<>0ANDt%:PROCpixel:ENDPROC 770 IFA%=136:PROCleft:ENDPROC 780 IFA%=137:PROCright:ENDPROC 790 IFA%=138:PROCdown:ENDPROC 800 IFA%=139:PROCup:ENDPROC 810 IFa%>=200ANDa%<=229:PROCfkeys 820 IFA%=127:PROCdelete:ENDPROC 830 IFA%=226:PROCinspc:ENDPROC 840 IFA%=227:PROCinsline:ENDPROC 850 IFA%=228:PROCdelline:ENDPROC 860 IFA%=209ORA%=219ORA%=229:PROCptog:ENDPROC 870 IFE%=0:VDU7:ENDPROC 880 IFVPOS=24ANDPOS=39ANDt%=0:?(&7C27+40*24)=A%:VDU7:ENDPROC 890 IFt%=0:VDUA%,8:PROCright 900 ENDPROC 910 : 920 DEFPROCfkeys 930 IFa%>=200ANDa%<=208:A%=a%-71 940 IFa%>=210ANDa%<=216:A%=a%-65 950 IFa%>=217ANDa%<=218:A%=a%-61 960 IFa%>=220ANDa%<=221:A%=a%-67 970 IFa%>=222ANDa%<=223:A%=a%-64 980 IFa%>=224ANDa%<=225:A%=365-a% 990 ENDPROC 1000 : 1010 DEFPROCpixel 1020 LOCALW% 1030 W%=2^((INSTR("QWASZ X",CHR$(A%AND223)))-1) 1040 K%=&7C00+40*VPOS+POS 1050 IF(?K%AND160)<>160:?K%=?K%OR160 1060 IF?(K%ANDW%)=W%:?K%=?K%AND(255-W%)ELSE?K%=?K%EORW% 1070 ENDPROC 1080 : 1090 DEFPROCptog 1100 t%=t%EOR1 1110 IFt%:VDU23;10,&70;0;0;0 ELSE VDU23;10,&60;0;0;0 1120 ENDPROC 1130 : 1140 DEFPROCleft 1150 IFPOS>2:VDU8:ENDPROC 1160 IFVPOS>2:VDU31,39,VPOS-1ELSEVDU7 1170 ENDPROC 1180 : 1190 DEFPROCright 1200 IFPOS<39:VDU9:ENDPROC 1210 IFVPOS<24:VDU9,9,9ELSEVDU7 1220 ENDPROC 1230 : 1240 DEFPROCdown 1250 IFVPOS<24:VDU10ELSEVDU7 1260 ENDPROC 1270 : 1280 DEFPROCup 1290 IFVPOS>2:VDU11ELSEVDU7 1300 ENDPROC 1310 : 1320 DEFPROCdelete 1330 IFPOS=2ANDVPOS=2:VDU7:ENDPROC 1340 org%=&7C00+40*VPOS 1350 IFPOS=2:PROCleft ELSE FORI%=POS TO 39:?(org%+I%-1)=?(org%+I%):NEXT:VDU8 1360 ?(&7C27+VPOS*40)=32 1370 ENDPROC 1380 : 1390 DEFPROCinspc 1400 dest%=&7C27+40*VPOS 1410 org%=&7C00+40*VPOS+POS 1420 diff%=dest%-org% 1430 FORI%=0TOdiff% 1440 ?(dest%-I%)=?(dest%-I%-1) 1450 NEXT 1460 ?org%=32 1470 ENDPROC 1480 : 1490 DEFPROCinsline 1500 LOCALP% 1510 org%=&70:dest%=&74:end%=&78:stop%=&7C 1520 !org%=&7C27+40*23 1530 !dest%=&7C27+40*24 1540 !end%=&7C02+40*VPOS 1550 !stop%=&7C27+40*VPOS 1560 FORI%=0TO2STEP2 1570 P%=&980 1580 [OPTI% 1590 LDY#0 1600 .loop 1610 LDA(org%),Y:STA(dest%),Y 1620 LDAorg%::BNEd1 1630 DECorg%+1 1640 .d1 1650 DECorg% 1660 LDAdest%:BNEd2 1670 DECdest%+1 1680 .d2 1690 DECdest% 1700 LDAorg%+1:CMPend%+1:BNEloop 1710 LDAorg%:CMPend%:BCSloop 1720 RTS 1730 ]NEXT 1740 CALL&980 1750 REPEAT 1760 ?!end%=32 1770 !end%=!end%+1 1780 UNTIL!end%=!stop%+1 1790 ENDPROC 1800 : 1810 DEFPROCdelline 1820 LOCALP% 1830 org%=&70:dest%=&74:end%=&78:stop%=&7C 1840 !org%=&7C02+40*(VPOS+1) 1850 !dest%=&7C02+40*VPOS 1860 !end%=&7C27+40*24 1870 !stop%=&7C02+40*24 1880 FORI%=0TO2STEP2 1890 P%=&980 1900 [OPTI% 1910 LDY#0 1920 .loop 1930 LDA(org%),Y:STA(dest%),Y 1940 INCorg%::BNEd1:INCorg%+1 1950 .d1 1960 INCdest%:BNEd2:INCdest%+1 1970 .d2 1980 LDAend%+1:CMPorg%+1:BNEloop 1990 LDAend%:CMPorg%:BCSloop 2000 RTS 2010 ]NEXT 2020 CALL&980 2030 REPEAT 2040 ?!end%=32 2050 !end%=!end%-1 2060 UNTIL!end%=!stop%-1 2070 ENDPROC 2080 : 2090 DEFPROCprint 2100 O%=&7C00:o%=0:graphic%=0:sep%=0 2110 VDU2 2120 IFepson%:VDU1,27,1,48 2130 FORl%=1TO25 2140 FORc%=1TO40 2150 d%=?(O%+o%) 2160 IFd%<32:d%=32 2170 IFepson%=0 AND (d%<32ORd%>126):d%=32 2180 IFd%>127ANDepson%:PROCeprint 2190 IFd%=91ANDepson%:d%=0:VDU1,27,1,75,1,8,1,0,1,0,1,&10,1,&38,1,&54,1,&10,1,&10,1,&10,1,&10 2200 IFd%=93ANDepson%:d%=0:VDU1,27,1,75,1,8,1,0,1,0,1,&10,1,&10,1,&10,1,&10,1,&54,1,&38,1,&10 2210 VDU1,d% 2220 o%=o%+1 2230 NEXT 2240 REM IFepson%:VDU1,10 2250 VDU1,13:graphic%=0:sep%=0 2260 NEXT 2270 IFepson%:VDU1,27,1,50 2280 VDU1,13,3 2290 ENDPROC 2300 : 2310 DEFPROCeprint 2320 IFd%=&80:d%=32:ENDPROC 2330 IFd%>&80 AND d%<&88:graphic%=0:d%=32:ENDPROC 2340 IFd%>&87 AND d%<&91:d%=32:ENDPROC 2350 IFd%>&90 AND d%<&98:graphic%=1:d%=32:ENDPROC 2360 IFd%=&99:sep%=0 2370 IFd%=&9A:sep%=1 2380 IFd%>&97 AND d%<&A0:d%=32:ENDPROC 2390 IFd%>&BF AND d%<&E0:d%=32:ENDPROC 2400 IFgraphic%=0:d%=32:ENDPROC 2410 PROCpixprint:d%=0 2420 ENDPROC 2430 : 2440 DEFPROCpixprint 2450 REM******* FOR EPSON PRINTER ****** 2460 flag%=0 2470 FORn%=0TO6 2480 flag%=flag%+(d%AND2^n%) 2490 NEXT 2500 : 2510 VDU1,27,1,ASC"^",1,0,1,6,1,0 2520 pr%=0 2530 IFflag%AND1:pr%=pr%+&E0-(sep%*&20) 2540 IFflag%AND4:pr%=pr%+&1C-(sep%*&04) 2550 IFflag%AND16:pr%=pr%+&8003-(sep%*&8000) 2560 IFsep%:VDU1,0,1,0 2570 FORn%=sep%TO2 2580 VDU1,pr%AND&FF 2590 VDU1,(pr%AND&FF00)DIV&100 2600 NEXT 2610 pr%=0 2620 IFflag%AND2:pr%=pr%+&E0-(sep%*&20) 2630 IFflag%AND8:pr%=pr%+&1C-(sep%*&04) 2640 IFflag%AND64:pr%=pr%+&8003-(sep%*&8000) 2650 IFsep%:VDU1,0,1,0 2660 FORn%=sep%TO2 2670 VDU1,pr%AND&FF 2680 VDU1,(pr%AND&FF00)DIV&100 2690 NEXT 2700 ENDPROC 2710 : 2720 DEFPROCnewpage(d%,m%) 2730 VDU30 2740 FORD%=1TO24 2750 PRINTCHR$(157)CHR$(132)STRING$(38," "); 2760 NEXT 2770 PRINTCHR$(157)CHR$(132)STRING$(37," "); 2780 ?(&7C27+40*24)=32 2790 PRINTTAB(0,1); 2800 day%=(dd%(m%,1)+d%-1)MOD7:IFday%=0 day%=7 2810 PRINTCHR$(157)CHR$(133)" "MID$(days$,day%*9-8,9)" "STR$(d%)" "MID$(months$,m%*9-8,9)" "STR$(dd%(0,1)) 2820 PRINTTAB(2,2); 2830 ENDPROC 2840 : 2850 DEFPROCindex 2860 oldL%=L%:oldP%=P% 2870 P%=1:REPEAT:L%=1:REPEAT 2880 PROCnewpage(L%,P%) 2890 $W%=MID$(months$,P%*9-8,3) 2900 T%=0:PROCload 2910 Q%=INKEY(100) 2920 IFQ%=27:P%=12:L%=31 2930 IFQ%=135:oldL%=L%:oldP%=P%:P%=12:L%=31 2940 IFQ%=136:IFL%>=2:L%=L%-2:Q%=0 2950 IFQ%=136:IFL%=1ANDP%>1:P%=P%-1:L%=dd%(P%,2)-1 2960 IFQ%=137:IFL%1:P%=P%-1:L%=L%-1:IFL%>dd%(P%,2)-1:L%=dd%(P%,2)-1 2980 IFQ%=139:L%=dd%(P%,2) 2990 L%=L%+1:UNTILL%>dd%(P%,2):P%=P%+1:UNTILP%>12 3000 L%=oldL%:P%=oldP% 3010 T%=0:Q%=0 3020 ENDPROC 3030 : 3040 DEFPROCload 3050 IFP%<7ANDdfs%:*DR.0 3060 IFP%>6ANDdfs%:*DR.2 3070 X%=W%MOD256 3080 Y%=W%DIV256 3090 A%=&C0 3100 F%=(USR&FFCE)AND&FF 3110 PROCdisc(4,&398) 3120 PRINTTAB(2,2); 3130 VDU23,1,E%;0;0;0; 3140 CLOSE#F% 3150 ENDPROC 3160 : 3170 DEFPROCsave 3180 IFP%<7ANDdfs%:*DR.0 3190 IFP%>6ANDdfs%:*DR.2 3200 X%=W%MOD256 3210 Y%=W%DIV256 3220 A%=&C0 3230 F%=(USR&FFCE)AND&FF 3240 T%=0 3250 IFE%:PROCdisc(2,&398) 3260 CLOSE#F% 3262 F%=OPENOUT":0.$.Diary.DIDATA":PRINT#F%,L%,P%,epson%,sysclk%:CLOSE#F% 3270 ENDPROC 3280 : 3290 DEFPROCdisc(A%,K%) 3300 PTR#F%=(L%-1)*&398 3310 B%?0=F% 3320 B%!1=&7C50 3330 B%!5=K% 3340 X%=B%MOD256 3350 Y%=B%DIV256 3360 CALL&FFD1 3370 ENDPROC 3380 : 3390 DEFPROCstart 3400 REM "𓇣𙹁𠪟6 3410 REM "‹솬456 3420 E%=0:VDU23,1,0;0;0;0; 3430 REPEAT 3440 VDU30 3450 PRINT"儩 "; 3460 PRINT"儩 暆 儩"; 3470 PRINT"儩両nstructions 暆 儩"; 3480 PRINT"儩慲``````````` 暆 儩"; 3490 PRINT"儩両nstall your 暆 儩"; 3500 PRINT"儩乸reprepared disc暆 j`,0 儩"; 3510 PRINT"儩乥efore running 暆 j 5 儩"; 3520 PRINT"儩乼he program or 暆 j 5b 6i 6!5j 儩"; 3530 PRINT"儩乮nstall a blank 暆 jp,!j e:05 ez 儩"; 3540 PRINT"儩乫ormatted disc 暆 j 儩"; 3550 PRINT"儩乤nd select item 暆 `! 儩"; 3560 PRINT"儩5 to prepare 暆 儩"; 3570 PRINT"儩亂our hard drive.暆 儩"; 3580 PRINT"儩 暆 儩"; 3582 PRINT"儩乀his version is 暆 儩"; 3584 PRINT"儩乷nly for hard 暆 儩"; 3586 PRINT"儩乨rives. 暆 儩"; 3588 PRINT"儩 暆 儩"; 3590 PRINT"儩 暆 儩"; 3610 PRINT"儩丱pen Diary 暆 儩"; 3612 PRINT"儩丷ead TIME$ NO 暆 儩"; 3620 PRINT"儩丒pson 9pin NO 暆 儩"; 3630 PRINT"儩* Command 暆 儩"; 3640 PRINT"儩丳repare Disc 暆 儩"; 3690 PRINT"儩 "; 3700 PRINTTAB(32,5)STR$(dd%(0,1)) 3702 IFsysclk%:PRINTTAB(16,20)"YES"; 3710 IFepson%:PRINTTAB(16,21)"YES"; 3720 O%=&7C00+40*19:S%=-1 3730 REPEAT 3740 S%=S%+1:IFS%=5:S%=0 3750 ?(O%+S%*40)=32 3760 Q%=GET 3770 ?(O%+S%*40)=131 3780 UNTILQ%=13 3790 IFS%=0:ENDPROC 3792 IFS%=1:sysclk%=sysclk%EOR1:GOTO 3950 3800 IFS%=2:epson%=epson%EOR1:GOTO 3950 3810 IFS%=3:PROCoscli 3820 CLS 3825 F%=OPENIN"$.Diary":CLOSE#F%:IF F%<>0 VDU7:CLS:PRINT"A diary file or directory already existson this disc. Please remove or rename it and try again.":END ELSE *CDIR $.Diary 3830 B%=&900:W%=&9F0 3840 FORP%=1TO12 3850 IFP%<7ANDdfs%:*DR.0 3860 IFP%>6ANDdfs%:*DR.2 3870 file$="$.Diary."+MID$(months$,P%*9-8,3) 3880 F%=OPENOUTfile$ 3890 FORL%=1TOdd%(P%,2) 3900 PROCnewpage(L%,P%) 3910 PROCdisc(2,&398) 3920 NEXT 3930 CLOSE#F% 3940 NEXT 3941 L%=1:P%=1 3942 IFdfs%:*DR.0 3950 UNTILFALSE 3960 ENDPROC 3970 : 5000 REM "𓇣𙹁𠪟6 5010 REM "‹솬456 5020 DEFPROChelp1 5030 VDU30,23,1,0;0;0;0; 5040 PRINT"潄 "; 5050 PRINT"潟 j`,0 j 5 "; 5060 PRINT"潟 j 5 jpp5 j "; 5070 PRINT"潟 j 5b 6i 6!5j j``5h`4j _0 "; 5080 PRINT"潟 jp,!j e:05 ez j 5*s j u: "; 5090 PRINT"潟 j 5 "; 5100 PRINT"潟 `! ! "; 5110 PRINT"潄 INDEX "; 5120 PRINT"潄慲```` "; 5130 PRINT"潄Cycles through the whole Diary "; 5140 PRINT"潄use the cursor keys to jump :- "; 5150 PRINT"潄 "; 5160 PRINT"潄 Left...back a day "; 5170 PRINT"潄 "; 5180 PRINT"潄Right...forward a day "; 5190 PRINT"潄 "; 5200 PRINT"潄 Down...back a month "; 5210 PRINT"潟 "; 5220 PRINT"潄 Up...forward a month "; 5230 PRINT"潄 "; 5240 PRINT"潄 Exit to current date "; 5250 PRINT"潄 "; 5260 PRINT"潄 Exit returning to the "; 5270 PRINT"潄 initial date "; 5280 PRINT"潄 "; 5290 ?(&7C27+40*24)=32 5300 Q%=GET 5310 IFQ%<>27:PROChelp2 5320 H%=1:Q%=13 5330 ENDPROC 5340 : 5350 REM "𓇣𙹁𠪟6 5360 REM "‹솬456 5370 DEFPROChelp2 5380 PRINTTAB(0,7); 5390 PRINT"潄 "; 5400 PRINT"潄 View Mode Cursor OFF "; 5410 PRINT"潄慲```````` "; 5420 PRINT"潄 H.....This help "; 5430 PRINT"潄 I.....Index see previous page "; 5440 PRINT"潄 P.....Print Page "; 5450 PRINT"潄 <['>.....Enter edit mode "; 5460 PRINT"潄.....Close the Diary "; 5470 PRINT"潄 "; 5480 PRINT"潄 Edit Mode Cursor ON "; 5490 PRINT"潄慲```````` "; 5500 PRINT"潄Once here, any changes you make will "; 5510 PRINT"潄be saved on leaving i.e. after you "; 5520 PRINT"潄hit , no prompt is asked for "; 5530 PRINT"潄before saving. So should you not wish "; 5540 PRINT"潄to save the changes you have made, hit"; 5550 PRINT"潄the key. "; 5560 PRINT"潄 "; 5570 Q%=GET 5580 IFQ%<>27:PROChelp3 5590 H%=1:Q%=13 5600 ENDPROC 5610 : 5620 REM "𓇣𙹁𠪟6 5630 REM "‹솬456 5640 DEFPROChelp3 5650 PRINTTAB(0,7); 5660 PRINT"潄 Function Keys 1 "; 5670 PRINT"潄慲`````````````` "; 5680 PRINT"潄 Ctrl+C....Clear screen "; 5690 PRINT"潄 Ctrl+P....Print page "; 5700 PRINT"潄 "; 5710 PRINT"潄 f0...Red text "; 5720 PRINT"潄 f1...Green text "; 5730 PRINT"潄 f2...Yellow text "; 5740 PRINT"潄 f3...Blue text "; 5750 PRINT"潄 f4...Magenta text "; 5760 PRINT"潄 f5...Cyan text "; 5770 PRINT"潄 f6...White text "; 5780 PRINT"潄 f7...Flashing "; 5790 PRINT"潄 f8...Steady "; 5800 PRINT"潄 f9...Pixel editor "; 5810 PRINT"潄 "; 5820 PRINT"潄 ...Save, Return to View Mode "; 5830 PRINT"潄 "; 5840 Q%=GET 5850 IFQ%<>27:PROChelp4 5860 H%=1:Q%=13 5870 ENDPROC 5880 : 5890 REM "𓇣𙹁𠪟6 5900 REM "‹솬456 5910 DEFPROChelp4 5920 PRINTTAB(0,7); 5930 PRINT"潄 Function Keys 2 "; 5940 PRINT"潄慲`````````````` "; 5950 PRINT"潄 Ctrl+C....Clear screen "; 5960 PRINT"潄 Ctrl+P....Print page "; 5970 PRINT"潄 "; 5980 PRINT"潄 Shift+f0...Red graphics "; 5990 PRINT"潄 Shift+f1...Green graphics "; 6000 PRINT"潄 Shift+f2...Yellow graphics "; 6010 PRINT"潄 Shift+f3...Blue graphics "; 6020 PRINT"潄 Shift+f4...Magenta graphics "; 6030 PRINT"潄 Shift+f5...Cyan graphics "; 6040 PRINT"潄 Shift+f6...White graphics "; 6050 PRINT"潄 Shift+f7...Black background "; 6060 PRINT"潄 Shift+f8...Colour background "; 6070 PRINT"潄 Shift+f9...Pixel editor "; 6080 PRINT"潄 "; 6090 PRINT"潄 ...Save, Return to View Mode "; 6100 PRINT"潄 "; 6110 Q%=GET 6120 IFQ%<>27:PROChelp5 6130 H%=1:Q%=13 6140 ENDPROC 6150 : 6160 REM "𓇣𙹁𠪟6 6170 REM "‹솬456 6180 DEFPROChelp5 6190 PRINTTAB(0,7); 6200 PRINT"潄 Function Keys 3 "; 6210 PRINT"潄慲`````````````` "; 6220 PRINT"潄 Ctrl+C....Clear screen "; 6230 PRINT"潄 Ctrl+P....Print page "; 6240 PRINT"潄 "; 6250 PRINT"潄 Ctrl+f0...Contiguous graphics "; 6260 PRINT"潄 Ctrl+f1...Seperated graphics "; 6270 PRINT"潄 Ctrl+f2...Hold graphics "; 6280 PRINT"潄 Ctrl+f3...Release graphics "; 6290 PRINT"潄 Ctrl+f4...Double height "; 6300 PRINT"潄 Ctrl+f5...Single height "; 6310 PRINT"潄 Ctrl+f6...Insert space "; 6320 PRINT"潄 Ctrl+f7...Insert line "; 6330 PRINT"潄 Ctrl+f8...Delete line "; 6340 PRINT"潄 Ctrl+f9...Pixel editor "; 6350 PRINT"潄 "; 6360 PRINT"潄 ...Save, Return to View Mode "; 6370 PRINT"潄 "; 6380 Q%=GET 6390 ENDPROC 7000 : 7010 DEFPROCoscli 7020 CLS:PRINT"*";:INPUT""L$:OSCLIL$ 7030 PRINT'"Hit Any Key":Q%=GET:RUN 7040 ENDPROC 7050 : 7060 DEFPROCinit 7071 t%=0 7072 B%=&900:W%=&9F0 7073 T%=0:M%=0 7091 IFsysclk%=0:ENDPROC 7092 T$=TIME$:D$=MID$(T$,5,2):M$=MID$(T$,8,3) 7093 L%=VALD$:P%=INSTR(" JanFebMarAprMayJunJulAugSepOctNovDec",M$)/3 7100 ENDPROC 7110 : 7120 DEFPROCfinish 7130 A%=0:Y%=0:CALL&FFCE 7140 *FX4,0 7150 *FX229,0 7160 VDU23;10,&70;0;0;0 7170 END 7180 ENDPROC 7190 : 7200 DEFPROCckdisc 7210 REM J.RIPLEY's format checker 7220 B%=&100 7230 ?B%=0:B%!1=&E000 7240 B%!5=&5303:B%!9=33 7250 X%=0:Y%=1:A%=&7F 7260 CALL&FFF1 7270 IFB%?10=0:dfs%=1ELSEdfs%=0 7280 ENDPROC 7290 : 7300 REM first day of the month, number of days in the month 7310 DATA1997,1997 7320 DATA3,31 7330 DATA6,28 7340 DATA6,31 7350 DATA2,30 7360 DATA4,31 7370 DATA7,30 7380 DATA2,31 7390 DATA5,31 7400 DATA1,30 7410 DATA3,31 7420 DATA6,30 7430 DATA1,31