home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Loadstar 17
/
017.d81
/
payload
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-08-26
|
7KB
|
257 lines
0 REM PAYLOAD
5 IFPEEK(51200)<>76ORPEEK(52016)<>32ORPEEK(52080)<>173THEN7
6 IFPEEK(52176)=169THEN10
7 LOAD"0:ROUTINES V4",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 POKE54277,8:POKE54278,8:POKE54291,8:POKE54292,8
230 POKE V+33,.
270 POKE V+29,2:POKEV+27,12:POKEV+23,.
275 :
276 :
280 DIM PN$(50),RC$(50),CA$(50),SA(50),SY(50),T$(650)
285 REM MENU NAME,PROG NAME,CATEGORY,SECONDARY ADDR,SYS ADDR,ABOUT TEXT STORAGE
286 :
287 GOSUB52000: REM READ PRGS FILE
288 POKE V+21,11:REM 0,1,3 ON
289 :
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 :
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 LOAD"HELLO CONNECT",8
5015 :
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=1TO650:POKE781,8:SYS65478
43020 SYSLI,B$:T$(C1)=B$+""
43025 IFSTTHENGOSUB46000:IFER%=0ANDST=64THENLC=C1:C1=650:GOTO43030
43030 IFC1<=15THENPRINT"";T$(C1)
43032 NEXT:SYS65484
43035 CLOSE8:POKE198,0
43040 FORC8=LC+1TO650:T$(C8)="":NEXT:SYSCL
43050 X%=.:Y%=5:LP=1:GOSUB56000:FORC1=1TO15
43060 PRINT"";T$(C1)
43070 NEXT
43075 RF=1:X%=.:Y%=3:POKE198,0:GOSUB 56000:GOSUB48000:REM"'[193]BOUT' HEADER"
43080 GETK$:J=NOTPEEK(56320)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
43122 IFK$="[133]"THENGOSUB43300:REM BIG UP
43130 IFK$="[145]"ORK$="[134]"ORK$="[138]"ORJ=1THENGOSUB44000:GOTO43080:REM SCROLL BACKWARD
43132 IFK$="[136]"THENGOSUB43400:REM B/DOWN
43140 IFJ=16ORK$=" "THENIFRFTHEN63900
43150 IFJ=16ORK$=" "THENMF=0:AF=1:RESTORE:K$="":J=.:GOTO290
43160 IFK1=72THENGOSUB39000:GOTO43050:REM HARDCOPY
43170 GOTO43080
43230 :REM
43300 FORQ3=1TO7
43301 IFLP<2THENGOSUB40000:GOTO43306
43302 GOSUB44000
43304 NEXT
43306 RETURN
43308 :
43400 FORQ3=1TO7
43401 IFLP>LC-14THENGOSUB40100:GOTO43406
43402 GOSUB45000
43404 NEXT
43406 RETURN
43408 :
44000 IF LP<2THENGOSUB40000:RETURN:REM SCROLL BACKWARD
44010 LP=LP-1:SYS51209
44020 X%=1:Y%=5:GOSUB56000:PRINTT$(LP)
44022 Q9=NOTQ9:IFQ9<>0THEN44010
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)
45022 Q9=NOTQ9:IFQ9<>0THEN45010
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$,28);"[174]":REM "HEADER STUFF"
50010 PRINTTAB(5)" [221][153] "HT$" ";CHR$(221)
50012 PRINTTAB(6)"[173]";:PRINTLEFT$(D$,28);: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 REM READ IN FROM WHAT FILE???
52001 NU=USR(65535)
52002 IFNU=11THENNU$="MAG.PRGS"
52004 IFNU=12THENNU$="PAY.PRGS"
52006 I=0:OPEN2,8,2,NU$
52007 INPUT#2,HT$ :REM HEADER FOR TOP
52008 I=I+1
52010 INPUT#2,PN$(I)
52012 INPUT#2,RC$(I)
52014 INPUT#2,CA$(I)
52016 INPUT#2,SA(I)
52018 INPUT#2,SY(I)
52020 IF PN$(I)<>"!"THEN 52008
52022 CLOSE2
52025 PC=I-1
52030 PN$(PC+1)="":IFPP>PCTHENPP=PC
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(56320)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=16ORK$=" "THENIFRFTHENPRINT:GOSUB51000:GOTO63800
54075 IFJ=16ORK$=" "THENIFAFTHEN 43000
54080 J=.:GOTO 54000
54100 IFPP>PC-1THENGOSUB40100:RETURN
54110 PP=PP+1:SY