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