home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 17 / 017.d81 / payload (.txt) < prev    next >
Commodore BASIC  |  2022-08-26  |  7KB  |  257 lines

  1. 0 REM   PAYLOAD
  2. 5 IFPEEK(51200)<>76ORPEEK(52016)<>32ORPEEK(52080)<>173THEN7
  3. 6 IFPEEK(52176)=169THEN10
  4. 7 LOAD"0:ROUTINES V4",8,1
  5. 10 IFPEEK(832)<>24ORPEEK(960)<>63ORPEEK(1019)>.THENLOAD"0:MENU.SP1",8,1
  6. 20 IFPEEK(704)<>3ORPEEK(732)<>252ORPEEK(760)THENLOAD"0:MENU.SP2",8,1
  7. 25 OPEN15,8,15:SYS52176
  8. 30 W=53265:U=128:V=53248:S=V+1024:LI=52016:WI=51200:CL=51203:SU=51206:SD=51209
  9. 40 POKE1020,5:POKE1021,19:POKE1022,1:POKE1023,38:REM SET WINDOW BOUNDARIES
  10. 50 POKE600,00:REM SET ARTICLE FLAG TO ZERO
  11. 200 PP=PEEK(599)+1:REM MENU POINTER
  12. 210 SP$="                             "
  13. 212 SL$="                                      "
  14. 220 AF=1
  15. 222 POKE53280,5
  16. 225 D$=CHR$(96):FORX=1TO6:D$=D$+D$:NEXT
  17. 226 FORX=STOS+24:POKEX,0:NEXT
  18. 227 POKE54277,8:POKE54278,8:POKE54291,8:POKE54292,8
  19. 230 POKE V+33,.
  20. 270 POKE V+29,2:POKEV+27,12:POKEV+23,.
  21. 275 :
  22. 276 :
  23. 280 DIM PN$(50),RC$(50),CA$(50),SA(50),SY(50),T$(650)
  24. 285 REM MENU NAME,PROG NAME,CATEGORY,SECONDARY ADDR,SYS ADDR,ABOUT TEXT STORAGE
  25. 286 :
  26. 287 GOSUB52000: REM READ PRGS FILE
  27. 288 POKE V+21,11:REM 0,1,3 ON
  28. 289 :
  29. 290 FORCO=.TO2:POKE2040+CO,13+CO:POKE2043,11:NEXT:REMSPRITE POINTERS
  30. 300 POKEV+39,15:POKEV+40,7:POKEV+41,7:POKEV+42,7:POKEV+27,255
  31. 305 POKEV+16,.
  32. 310 POKEV,49:POKEV+1,218:REM CRSRS
  33. 320 POKEV+2,45:POKEV+3,143:REM SELECTOR
  34. 330 POKEV+4,56:POKEV+5,54:REM RT HAND
  35. 340 POKEV+6,44:POKEV+7,54:REM LT HAND
  36. 350 POKEV+16,4
  37. 360 POKES+24,15:REM LOUD SOUND
  38. 1000 GOSUB 50000:REMHEADER
  39. 2000 :
  40. 3000 GOSUB 51000:REMHOME
  41. 3500 TP=PP:IFPP<>1THENGOSUB53005:GOTO4100
  42. 4000 GOSUB 53000:REMPRINT MENU
  43. 4100 GOSUB49000
  44. 5000 GOSUB 54000:POKEV+21,0:REMKEYWAIT
  45. 5005 PRINT"[147][196]OCKING WITH [212]ABLE OF [195]ONTENTS"
  46. 5006 GOSUB63002:GOSUB63000
  47. 5007 FORX=STOS+23:POKEX,0:NEXT
  48. 5010 LOAD"HELLO CONNECT",8
  49. 5015 :
  50. 39000 SYSWI:REM  CLEAR WINDOW
  51. 39010 X%=9:Y%=8:GOSUB56000:PRINT"[212]URN YOUR PRINTER ON"
  52. 39015 X%=18:Y%=10:GOSUB56000:PRINT"&"
  53. 39016 X%=12:Y%=12:GOSUB56000:PRINT"[208]RESS [[210][197][212][213][210][206]]."
  54. 39017 X%=15:Y%=14:GOSUB56000:PRINT"[216][146] TO EXIT"
  55. 39020 GETK$:IF K$=""THEN39020
  56. 39025 IFK$<>CHR$(13)ANDK$<>"X"ANDK$<>"[203]"THEN39020
  57. 39030 IF K$="X"ORK$="[216]"THEN SYSWI:RETURN
  58. 39040 OPEN4,4,7:CMD4
  59. 39045 PRINTSPC(40-LEN(MO$));MO$:PRINT:PRINTSPC(40-LEN(PN$(PP+1)));PN$(PP)
  60. 39046 PRINT
  61. 39050 FOR C8=1TO LC
  62. 39055 IFT$(C8)=""THEN39070
  63. 39060 PRINT#4,T$(C8)
  64. 39070 NEXT
  65. 39080 PRINT#4:CLOSE4
  66. 39085 SYSWI
  67. 39090 RETURN
  68. 40000 REM BOING!
  69. 40003 GOSUB41000
  70. 40005 FORI=27TO31:WAITW,U:POKEW,I:NEXT
  71. 40010 FORI=31TO25STEP-1:WAITW,U:WAITW,U:POKEW,I:NEXT
  72. 40015 FORI=25TO27:WAITW,U:WAITW,U:WAITW,U:WAITW,U:POKEW,I:NEXT
  73. 40020 RETURN
  74. 40100 R=V+17:C=128:REM OTHER BOING!
  75. 40103 GOSUB41000
  76. 40105 FORI=27TO24STEP-1:WAITW,U:POKEW,I:NEXT
  77. 40110 FORI=24TO29:WAITW,U:WAITW,U:POKEW,I:NEXT
  78. 40115 FORI=29TO27STEP-1:WAITW,U:WAITW,U:WAITW,U:WAITW,U:POKEW,I:NEXT
  79. 40120 RETURN
  80. 41000 POKES+4,20:POKES,RND(.)*256:POKES+1,RND(.)*256:POKES+14,RND(.)*256
  81. 41005 POKES+15,RND(.)*256:POKES+4,21:RETURN
  82. 41010 REM :ALREADY RETURNED ^
  83. 43000 PL=15:X%=.:Y%=24:GOSUB56000:PRINT"          [159][[155][200][159]] FOR [200]ARDCOPY";:AF=0
  84. 43001 X%=1:Y%=12:GOSUB56000:PRINT"[158][210]EADING[146]":POKEV+21,.
  85. 43002 X%=22:Y%=21:GOSUB 56000:PRINT"[159][205][197][206][213]/[210][213][206] ";
  86. 43003 X%=14:Y%=22:GOSUB 56000:PRINT"[159][211]CROLLS [212]EXT";
  87. 43004 IFPEEK(600)=PPTHENSYSWI:SYSCL:GOTO43050
  88. 43005 POKE600,PP:X%=0:Y%=5:LP=1:GOSUB56000:SYSWI:SYSCL
  89. 43006 OPEN8,8,8,"T."+RC$(PP):GOSUB46000:IFER%=62THENRF=.:AF=1:RESTORE:GOTO290
  90. 43010 FORC1=1TO650:POKE781,8:SYS65478
  91. 43020 SYSLI,B$:T$(C1)=B$+""
  92. 43025 IFSTTHENGOSUB46000:IFER%=0ANDST=64THENLC=C1:C1=650:GOTO43030
  93. 43030 IFC1<=15THENPRINT"";T$(C1)
  94. 43032 NEXT:SYS65484
  95. 43035 CLOSE8:POKE198,0
  96. 43040 FORC8=LC+1TO650:T$(C8)="":NEXT:SYSCL
  97. 43050 X%=.:Y%=5:LP=1:GOSUB56000:FORC1=1TO15
  98. 43060 PRINT"";T$(C1)
  99. 43070 NEXT
  100. 43075 RF=1:X%=.:Y%=3:POKE198,0:GOSUB 56000:GOSUB48000:REM"'[193]BOUT' HEADER"
  101. 43080 GETK$:J=NOTPEEK(56320)AND31:IFK$=""ANDJ=0THEN43080
  102. 43090 K1=ASC(K$+CHR$(.))
  103. 43100 IFK$="[157]"ORJ=4THENMF=1:RF=0:GOSUB48000:GOTO43080:REMCRSR LEFT
  104. 43110 IFK$=""ORJ=8THENMF=0:RF=1:GOSUB48000:GOTO43080:REMCRSR RIGHT
  105. 43120 IFK$=""ORK$="[135]"ORK$="[139]"ORJ=2THENGOSUB45000:GOTO43080:REM SCROLL FORWARD
  106. 43122 IFK$="[133]"THENGOSUB43300:REM  BIG UP
  107. 43130 IFK$="[145]"ORK$="[134]"ORK$="[138]"ORJ=1THENGOSUB44000:GOTO43080:REM SCROLL BACKWARD
  108. 43132 IFK$="[136]"THENGOSUB43400:REM B/DOWN
  109. 43140 IFJ=16ORK$=" "THENIFRFTHEN63900
  110. 43150 IFJ=16ORK$=" "THENMF=0:AF=1:RESTORE:K$="":J=.:GOTO290
  111. 43160 IFK1=72THENGOSUB39000:GOTO43050:REM HARDCOPY
  112. 43170 GOTO43080
  113. 43230 :REM
  114. 43300 FORQ3=1TO7
  115. 43301 IFLP<2THENGOSUB40000:GOTO43306
  116. 43302 GOSUB44000
  117. 43304 NEXT
  118. 43306 RETURN
  119. 43308 :
  120. 43400 FORQ3=1TO7
  121. 43401 IFLP>LC-14THENGOSUB40100:GOTO43406
  122. 43402 GOSUB45000
  123. 43404 NEXT
  124. 43406 RETURN
  125. 43408 :
  126. 44000 IF LP<2THENGOSUB40000:RETURN:REM SCROLL BACKWARD
  127. 44010 LP=LP-1:SYS51209
  128. 44020 X%=1:Y%=5:GOSUB56000:PRINTT$(LP)
  129. 44022 Q9=NOTQ9:IFQ9<>0THEN44010
  130. 44090 RETURN
  131. 45000 IF LP>LC-14THENGOSUB40100:RETURN:REM SCROLL FORWARD
  132. 45010 LP=LP+1:SYS51206
  133. 45020 X%=1:Y%=19:GOSUB56000:PRINT""T$(LP+14)
  134. 45022 Q9=NOTQ9:IFQ9<>0THEN45010
  135. 45090 RETURN
  136. 46000 INPUT#15,ER%,ER$,ET%,EB%
  137. 46005 IF(ER%>19ANDER%<30)ORER%=66ORER%=67THEN46015
  138. 46010 RETURN
  139. 46015 PRINT"[147][152][217]OU JUST HAD A DISK [201]/[207] ERROR."
  140. 46020 PRINT:PRINT"[208]RESS SPACE TO CONTINUE."
  141. 46025 GETK$:IFK$=""THEN46025
  142. 46030 RUN
  143. 48000 IFRFTHENGOSUB59300:REM REWRITE PGM NAME
  144. 48010 IFMFTHENGOSUB59200:REM REWRITE PGM NAME
  145. 48020 Y%=3:X%=20-LEN(PN$(PP))/2:GOSUB56000:PRINT"";PN$(PP);"[153]";
  146. 48030 RETURN
  147. 49000 IFRFTHENGOSUB58000:REM REWRITE CATEGORY
  148. 49010 IFAFTHENGOSUB57000
  149. 49020 Y%=3:X%=20-LEN(CA$(PP))/2:GOSUB56000
  150. 49025 PRINT"[158]";CA$(PP);"[153]";
  151. 49030 RETURN
  152. 50000 PRINT"[147]"TAB(6)"[176]";:PRINTLEFT$(D$,28);"[174]":REM "HEADER STUFF"
  153. 50010 PRINTTAB(5)" [221][153] "HT$" ";CHR$(221)
  154. 50012 PRINTTAB(6)"[173]";:PRINTLEFT$(D$,28);:PRINT"[189][153]"
  155. 50013 GOSUB59000
  156. 50014 IFAFTHENGOSUB57000
  157. 50015 IFRFTHENGOSUB58000
  158. 50019 PRINT"[176]";LEFT$(D$,38);"[174]";
  159. 50020 FORI=1TO15:PRINT"[221]                                      [221]";:NEXT         
  160. 50021 PRINT"[173]";LEFT$(D$,38);"[189]";
  161. 50030 PRINT" [159][ [155]    [195][210][211][210][159] ] [211]ELECTS [193][194][207][213][212]/[210][213][206]"
  162. 50040 PRINT" [159][ [155]    [195][210][211][210][159] ] [211]CROLLS [205]ENU"
  163. 50050 PRINT" [159][    [155][211][208][193][195][197][159] ] [211]ELECTS [158][200]IGHLIGHTED[159] [201]TEMS"
  164. 50060 PRINT"          [159][[155][216][159]] [197]XITS";
  165. 50070 PRINT"[129]";:SYS51200:SYS51203:X%=1:Y%=12:GOSUB56000
  166. 50080 PRINT"[158]                                      ";
  167. 50090 FORI=217TO242:POKEI,PEEK(I)OR128:NEXT:RETURN
  168. 51000 PRINT"[153]":REM HOME
  169. 51010 PRINT"";
  170. 51020 RETURN
  171. 52000 REM   READ IN FROM WHAT FILE???
  172. 52001 NU=USR(65535)
  173. 52002 IFNU=11THENNU$="MAG.PRGS"
  174. 52004 IFNU=12THENNU$="PAY.PRGS"
  175. 52006 I=0:OPEN2,8,2,NU$
  176. 52007 INPUT#2,HT$ :REM  HEADER FOR TOP
  177. 52008 I=I+1
  178. 52010 INPUT#2,PN$(I)
  179. 52012 INPUT#2,RC$(I)
  180. 52014 INPUT#2,CA$(I)
  181. 52016 INPUT#2,SA(I)
  182. 52018 INPUT#2,SY(I)
  183. 52020 IF PN$(I)<>"!"THEN 52008
  184. 52022 CLOSE2
  185. 52025 PC=I-1
  186. 52030 PN$(PC+1)="":IFPP>PCTHENPP=PC
  187. 52040 RETURN
  188. 53000 SYS51200:PRINT"[129]";:IFPP<4THEN53020
  189. 53005 PRINT"[129]";:FORI=PP-3TOPP+3:QQ=I:IFQQ<0THENQQ=0
  190. 53010 IFI=PPTHENPRINT"[158]";
  191. 53015 PRINTTAB(10)PN$(QQ)"[129]":NEXT:RETURN
  192. 53020 FORI=PPTO3:PRINT"";:NEXT:FORI=1TOPP+3:IFI=PPTHENPRINT"[158]";
  193. 53025 PRINTTAB(10)PN$(I)"[129]":NEXT:RETURN
  194. 54000 REM MAIN MENU KEYPRESS SELECTION
  195. 54010 GETK$:IFK$=""THENJ=NOTPEEK(56320)AND31:IFK$=""ANDJ=.THEN54010
  196. 54020 K=ASC(K$+CHR$(.))
  197. 54025 IFK$="[157]"ORJ=4THENAF=1:RF=.:GOSUB49000:GOTO54000:REMLEFT
  198. 54026 IFK$=""ORJ=8THENAF=.:RF=1:GOSUB49000:GOTO54000:REMRIGHT
  199. 54040 IFK$=""ORK$="[135]"ORK$="[139]"ORJ=2THENGOSUB54100:GOSUB49000:GOTO 54000:REMDOWN
  200. 54045 IFK$="[136]"THENFOROP=PPTOPC:GOSUB54100:NEXT:GOSUB49000:GOTO54000:REMBIG DOWN
  201. 54050 IFK$="[145]"ORK$="[134]"ORK$="[138]"ORJ=1THENGOSUB54200:GOSUB49000:GOTO54000:REM UP
  202. 54055 IFK$="[133]"THENFOROP=PPTO1STEP-1:GOSUB54200:NEXT:GOSUB49000:GOTO54000:REMB/UP
  203. 54060 IFK$="X"ORK$="[216]"THEN RETURN
  204. 54070 IFJ=16ORK$=" "THENIFRFTHENPRINT:GOSUB51000:GOTO63800
  205. 54075 IFJ=16ORK$=" "THENIFAFTHEN 43000
  206. 54080 J=.:GOTO 54000
  207. 54100 IFPP>PC-1THENGOSUB40100:RETURN
  208. 54110 PP=PP+1:SY