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%=5:REM Description 280i%=4:REM ID 290p%=2:REM Menu outline 300q%=5:REM "8-Bit Software" 310r%=3:REM Date + issue 320s%=6:REM Menu heading 330t%=2:REM Letters 340u%=3:REM Menu items 350v%=6:REM Help prompt 360w%=4:REM Selection bar 370x%=5: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%);" ";CHR$(144+q%); ""£ £!" ! "! !" " !! £" "! ";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 62,26/03/98 1570: 1580DATA Magazine Disc Menu,9 1590DATA About This Disc,:0,Thi1,-2 1600DATA Editorial,:0,Editori,-2 1610DATA Program Info Menu,,,2 1620DATA Messages Menu,,,3 1630DATA Articles Menu,,,4 1640DATA Adverts Menu,,,5 1650DATA Utilities Menu,,,6 1660DATA Games And Demos Menu,,,7 1670DATA 8BS Messaging System,:0,SendMe s,-4 1680: 1690DATA Program Info,7 1700DATA Program Info Collection,:0,Doc 1,-2 1710DATA Messaging System Info,:2,MesIn f,-2 1720DATA Textual Filer Info,:2,FileInf, -1 1730DATA Calculate Day of the week,:2,D ayWeek,-2 1740DATA Calendar/Notepad Printer,:2,Ca lnInf,-1 1750DATA Messages Menu,,,3 1760DATA Return To Main Menu,,,1 1770: 1780DATA Messages,7 1790DATA To You,:0,uu,-2 1800DATA Help Offered,:0,HelpYou,-2 1810DATA Help Wanted,:0,HelpMe,-2 1820DATA General Messages 1,:0,Gen1,-2 1830DATA General Messages 2,:0,Gen2,-2 1840DATA Articles Menu,,,4 1850DATA Return To Main Menu,,,1 1860: 1870DATA Articles Menu,11 1880DATA Regular Contacts,:0,Contact,-2 1890DATA Free Commercial Games!,:2,Grev S,-1 1900DATA Switch off the Econet,:2,EcoOf f,-1 1910DATA Using the 6502 Co-Pro,:2,HiDem oT,-1 1920DATA Astronomical FAQ,:2,ASTFAQ3,-1 1930DATA Play it Again Sam 6 Review,:2, PAS6Rev,-1 1940DATA Play it Again Sam 10 Review,:0 ,PAS10Re,-1 1950DATA Acornsoft Hits Vol.2 Review,:2 ,AHV2Rev,-1 1960DATA A Thought From D2G,:2,Green,-1 1970DATA Adverts Menu,,,5 1980DATA Return To Main Menu,,,1 1990: 2000DATA Adverts Menu,6 2010DATA 8BS Advert,:0,8BSAD,-1 2020DATA For Sale,:0,ForSale,-2 2030DATA Wanted,:0,Wanted,-2 2040DATA Superior Software Offer,:0,Sup Soft,-1 2050DATA 4WL,:0,4WLad,-1 2060DATA Return To Main Menu,,,1 2070: 2080DATA Utilities Menu,7 2090DATA Using the 6502 Co-Pro,:2.S,Sto p,-4 2100DATA Textual Filer,:2.S,Filer,-4 2110DATA Fixed ID Stamper,:2.S,IDStamp, -4 2120DATA DFS Backup,:2.S,Backup,-4 2130DATA Calculate Day of Week Test,:2. S,DyWkTst,-4 2140DATA Calendar/Notepad Printer,:2.S, Calenda,-4 2150DATA Return To Main Menu,,,1 2160: 2170DATA Games and Demos,5 2180DATA Snow,:2.S,Snowing,-4 2190DATA Spitfire Picture,:2.S,LSpit,-4 2200DATA Haunted House Adventure,:2.S,H ouse,-4 2210DATA Soup. Poem. PRINTER READY!,:2. S,Soup,-4 2220DATA Return To Main Menu,,,1 2230: