8-Bit Software Online Conversion

:0.$.!Boot - Listing

10REM¶*Basic 20REM¶CHAIN"$.!Boot" 30*Exec 40REM *** 50REM First three lines MUST NOT be e dited 60REM 8BS Menu, S.Flintham. 70REM Modified by J.Ripley, C.J.Richa rdson, J.G.Harston, V2.11 80MODE&87:VDU23;8202;0;0;0; 90PROCa:PROCb 100ONERRORVDU3:MODE7:REPORT:PRINT" at line ";ERL:PROCc("FX21"):PROCc("KEY0 LIS T "+STR$(ERL)+"|M"):PROCc("FX138,0,128") :PROCd:END 110REPEATe$=FNf:IFASCe$<>27:PROCg(e$) 120UNTILASCe$=27:MODE7:PROCd:END 130: 140DEFPROCa:*FX4,1 150*FX225,128 160*FX229,1 170ENDPROC 180DEFPROCd:*FX4 190*FX225,1 200*FX229 210ENDPROC 220: 230DEFFNS:IFTOP-PAGE>&2200:PRINT"Too l ong" 240="$.!Boot" 250DEFPROCb:*FX12 260v$="MODE3TEXT MODE7TTXT ARCHIARCHIC HAINBASICLOAD LOAD LIST LIST " 270d%=3:REM Description 280i%=6:REM ID 290p%=5:REM Menu outline 300q%=6:REM "8-Bit Software" 310r%=3:REM Date + issue 320s%=6:REM Menu heading 330t%=7:REM Letters 340u%=6:REM Menu items 350v%=2:REM Help prompt 360w%=4:REM Selection bar 370x%=3:REM Help screen title 380y%=2:REM Help screen text 390z%=7:REM Help screen prompt 400aa%=7:REM Scroll screen text 410ba%=7:REM Unused 420: 430DIMh%256,l%(14):i$=FNj 440PROCfs("$"):RESTORE:READ n$,m$ 450IFLEFT$(STR$(V%),5)="985"+n$:f%=VAL (MID$(STR$(V%),6,2)):e%=VAL(MID$(STR$(V% ),8,2)) ELSE f%=1:e%=1 460VDU26:CLS:PRINTCHR$(128+i%);" I.D. ";i$;" ";CHR$(144+p%);"¶///////%¶/////// //////////¶"; 470PRINTCHR$(144+p%);"¶///////////*/// /////";CHR$(128+r%);" Issue ";LEFT$(n $,2);" ";CHR$(144+p%);"¶"; 480PRINTCHR$(144+p%);"¶";CHR$(144+q%); "6£4 7i(h0 6) 0`$t` ` 0 0` ";CH R$(144+p%);"¶"; 490PRINTCHR$(144+p%);"¶";CHR$(144+q%); "6£4!7ijj 2ijjj!5jhj`nj =!";CHR$(128+r% );LEFT$(m$,8);CHR$(144+p%);"¶"; 500PRINTCHR$(144+p%);" ""£ £!" ! "! !" " !! £" "! ";CH R$(145);" "; 510FORn%=1TO18:PRINTCHR$(144+p%);"¶";S PC(36);CHR$(144+p%);"¶";:NEXT 520PRINTCHR$(144+p%);"¶||||||||||||||| ||||||||||||||||||||||¶"; 530VDU28,2,22,37,5 540ENDPROC 550DEFPROCfs(A$):LOCALA%,Y%,E%,n%:fs%= (USR&FFDA)AND&FF:l$=A$:IFA$="":l$="$.Lib rary":IFfs%=4 ORfs%=65:l$=":0.%" 560PROCc("LIB "+l$):IFA$="":IFfs%>4:n% =OPENIN("%"):IFn%:CLOSE#n%:l$="%" 570t3$=l$+".7to3":t7$=l$+".3to7":sc$=l $+".Scroll":ar$=l$+".Archive":ENDPROC 580: 590DEFPROCc($h%):LOCALX%,Y% 600X%=h%:Y%=X%DIV256:CALL&FFF7 610ENDPROC 620DEFPROCos(c$):IFLEFT$(c$,1)="*":PRO Cc(c$):ENDPROC 630I%=INSTR(c$," "):IFI%:PROCc("KEY0 | @"+MID$(c$,I%+1)+"|M"):*FX138,0,192 640CHAINc$:ENDPROC 650DEFFNj=$(PAGE+&2F) 660DEFFNf:LOCALt$,n%,m$,s$,g%,m% 670CLS:PROCla(f%):READt$,n% 680IFn%>14:n%=14 690PRINTTAB(0,0);CHR$(128+s%);TAB(1+(1 7.5-(LEN(t$)/2)),0);t$ 700FORm%=1TOn%:READm$,s$,s$,s$ 710o%=VALs$:IFo%=0:o%=-1-INSTR(v$,LEFT $(s$,5))DIV10 720l%(m%)=o%:PRINTTAB(1,1+m%);" ";CHR $(128+t%);CHR$(64+m%);CHR$(128+u%);m$;TA B(35,1+m%);CHR$156;:NEXT 730PRINTTAB(1,1+e%);CHR$(128+w%);CHR$1 57; 740PRINTTAB(0,17);CHR$(128+v%);"Press" ;CHR$129;"f0";CHR$(128+v%);"for help.";C HR$(128+d%); 750REPEAT:REPEAT*FX21 760PRINTTAB(20,17);:IFl%(e%)>0:PRINT"A nother menu ";ELSE PRINTMID$("Runs Code 80 Column Text40 Column TextArchive Basic Program Loads BASIC Lists Basic Uses LDPIC *RUN -9 ",-14*l%(e%)+1,14); 770g%=GET:IF(g%AND&E0)=&60:g%=g%-32 780UNTILINSTR(CHR$128+CHR$138+CHR$139+ CHR$13+"48OPRSX",CHR$g%)OR(g%>64 ANDg%<= 64+n%)OR(g%=27ANDINKEY-1) 790PRINTTAB(1,1+e%);" "; 800IFg%=138:e%=e%MODn%+1 810IFg%=139:e%=e%-1:IFe%=0:e%=n% 820IFg%>64ANDg%<=64+n%:e%=g%-64 830PRINTTAB(1,1+e%);CHR$(128+w%);CHR$1 57; 840V%=985000000+VALn$*10000+f%*100+e% 850UNTILINSTR("48OPRSX"+CHR$128+CHR$27 +CHR$13,CHR$g%):IFg%=128:PROCma 860PRINTTAB(5,1+e%);">"; 870=CHR$(g%)+STR$(e%) 880: 890DEFPROCma:LOCALg%:CLS 900PRINTTAB(5,0);CHR$(128+x%);"Using t he 8BS menu system" 910PRINTTAB(0,2);CHR$(128+y%);"Use the up and down cursor keys to"'CHR$(128+y% );"move the bar or press the letter"'CHR $(128+y%);"next to the required menu opt ion to";CHR$(128+y%);"position it immedi ately." 920PRINT'CHR$(128+y%);"Press RETURN to load or view the"'CHR$(128+y%);"highlig hted program/article. If it"'CHR$(128+y% );"is an article, pressing 8 will"'CHR$( 128+y%);"display it in 80 columns. Press ing" 930PRINTCHR$(128+y%);"4 will display i t in 40 columns," 940PRINTCHR$(128+y%);"P will print it out and pressing"'CHR$(128+y%);"O will a llow you to view it in"'CHR$(128+y%);"te letext mode with your own choice"'CHR$(1 28+y%);"of scrolling keys." 950PRINTTAB(0,16);CHR$(128+z%);"Press" ;CHR$(129);"f0";CHR$(128+z%);"for more h elp or ESCAPE"'CHR$(128+z%);"to return t o the menu..."; 960REPEAT:*FX21 970g%=GET:UNTILg%=27ORg%=128 980IFg%=27:ENDPROC 990CLS:PRINTTAB(5,0);CHR$(128+x%);"Usi ng the 8BS menu system" 1000PRINTTAB(0,2)CHR$(128+y%)"If it is a Basic program, pressing"'CHR$(128+y%)" R will run it, S will load it, and"'CHR$ (128+y%)"X will load and list it. Pressi ng" 1010PRINTCHR$(128+y%)"Return will run/l oad/list the"'CHR$(128+y%)"program with the default option." 1020PRINT'CHR$(128+y%);"Pressing SHIFT and ESCAPE together"'CHR$(128+y%);"at th e menu will return you to"'CHR$(128+y%); "BASIC." 1030PRINTTAB(0,16);CHR$(128+z%);"Press ESCAPE to return to the"'CHR$(128+z%);"m enu..."; 1040REPEAT:*FX21 1050UNTILGET=27:ENDPROC 1060: 1070DEFPROCg(e$):IFASCe$=128:ENDPROC 1080LOCALn%,x$,d$,f$,s$ 1090PROCla(f%):READd$,n% 1100FORn%=1TOVAL(MID$(e$,2)) 1110READx$,d$,f$,s$:NEXT:VDU30,10,152 1120IFVALs$>99:IFVALs$DIV100=fs%:s$=RIG HT$(s$,2) ELSE IFVALs$>99:s$="0" 1130o%=VALs$:IFo%>0:f%=o%:e%=1:ENDPROC 1140IFo%=0 ANDs$="0":ENDPROC 1150e$=CHR$ASCe$:PROCd:IFd$="%":d$=l$ 1160REM IFfs%=4 AND MID$(f$,2,1)="/":f$ =LEFT$(f$,1)+"."+MID$(f$,3) 1170REM IFfs%=4 AND x$<>"":d$=x$ 1180IFfs%=4:f$=LEFT$(f$,7-2*(MID$(f$,2, 1)=".")) 1190IFo%=0:o%=-1-INSTR(v$,LEFT$(s$,5))D IV10 1200IFo%=-1:PROCu:ENDPROC 1210IFo%=-2:PROCv:ENDPROC 1220IFd$<>"":PROCc("DIR "+d$) 1230IFo%=-3:PROCos(ar$+" -quit $.!Boot| M -e "+f$):ENDPROC 1240IFo%>-7 ANDo%<-2 ANDe$<>CHR$13:o%=I NSTR("XSR",e$)-7 1250IFo%=-4:CHAINf$ 1260IFo%=-5:PROCc("KEY0 *LOAD """+f$+"" "|F|M"):PROCc("FX21"):PROCc("FX138,0,128 "):VDU22,7:END 1270IFo%=-6:PROCc("KEY0 LOAD"""+f$+"""| MLIST|F|N|M|O"):PROCc("FX21"):PROCc("FX1 38,0,128"):VDU22,7:END 1280IFo%=-7:PROCc("KEY0 *LDPIC """+f$+" ""|F|M"):PROCc("FX21"):PROCc("FX138,0,12 8"):VDU22,7:END 1290IFo%=-8:PROCc("KEY0 *RUN """+f$+""" |F|M"):PROCc("FX21"):PROCc("FX138,0,128" ):VDU22,7:END 1300PROCos(s$+" "+f$):END 1310ENDPROC 1320: 1330DEFPROCu 1340IFd$<>"":f$=d$+"."+f$ 1350IFe$="4":PROCos(t7$+" "+f$) 1360PROCos(sc$+" -lp *lp -4 "+t7$+" "+f $+" -quit $.!Boot") 1370ENDPROC 1380DEFPROCv 1390IFd$<>"":f$=d$+"."+f$ 1400IFe$="8":Z%=0:PROCos(t3$+" "+f$) 1410IFe$="P":Z%=1:PROCos(t3$+" "+f$) 1420IFe$<>"O":PROCd:PROCc("KEY0 *Load " +f$+"|MCALL &1904|M"):PROCc("FX138,0,128 "):END 1430CLS:PRINTCHR$(128+aa%);"Please pres s the key to use to"'CHR$(128+aa%);"scro ll up...":?&80=0:?&80=FNya 1440PRINT'CHR$(128+aa%);"Please press t he key to use to"'CHR$(128+aa%);"scroll down...":*FX21 1450?&81=FNya:PROCd:PROCc("KEY0 *LOAD " +f$+"|M?&1974=?&80:?&1981=?&81:CALL&1904 |F|M"):*FX138,0,128 1460VDU21:END 1470ENDPROC 1480DEFFNya:LOCALA%,B%:A%=&7A 1490REPEAT:B%=255-((USR&FFF4)AND&FF00)D IV256:UNTILB% ANDB%<>182ANDB%<>?&80 1500=B% 1510DEFPROCla(f%):LOCALm$,n%:RESTORE:RE ADm$,m$:IFf%<2:ENDPROC 1520REPEATREADm$,n%:REPEAT 1530READm$,m$,m$,m$:n%=n%-1:UNTILn%<1:f %=f%-1:UNTILf%<2:ENDPROC 1540: 1550REM Issue num, Issue Date 1560DATA 64,02/07/98 1570: 1580DATA Magazine Disc Menu,10 1590DATA About This Disc,:0,Thi1,-2 1600DATA Editorial,:0,Editori,-2 1610DATA Program Info Menu,,,2 1620DATA Messages Menu,,,3 1630DATA Articles Menu 1,,,4 1640DATA Articles Menu 2,,,5 1650DATA Adverts Menu,,,6 1660DATA Utilities Menu,,,7 1670DATA Games Tunes And Demos Menu,,,8 1680DATA 8BS Messaging System,:0,SendMe s,-4 1690: 1700DATA Program Info,6 1710DATA Program Info Collection,:0,Doc 1,-2 1720DATA Messaging System Info,:2,MesIn f,-2 1730DATA Rom Filing System Header,:2,RF SMAN,-1 1740DATA Fix DNFS,:2,FixDNFS,-1 1750DATA Messages Menu,,,3 1760DATA Return To Main Menu,,,1 1770: 1780DATA Messages,7 1790DATA To You,:0,uu,-2 1800DATA Comments on Programs,:0,Commen t,-2 1810DATA Help Offered,:0,HelpYou,-2 1820DATA Help Wanted,:0,HelpMe,-2 1830DATA General Messages,:0,Gen1,-2 1840DATA Articles Menu 1,,,4 1850DATA Return To Main Menu,,,1 1860: 1870DATA Articles Menu 1,13 1880DATA Regular Contacts,:0,Contact,-2 1890DATA Free Commercial Games!,:2,Grev S,-1 1900DATA Programming Viewstore. Part 2, :2,Views2,-1 1910DATA Play it Again Sam 12 Review,:2 ,pas12re,-1 1920DATA Play it Again Sam 15 Review,:2 ,pas15re,-1 1930DATA Play it Again Sam 16 Review,:2 ,PAS16RE,-1 1940DATA Play it Again Sam 17 Review,:2 ,PAS17RE,-1 1950DATA Acornsoft Hits Vol.1 Review,:2 ,AHV1Rev,-1 1960DATA Spycat Solution,:2,SpyCSol,-1 1970DATA The Hobbit Solution,:2,Hobbit, -1 1980DATA Big Volts,:0,BigVolt,-1 1990DATA Articles Menu 2,,,5 2000DATA Return To Main Menu,,,1 2010: 2020DATA Articles Menu 2,5 2030DATA 8BS Membership,:0,Memb,-1 2040DATA 8BS TBI Totals,:0,TBItot,-1 2050DATA 8BS TBI Top 200,:0,Top200,-1 2060DATA Adverts Menu,,,6 2070DATA Return To Main Menu,,,1 2080: 2090DATA Adverts Menu,8 2100DATA 8BS Advert,:0,8BSAD,-1 2110DATA For Sale,:0,ForSale,-2 2120DATA Wanted,:0,Wanted,-2 2130DATA Superior Software Offer,:0,Sup Soft,-1 2140DATA J.Battersby,:2,BatAd,-1 2150DATA Master Cartridges!,:2,Cart,-1 2160DATA D6G,:2,D6Gad,-1 2170DATA Return To Main Menu,,,1 2180: 2190DATA Utilities Menu,7 2200DATA Xterm Update,:2.S,Xterm,-4 2210DATA Backup Update,:2.S,Backup,-4 2220DATA SRSAVE,:2.S,Stop,-4 2230DATA Customise DNFS,:2.S,Stop,-4 2240DATA RFS Header,:2.S,RFSHEAD,-4 2250DATA JPEG Reader,:2.S,JPEGGER,-4 2260DATA Return To Main Menu,,,1 2270: 2280DATA Games Tunes and Demos,4 2290DATA Stuart McConnachie Demo,:2.S,D emo,-8 2300DATA Driver. Poem. PRINTER READY!,: 2.S,DRIVER,-4 2310DATA Graveyard Adventure,:2.S,Grave Yd,-8 2320DATA Return To Main Menu,,,1 2330: