home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 167 / 167.d81 / ultra.main (.txt) < prev    next >
Commodore BASIC  |  2022-08-26  |  5KB  |  193 lines

  1. 10 poke43,1:poke44,8:poke55,0:poke56,32:clr
  2. 20 dim m$(25)
  3. 30 dv=peek(186):ifdv<8thendv=8
  4. 40 poke53280,0:poke53281,0:print"[158]"
  5. 50 rem
  6. 60 rem *** load support programs ***
  7. 70 rem
  8. 80 sys57812"ultra.tools",dv,0:poke780,0:poke781,0:poke782,192:sys65493
  9. 90 sys57812"ultra.font",dv,0:poke780,0:poke781,0:poke782,32:sys65493
  10. 100 sys57812"ultra.dtext",dv,0:poke780,0:poke781,0:poke782,157:sys65493
  11. 110 sys40192,"p.ultra.help",dv,12288
  12. 120 poke53272,25
  13. 130 rem
  14. 140 rem *** ml definitions ***
  15. 150 rem
  16. 160 ad=49152: rem menu
  17. 170 bx=ad+3:  rem box
  18. 180 ss=ad+6: rem screen stash
  19. 190 sr=ad+9: rem screen restore
  20. 200 at=ad+15:rem print at
  21. 210 ce=ad+18:rem center printer
  22. 220 cs=ad+36:rem character swap
  23. 230 br=ad+48:rem brancher
  24. 240 fr=ad+30:rem file reader
  25. 250 fm=ad+54:rem frame
  26. 260 sh=ad+42:rem shade
  27. 270 dt=40192:rem dtext unpacker
  28. 280 rem
  29. 290 rem *** file names in strings ***
  30. 300 rem
  31. 310 m$(1)="([212])ext [198]iles [207]nly"
  32. 320 m$(2)="([208])rograms [215]ith [212]ext [198]iles"
  33. 330 m$(3)="([210])ead [200]elp [198]ile & [195]redits"
  34. 340 m$(4)="([209])uit [212]o [204][207][193][196][211][212][193][210]"
  35. 350 m$(5)="[205][204] [212]utorial 1       (151)"
  36. 360 m$(6)="[195]-64 [204]ists          (159)"
  37. 370 m$(7)="*[194][207][206][213][211]* [201]shuda 128   (30)"
  38. 380 m$(8)="[208]rograms [206]eeding a [205][204] [205]on"
  39. 390 m$(9)="[210]eturn [212]o [205]ain [205]enu"
  40. 400 m$(10)="[211]tarship [201]nvasion  (148)"
  41. 410 m$(11)="[195]omic [195]ollector    (149)"
  42. 420 m$(12)="[195][193][196]-[205]              (150)"
  43. 430 m$(13)="[193]ntrock            (150)"
  44. 440 m$(14)="[205]ondo [215]ordo [201][201]     (150)"
  45. 450 m$(15)="[211]tar [208]inochle      (150)"
  46. 460 m$(16)="[211]creen [211]aver       (153)"
  47. 470 m$(17)="[212]he [210]ealm          (155)"
  48. 480 m$(18)="[205]aze [212]ag           (159)"
  49. 490 m$(19)="[194]urgertime '97     (162)"
  50. 500 m$(20)="[204]aser [211]torm        (163)"
  51. 510 m$(21)="[195]orky's [213]niverse   (163)"
  52. 520 m$(22)="[204]egal [194]eagle  (163)(164)"
  53. 521 m$(23)="[199]eezenstacks       (164)"
  54. 530 rem
  55. 540 rem *** main menu ***
  56. 550 rem
  57. 560 print"[147]"
  58. 570 syscs,32,28,14:sysfm,0,39,0,24,7
  59. 580 syssh,4,33,3,5:sysbx,5,34,2,4,160,7
  60. 590 sysat,7,3,"[158] [213] [204] [212] [210] [193] [199] [197] [205] [211]   [201] [201] [201][146]"
  61. 600 syssh,4,33,9,16:sysbx,5,34,10,15,32,0
  62. 610 sysfm,5,34,10,15,4
  63. 620 sysfm,5,34,8,10,4
  64. 630 sysat,5,10,"[156]<>"
  65. 640 sysat,6,9,"[153]         [205][193][201][206] [205][197][206][213][160]         [146]"
  66. 650 forx=1to4
  67. 660 sysat,7,10+x,m$(x)
  68. 670 nextx
  69. 680 syssh,4,33,20,22:sysbx,5,34,19,21,160,3
  70. 690 sysat,8,20,"[159] [195][210][211][210]/[210][197][212][213][210][206] [212]o [211]elect [146]"
  71. 700 sysss,208
  72. 710 poke198,0:sysad,11,6,33,4,5+128,1+128,"tprq"
  73. 720 onf%goto820,1100,760,1660
  74. 730 rem
  75. 740 rem *** help file and credits ***
  76. 750 rem
  77. 760 sysss,208
  78. 770 sysfr,12288,7,5,"[213] [204] [212] [210] [193] [199] [197] [205] [211]   [200] [197] [204] [208]"
  79. 780 syssr,208:goto710
  80. 790 rem
  81. 800 rem *** text files only ***
  82. 810 rem
  83. 820 sysss,216
  84. 830 syssh,4,33,17,17
  85. 840 forx=1to7
  86. 850 sysbx,5,34,8,8+x,32,0
  87. 860 forq=1to10:nextq
  88. 870 nextx
  89. 880 sysfm,5,34,8,16,4
  90. 890 sysat,7,9,m$(5)
  91. 900 sysat,7,10,m$(6)
  92. 910 sysat,7,11,m$(7)
  93. 920 sysat,7,12,m$(8)
  94. 930 sysat,7,13,m$(9)
  95. 940 poke198,0:sysad,9,6,32,5,5+128,1+128,"12345"
  96. 950 sysss,216:sysat,8,20,"[159] [211]tandby...[204]oading [212]ext [146]"
  97. 960 rem
  98. 970 rem *** names for text files ***
  99. 980 rem
  100. 990 iff%=1thenx$="p.ml tutorial 1":y$="[205] [204]  [212] [213] [212] [207] [210] [201] [193] [204]   1"
  101. 1000 iff%=2thenx$="p.c-64 lists":y$="[195] - 6 4   [204] [201] [211] [212] [211]"
  102. 1010 iff%=3thenx$="p.ishuda 128":y$="[201] [211] [200] [213] [196] [193] ([204]oadstar 128)"
  103. 1020 iff%=4thenx$="p.ml mon pgms":y$="[205] [207] [210] [197]   [208] [210] [207] [199] [210] [193] [205] [211]"
  104. 1030 iff%=5thensyssr,208:goto710
  105. 1040 sysdt,x$,dv,16384
  106. 1050 sysfr,16384,7,5,y$
  107. 1060 syssr,216:goto940
  108. 1070 rem
  109. 1080 rem *** programs w/ text files ***
  110. 1090 rem
  111. 1100 sysss,208
  112. 1110 forx=1to16
  113. 1120 sysbx,4,35,2,2+x,32,0
  114. 1130 forq=1to10:nextq
  115. 1140 nextx
  116. 1150 sysfm,4,35,2,18,4
  117. 1160 forx=10to23
  118. 1170 sysat,8,x-7,m$(x)
  119. 1180 nextx
  120. 1190 sysat,8,17,m$(9)
  121. 1200 poke198,0:sysad,3,5,32,15,5+128,1+128,"123456789abcdef"
  122. 1210 iff%=15thensyssr,208:goto710
  123. 1220 sysss,216:sysat,8,20,"[159] [211]tandby...[204]oading [212]ext [146]":fl=0
  124. 1230 onf%gosub1280,1290,1300,1310,1320,1330,1340,1350,1360,1370,1380,1390,1400
  125. 1235 iff%=14thengosub1405
  126. 1240 goto1410
  127. 1250 rem
  128. 1260 rem *** names for programs ***
  129. 1270 rem
  130. 1280 x$="p.starship":y$="[211]tarship [201]nvasion":fl=1:return
  131. 1290 x$="p.starboard 151":y$="[195]omic [195]ollector":return
  132. 1300 x$="p.starboard 151":y$="[195]ad-[205]":return
  133. 1310 x$="p.antrock":y$="[193]ntrock":fl=1:return
  134. 1320 x$="p.mondo wordo ii":y$="[205]ondo [215]ordo [201][201]":return
  135. 1330 x$="p.star pinochle":y$="[211]tar [208]inochle":return
  136. 1340 x$="p.screensaver 13":y$="[211]creen [211]aver":return
  137. 1350 x$="p.the realm":y$="[212]he [210]ealm":return
  138. 1360 x$="p.maze tag":y$="[205]aze [212]ag":fl=1:return
  139. 1370 x$="p.burgertime 97":y$="[194]urgertime '97":fl=1:return
  140. 1380 x$="p.laser storm":y$="[204]aser [211]torm":fl=1:return
  141. 1390 x$="p.corky universe":y$="[195]orky's [213]niverse":return
  142. 1400 x$="p.legal beagle":y$="[204]egal [194]eagle":return
  143. 1405 x$="p.geezenstacks":y$="[199]eezenstacks":return
  144. 1410 sysdt,x$,dv,16384
  145. 1420 sysfr,16384,7,5,y$
  146. 1430 syssr,216
  147. 1440 sysbx,6,33,4,15,160,4
  148. 1450 sysfm,5,34,3,16,7
  149. 1460 sysat,8,8,"[156][196]o you want to load the[146]"
  150. 1470 sysat,8,9,"[213][204][212][210][193][199][197][205] program for...[146]"
  151. 1480 sysce,12,""+y$
  152. 1490 sysat,8,20,"[159] [208]lease select  [217] or [206] [146]"
  153. 1500 poke198,0:sysbr,"yn"
  154. 1510 onf%goto1530,1520
  155. 1520 syssr,216:goto1200
  156. 1530 v=len(x$):v$=right$(x$,v-2):q$=chr$(34)
  157. 1540 iffl=0thenn$="u."+v$
  158. 1550 iffl=1thenn$="n."+v$
  159. 1560 poke53272,23
  160. 1570 print"[147]p[207]43,1:p[207]44,8:p[207]55,0:p[207]56,160:p[207]2048,0:clr"
  161. 1580 print"l[207] "q$n$q$","dv
  162. 1590 print"r[213]:"
  163. 1600 print""
  164. 1610 poke631,13:poke632,13:poke633,13:poke198,3
  165. 1620 new:end
  166. 1630 rem
  167. 1640 rem *** quit to loadstar ***
  168. 1650 rem
  169. 1660 sysss,208
  170. 1670 sysat,6,20,"[159] [209]uit!  [193]re [217]ou [211]ure? ([217]/[206]) [146]"
  171. 1680 sysbr,"yn"
  172. 1690 onf%goto1710,1700
  173. 1700 syssr,208:goto710
  174. 1710 sysat,5,20,"[159] [201]nsert [204][207][193][196][211][212][193][210] [196]isk/[193]ny [203]ey [146]"
  175. 1720 getq$:ifq$=""then1720
  176. 1730 rem
  177. 1740 rem *** return to loadstar ***
  178. 1750 rem
  179. 1760 fori=8to29:poke820+i,i:next:ifdv>8anddv<30thenpoke828,dv:poke820+dv,8
  180. 1770 a$="presenter":gosub1790:a$="hello connect":gosub1790
  181. 1780 print"[147]":poke53272,23:poke186,8:poke2048,0:poke44,8:poke43,1:end
  182. 1790 forj=8to29:i=peek(820+j):ifi=14thennext
  183. 1800 close2:open2,i,2:close2:ifstthen1820
  184. 1810 close15:open15,i,15,"r0:"+a$+"="+a$:input#15,er:close15:ifer=63then1830
  185. 1820 next:return
  186. 1830 a$="hello connect":q$=chr$(34):poke646,peek(53281):print"[147]":poke53272,23
  187. 1840 print"[147]p[207]2048,0:p[207]44,8:p[207]43,1:p[207]56,160:p[207]55,0:clr:l[207]"q$a$q$","i
  188. 1850 print"run:":poke631,13:poke632,13:poke198,2:end
  189. 1860 rem
  190. 1870 rem *** save and replace ***
  191. 1880 rem
  192. 10000 d=peek(186):n$="ultra.main":open15,d,15,"s0:"+n$:close15:saven$,d:end
  193.