5 IFPEEK(49152)<>76ORPEEK(51200)<>76ORPEEK(52016)<>32ORPEEK(52080)<>173THEN7 6 IFPEEK(52176)=169THEN10 7 LOAD"0:ROUTINES M3",8,1 10 IFPEEK(832)<>24ORPEEK(960)<>63ORPEEK(1019)>.THENLOAD"0:MENU.SP1",8,1 20 IFPEEK(704)<>3ORPEEK(732)<>252ORPEEK(760)THENLOAD"0:MENU.SP2",8,1 25 OPEN15,8,15:SYS52176 30 W=53265:U=128:V=53248:S=V+1024:LI=52016:WI=51200:CL=51203:SU=51206:SD=51209 40 POKE1020,5:POKE1021,19:POKE1022,1:POKE1023,38:REM SET WINDOW BOUNDARIES 50 POKE600,00:REM SET ARTICLE FLAG TO ZERO 200 PP=PEEK(599)+1:REM MENU POINTER 210 SP$=" " 212 SL$=" " 220 AF=1 222 POKE53280,5 225 D$=CHR$(96):FORX=1TO6:D$=D$+D$:NEXT 226 FORX=STOS+24:POKEX,0:NEXT 227 READNU$:POKE54277,8:POKE54278,8:POKE54291,8:POKE54292,8 230 POKE V+33,. 260 POKE V+21,11:REM 0,1,3 ON 270 POKE V+29,2:POKEV+27,12:POKEV+23,. 280 DIM PN$(50),RC$(50),CA$(50),SA(50),SY(50),T$(300) 285 REM MENU NAME,PROG NAME,CATEGORY,SECONDARY ADDR,SYS ADDR,ABOUT TEXT STORAGE 290 FORCO=.TO2:POKE2040+CO,13+CO:POKE2043,11:NEXT:REMSPRITE POINTERS 300 POKEV+39,15:POKEV+40,7:POKEV+41,7:POKEV+42,7:POKEV+27,255 305 POKEV+16,. 310 POKEV,49:POKEV+1,218:REM CRSRS 320 POKEV+2,45:POKEV+3,143:REM SELECTOR 330 POKEV+4,56:POKEV+5,54:REM RT HAND 340 POKEV+6,44:POKEV+7,54:REM LT HAND 350 POKEV+16,4 360 POKES+24,15:REM LOUD SOUND 1000 GOSUB 50000:REMHEADER 2000 GOSUB 52000:REMREAD MENU DATA 3000 GOSUB 51000:REMHOME 3500 TP=PP:IFPP<>1THENGOSUB53005:GOTO4100 4000 GOSUB 53000:REMPRINT MENU 4100 GOSUB49000 5000 GOSUB 54000:POKEV+21,0:REMKEYWAIT 5005 PRINT"[147][196]OCKING WITH [212]ABLE OF [195]ONTENTS" 5006 GOSUB63002:GOSUB63000 5007 FORX=STOS+23:POKEX,0:NEXT 5010 PRINT"[144]LOAD"CHR$(34)"0:HELLO"CHR$(34)",8":PRINT"RUN";:POKE631,13 5015 POKE632,13:POKE198,2:END 39000 SYSWI:REM CLEAR WINDOW 39010 X%=9:Y%=8:GOSUB56000:PRINT"[212]URN YOUR PRINTER ON" 39015 X%=18:Y%=10:GOSUB56000:PRINT"&" 39016 X%=12:Y%=12:GOSUB56000:PRINT"[208]RESS [[210][197][212][213][210][206]]." 39017 X%=15:Y%=14:GOSUB56000:PRINT"[216][146] TO EXIT" 39020 GETK$:IF K$=""THEN39020 39025 IFK$<>CHR$(13)ANDK$<>"X"ANDK$<>"[203]"THEN39020 39030 IF K$="X"ORK$="[216]"THEN SYSWI:RETURN 39040 OPEN4,4,7:CMD4 39045 PRINTSPC(40-LEN(MO$));MO$:PRINT:PRINTSPC(40-LEN(PN$(PP+1)));PN$(PP) 39046 PRINT 39050 FOR C8=1TO LC 39055 IFT$(C8)=""THEN39070 39060 PRINT#4,T$(C8) 39070 NEXT 39080 PRINT#4:CLOSE4 39085 SYSWI 39090 RETURN 40000 REM BOING! 40003 GOSUB41000 40005 FORI=27TO31:WAITW,U:POKEW,I:NEXT 40010 FORI=31TO25STEP-1:WAITW,U:WAITW,U:POKEW,I:NEXT 40015 FORI=25TO27:WAITW,U:WAITW,U:WAITW,U:WAITW,U:POKEW,I:NEXT 40020 RETURN 40100 R=V+17:C=128:REM OTHER BOING! 40103 GOSUB41000 40105 FORI=27TO24STEP-1:WAITW,U:POKEW,I:NEXT 40110 FORI=24TO29:WAITW,U:WAITW,U:POKEW,I:NEXT 40115 FORI=29TO27STEP-1:WAITW,U:WAITW,U:WAITW,U:WAITW,U:POKEW,I:NEXT 40120 RETURN 41000 POKES+4,20:POKES,RND(.)*256:POKES+1,RND(.)*256:POKES+14,RND(.)*256 41005 POKES+15,RND(.)*256:POKES+4,21:RETURN 41010 REM :ALREADY RETURNED ^ 43000 PL=15:X%=.:Y%=24:GOSUB56000:PRINT" [159][[155][200][159]] FOR [200]ARDCOPY";:AF=0 43001 X%=1:Y%=12:GOSUB56000:PRINT"[158][210]EADING[146]":POKEV+21,. 43002 X%=22:Y%=21:GOSUB 56000:PRINT"[159][205][197][206][213]/[210][213][206] "; 43003 X%=14:Y%=22:GOSUB 56000:PRINT"[159][211]CROLLS [212]EXT"; 43004 IFPEEK(600)=PPTHENSYSWI:SYSCL:GOTO43050 43005 POKE600,PP:X%=0:Y%=5:LP=1:GOSUB56000:SYSWI:SYSCL 43006 OPEN8,8,8,"T."+RC$(PP):GOSUB46000:IFER%=62THENRF=.:AF=1:RESTORE:GOTO290 43010 FORC1=1TO300:POKE781,8:SYS65478 43020 SYSLI,B$:T$(C1)=B$+"" 43025 IFSTTHENGOSUB46000:IFER%=0ANDST=64THENLC=C1:C1=300:GOTO43030 43030 IFC1<=15THENPRINT"";T$(C1) 43032 NEXT:SYS65484 43035 CLOSE8 43040 FORC8=LC+1TO300:T$(C8)="":NEXT:SYSCL 43050 X%=.:Y%=5:LP=1:GOSUB56000:FORC1=1TO15 43060 PRINT"";T$(C1) 43070 NEXT 43075 MF=1:X%=.:Y%=3:GOSUB 56000:GOSUB48000:REM"'[193]BOUT' HEADER" 43080 GETK$:J=NOTPEEK(56321)AND31:IFK$=""ANDJ=0THEN43080 43090 K1=ASC(K$+CHR$(.)) 43100 IFK$="[157]"ORJ=4THENMF=1:RF=0:GOSUB48000:GOTO43080:REMCRSR LEFT 43110 IFK$=""ORJ=8THENMF=0:RF=1:GOSUB48000:GOTO43080:REMCRSR RIGHT 43120 IFK$=""ORK$="[135]"ORK$="[139]"ORJ=2THENGOSUB45000:GOTO43080:REM SCROLL FORWARD 43130 IFK$="[145]"ORK$="[134]"ORK$="[138]"ORJ=1THENGOSUB44000:GOTO43080:REM SCROLL BACKWARD 43140 IFJ=16THENIFRFTHEN63900 43150 IFJ=16THENMF=0:AF=1:RESTORE:K$="":J=.:GOTO290 43160 IFK1=72THENGOSUB39000:GOTO43050:REM HARDCOPY 43170 GOTO43080 43230 STOP 44000 IF LP<2THENGOSUB40000:RETURN:REM SCROLL BACKWARD 44010 LP=LP-1:SYS51209 44020 X%=1:Y%=5:GOSUB56000:PRINTT$(LP) 44090 RETURN 45000 IF LP>LC-14THENGOSUB40100:RETURN:REM SCROLL FORWARD 45010 LP=LP+1:SYS51206 45020 X%=1:Y%=19:GOSUB56000:PRINT""T$(LP+14) 45090 RETURN 46000 INPUT#15,ER%,ER$,ET%,EB% 46005 IF(ER%>19ANDER%<30)ORER%=66ORER%=67THEN46015 46010 RETURN 46015 PRINT"[147][152][217]OU JUST HAD A DISK [201]/[207] ERROR." 46020 PRINT:PRINT"[208]RESS SPACE TO CONTINUE." 46025 GETK$:IFK$=""THEN46025 46030 RUN 48000 IFRFTHENGOSUB59300:REM REWRITE PGM NAME 48010 IFMFTHENGOSUB59200:REM REWRITE PGM NAME 48020 Y%=3:X%=20-LEN(PN$(PP))/2:GOSUB56000:PRINT"";PN$(PP);"[153]"; 48030 RETURN 49000 IFRFTHENGOSUB58000:REM REWRITE CATEGORY 49010 IFAFTHENGOSUB57000 49020 Y%=3:X%=20-LEN(CA$(PP))/2:GOSUB56000 49025 PRINT"[158]";CA$(PP);"[153]"; 49030 RETURN 50000 PRINT"[147]"TAB(6)"[176]";:PRINTLEFT$(D$,27);"[174]":REM "HEADER STUFF" 50010 PRINTTAB(5)" [221][153] [204]OADSTAR [208]AYLOAD [206]UMBER "NU$;"";CHR$(221) 50012 PRINTTAB(6)"[173]";:PRINTLEFT$(D$,27);:PRINT"[189][153]" 50013 GOSUB59000 50014 IFAFTHENGOSUB57000 50015 IFRFTHENGOSUB58000 50019 PRINT"[176]";LEFT$(D$,38);"[174]"; 50020 FORI=1TO15:PRINT"[221] [221]";:NEXT 50021 PRINT"[173]";LEFT$(D$,38);"[189]"; 50030 PRINT" [159][ [155] [195][210][211][210][159] ] [211]ELECTS [193][194][207][213][212]/[210][213][206]" 50040 PRINT" [159][ [155] [195][210][211][210][159] ] [211]CROLLS [205]ENU" 50050 PRINT" [159][ [155][211][208][193][195][197][159] ] [211]ELECTS [158][200]IGHLIGHTED[159] [201]TEMS" 50060 PRINT" [159][[155][216][159]] [197]XITS"; 50070 PRINT"[129]";:SYS51200:SYS51203:X%=1:Y%=12:GOSUB56000 50080 PRINT"[158] "; 50090 FORI=217TO242:POKEI,PEEK(I)OR128:NEXT:RETURN 51000 PRINT"[153]":REM HOME 51010 PRINT""; 51020 RETURN 52000 RESTORE:READNU$:FORI=1TO100:REM READ IN MENU DATA 52010 READPN$(I),RC$(I),CA$(I),SA(I),SY(I) 52020 IF PN$(I)<>"!"THEN NEXT 52025 PC=I-1:I=100:NEXT: 52030 PN$(PC+1)="" 52040 RETURN 53000 SYS51200:PRINT"[129]";:IFPP<4THEN53020 53005 PRINT"[129]";:FORI=PP-3TOPP+3:QQ=I:IFQQ<0THENQQ=0 53010 IFI=PPTHENPRINT"[158]"; 53015 PRINTTAB(10)PN$(QQ)"[129]":NEXT:RETURN 53020 FORI=PPTO3:PRINT"";:NEXT:FORI=1TOPP+3:IFI=PPTHENPRINT"[158]"; 53025 PRINTTAB(10)PN$(I)"[129]":NEXT:RETURN 54000 REM MAIN MENU KEYPRESS SELECTION 54010 GETK$:IFK$=""THENJ=NOTPEEK(56321)AND31:IFK$=""ANDJ=.THEN54010 54020 K=ASC(K$+CHR$(.)) 54025 IFK$="[157]"ORJ=4THENAF=1:RF=.:GOSUB49000:GOTO54000:REMLEFT 54026 IFK$=""ORJ=8THENAF=.:RF=1:GOSUB49000:GOTO54000:REMRIGHT 54040 IFK$=""ORK$="[135]"ORK$="[139]"ORJ=2THENGOSUB54100:GOSUB49000:GOTO 54000:REMDOWN 54045 IFK$="[136]"THENFOROP=PPTOPC:GOSUB54100:NEXT:GOSUB49000:GOTO54000:REMBIG DOWN 54050 IFK$="[145]"ORK$="[134]"ORK$="[138]"ORJ=1THENGOSUB54200:GOSUB49000:GOTO54000:REM UP 54055 IFK$="[133]"THENFOROP=PPTO1STEP-1:GOSUB54200:NEXT:GOSUB49000:GOTO54000:REMB/UP 54060 IFK$="X"ORK$="[216]"THEN RETURN 54070 IFJ=16THENIFRFTHENPRINT:GOSUB51000:GOTO63800 54075 IFJ=16THENIFAFTHEN 43000 54080 J=.:GOTO 54000 54100 IFPP>PC-1THENGOSUB40100:RETURN 54110 PP=PP+1:SYS51206:SYS51206:X%=10:Y%=18:GOSUB56000 54120 IFPP2THENPRINT"[129]"PN$(PP-3):RETURN 54230 PRINT"[129] ":RETURN 56000 POKE783,PEEK(783)AND254:POKE781,Y%:POKE782,X%:SYS65520:RETURN 56010 POKE783,PEEK(783)OR1:SYS65520:Y%=PEEK(781):X%=PEEK(782):RETURN 57000 X%=0:Y%=3:GOSUB56000:GOSUB59000 57005 X%=1:Y%=3:GOSUB56000:PRINT"[158][193][194][207][213][212][146]" 57010 POKE V+21,11 57020 RETURN 58000 X%=0:Y%=3:GOSUB56000:GOSUB59000 58005 X%=36:Y%=3:GOSUB56000:PRINT"[158][210][213][206][146]" 58010 POKE V+21,7 58020 RETURN 59000 PRINT" [153][193][194][207][213][212] [210][213][206]":RETURN 59100 PRINT" [153][205][197][206][213] [210][213][206]":RETURN 59200 X%=0:Y%=3:GOSUB56000:GOSUB59100 59205 X%=1:Y%=3:GOSUB56000:PRINT"[158][205][197][206][213][146]" 59210 POKE V+21,9 59220 RETURN 59300 X%=0:Y%=3:GOSUB56000:GOSUB59100 59305 X%=36:Y%=3:GOSUB56000:PRINT"[158][210][213][206][146]" 59310 POKE V+21,5 59320 RETURN 59960 DATA "4 ":REM ISSUE NUMBER 59988 ****************************** 59989 * * 59990 * THESE DATA STATEMENTS * * FORM THE MENU. THEY ARE * 59991 * IN THIS FORMAT: * 59992 * DATA, * * , * 59993 * , * * , * 59994 * * * * 59995 ****************************** 60000 DATA"[211]PIDERS",SPIDERS,"[199]AME",, 60005 DATA"[205]ADMAN",MADMAN,"[199]AME",, 60006 DATA"[198]IREFLIES",FIREFLIES,"[199]AME",, 60010 DATA"[215]ESTERN [205]OVIE [215]RITER",WESTERN WRITER,"[206]OVELTY",, 60015 DATA"[210]EEL [198]ACTS",REEL FACTS,"[212]RIVIA",, 60016 DATA"[208]LANET [208]ROGRAM",PLANET PROGRAM,"[196]EMO",, 60035 DATA"[199]RADE [194]OOK",GRADES 2,"[197]DUCATIONAL",, 60040 DATA"[205]EMO [208]AD",MEMO-PAD,"[200]OME & [194]USINESS",, 63000 FORI=.TO24:POKES+I,.:NEXT:POKES+1,100:POKES+2,100:POKES+5,10:POKES+6,2 63001 POKES+24,15:POKES+4,33:FORDL=1TO600:NEXT:POKE2+4,32:RETURN 63002 FORI=0TO24:POKES+I,0:NEXT:POKES+1,40:POKES+2,40:POKES+5,10:POKES+6,2 63003 POKES+24,15:POKES+4,33:FORDL=1TO600:NEXT:POKES+4,32:RETURN 63800 REM EXECUTE PROGRAM 63900 REM EXECUTE PROGRAM 63903 SYS65412:SYS65409:PRINT"[147]LOAD"CHR$(34);RC$(PP);CHR$(34)",8,"SA(PP)" 63904 [151]599,PP[171]1:[143] MENU POINTER 63905 [139]SA(PP)[178].[167][153]"RUN":[137]63910 63907 [153]"SYS"SY(PP)"" 63910 [151] 631,13:[151]632,13:[151]198,2 63920 [151]V[170]21,0 63999 [131]!,!,!,,:[143]NEED THESE FOR EOF MARKERS.