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.15 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:REM I FDir$="$":END ELSE CHAIN"$.!Boot" 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 CALL CALL L DPICLDPICSCRLOSCRLO" 270d%=3:REM Description 280i%=6:REM ID 290p%=5:REM Menu outline 300q%=3:REM "8-Bit Software" 310r%=7:REM Date + issue 320s%=6:REM Menu heading 330t%=3:REM Letters 340u%=6:REM Menu items 350v%=3: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):X%=h%:Y%=X%DIV256:i $=FNj:REM *DIR$ 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$):LOCALn%:fs%=FNfs:Dn$= FNgbpbN(5):drv%=(X%?(22+X%?20))AND&FD 560l$=A$:IFA$="":l$="$.Library":IFfs%= 4 ORfs%=&105:l$=":"+STR$drv%+".%" 570REM Dir$=FNgbpbN(6):IFDir$<>"$":l$= "$."+Dir$+MID$(l$,2) 580Dir$="$":REM PATCH 590PROCc("LIB "+l$):IFA$="":IFfs%>4:n% =OPENIN("%"):IFn%:CLOSE#n%:l$="%" 600t3$=l$+".7to3":t7$=l$+".3to7":sc$=l $+".Scroll":ar$=l$+".Archive":ENDPROC 610DEFFNfs:LOCALA%,Y%,E%:=(USR&FFDA)AN D&FF 620DEFFNgbpbN(A%):X%!1=X%+20:CALL&FFD1 :A%=X%+20+((1+X%?20)AND(A%>5)):A%?(1+?A% )=13:=LEFT$($(A%+1),INSTR($(A%+1)+" "," ")-1) 630: 640DEFPROCc($h%):LOCALX%,Y% 650X%=h%:Y%=X%DIV256:CALL&FFF7 660ENDPROC 670DEFPROCos(c$):IFASCc$=42 ORc$="":OS CLIc$:ENDPROC ELSE CHAINc$:ENDPROC 680DEFFNj=$(PAGE+&2F) 690DEFFNf:LOCALt$,n%,m$,s$,g%,m% 700CLS:PROCla(f%):READt$,n0% 710IFn0%>14:n0%=14 720PRINTTAB(0,0);CHR$(128+s%);TAB(1+(1 7.5-(LEN(t$)/2)),0);t$ 730n%=0:m%=n0%:REPEATREADm$,s$,s$,s$ 740IFVALs$>99:IFVALs$DIV100=fs%:s$=RIG HT$(s$,2) ELSE IFVALs$>99:s$="0":m$="" 750o%=VALs$:IFo%=0ANDASCs$<>42:o%=-1-I NSTR(v$,LEFT$(s$,5))DIV10 760IFs$<>"0":n%=n%+1:l%(n%)=o%:PRINTTA B(1,1+n%)" "CHR$(128+t%)CHR$(64+n%)CHR$ (128+u%)LEFT$(m$,32);TAB(35,1+m%)CHR$156 ; 770m%=m%-1:UNTILm%<1:PRINTTAB(0,1+e%); CHR$(128+w%);CHR$157; 780PRINTTAB(0,17);CHR$(128+v%);"Press" ;CHR$129;"f0";CHR$(128+v%);"for help.";C HR$(128+d%); 790REPEAT:REPEAT*FX21 800PRINTTAB(20,17);:IFl%(e%)>0:PRINT"A nother menu ";ELSE PRINTMID$("Runs Code 80 Column Text40 Column TextArchive Basic Program Loads Basic Lists Basic Calls Basic LDPIC Picture Scr Load Pictr ",-14*l%(e%)+1,14); 810g%=GET:IF(g%AND&E0)=&60:g%=g%-32 820UNTILINSTR(CHR$128+CHR$138+CHR$139+ CHR$13+"48OPRSX",CHR$g%)OR(g%>64 ANDg%<= 64+n%)OR(g%=27ANDINKEY-1) 830PRINTTAB(1,1+e%);" "; 840IFg%=138:e%=e%MODn%+1 850IFg%=139:e%=e%-1:IFe%=0:e%=n% 860IFg%>64ANDg%<=64+n%:e%=g%-64 870PRINTTAB(1,1+e%);CHR$(128+w%);CHR$1 57; 880V%=985000000+VALn$*10000+f%*100+e% 890UNTILINSTR("48OPRSX"+CHR$128+CHR$27 +CHR$13,CHR$g%):IFg%=128:PROCma 900PRINTTAB(5,1+e%);">"; 910=CHR$(g%)+STR$(e%) 920: 930DEFPROCma:LOCALg%:CLS 940PRINTTAB(5,0);CHR$(128+x%);"Using t he 8BS menu system" 950PRINTTAB(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." 960PRINT'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" 970PRINTCHR$(128+y%);"4 will display i t in 40 columns," 980PRINTCHR$(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." 990PRINTTAB(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..."; 1000REPEAT:*FX21 1010g%=GET:UNTILg%=27ORg%=128 1020IFg%=27:ENDPROC 1030CLS:PRINTTAB(5,0);CHR$(128+x%);"Usi ng the 8BS menu system" 1040PRINTTAB(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" 1050PRINTCHR$(128+y%)"Return will run/l oad/list the"'CHR$(128+y%)"program with the default option." 1060PRINT'CHR$(128+y%);"Pressing SHIFT and ESCAPE together"'CHR$(128+y%);"at th e menu will return you to"'CHR$(128+y%); "BASIC." 1070PRINTTAB(0,16);CHR$(128+z%);"Press ESCAPE to return to the"'CHR$(128+z%);"m enu..."; 1080REPEAT:*FX21 1090UNTILGET=27:ENDPROC 1100: 1110DEFPROCg(e$):IFASCe$=128:ENDPROC 1120LOCALn%,x$,d$,f$,s$ 1130PROCla(f%):READd$,n% 1140FORn%=1TOVAL(MID$(e$,2)) 1150READx$,d$,f$,s$:IFVALs$>99:IFVALs$D IV100=fs%:s$=RIGHT$(s$,2) ELSE IFVALs$>9 9:s$="0":n%=n%-1 1160NEXT:o%=VALs$:IFo%>0:f%=o%:e%=1:END PROC 1170IFo%=0 ANDs$="0":ENDPROC 1180VDU26,31,0,21:e$=CHR$ASCe$:PROCd:IF d$="%":d$=l$:REM ...152 1190I%=INSTR(d$,"//"):IFI%:d$=MID$(d$,1 +((I%+1)AND(fs%<>4)),I%-1-128*(fs%<>4)) 1200IFfs%=4 AND MID$(f$,2,1)="/":f$=LEF T$(f$,1)+"."+MID$(f$,3) 1210IFfs%=4:f$=LEFT$(f$,7-2*(MID$(f$,2, 1)=".")) 1220IFfs%=4:IFLEFT$(d$,1)=":":d$=":"+ST R$(drv%ORVALMID$(d$,2))+MID$(d$,3) 1230IFLEFT$(d$,1)="$":IFDir$<>"$":d$="$ ."+Dir$+MID$(d$,2) 1240IFo%=0:o%=INSTR(v$,LEFT$(s$,5)):o%= (-1-o%DIV10)AND(o%>0) 1250IFo%=-1:PROCu:ENDPROC 1260IFo%=-2:PROCv:ENDPROC 1270IFd$<>"":PROCc("Dir "+d$) 1280IFo%=-3:PROCos(ar$+" -quit $.!Boot| M -e "+f$):ENDPROC 1290IFo%>-7 ANDo%<-2 ANDe$<>CHR$13:o%=I NSTR("XSR",e$)-7 1300IFo%=-4:CHAINf$ 1310IFo%=-5:PROCKey("*Load "+f$+"|F|M") 1320IFo%=-6:PROCKey("LOAD """+f$+"""|ML IST|F|N|M|O") 1330IFo%=-7:PROCos(f$+" -quit $.!Boot") :END 1340IFo%=-8:PROCKey("*LdPic "+f$+"|F|M" ) 1350IFo%=-9:PROCKey("*ScrLoad "+f$+"|F| M") 1360I%=INSTR(s$,"//"):IFI%:REPEATOSCLIL EFT$(s$,I%-1):s$=MID$(s$,I%+2):I%=INSTR( s$,"//"):UNTILI%=0:IFs$="RUN":RUN 1370PROCos(s$+" "+f$):END 1380ENDPROC 1390: 1400DEFPROCu 1410IFd$<>"":f$=d$+"."+f$ 1420IFe$="4":PROCos(t7$+" "+f$) 1430PROCos(sc$+" -lp *lp -4 "+t7$+" "+f $+" -quit $.!Boot") 1440ENDPROC 1450DEFPROCv 1460IFd$<>"":f$=d$+"."+f$ 1470IFe$="8":Z%=0:PROCos(t3$+" "+f$) 1480IFe$="P":Z%=1:PROCos(t3$+" "+f$) 1490IFe$<>"O":PROCd:PROCc("Run "+f$):EN D 1500CLS:PRINTCHR$(128+aa%);"Please pres s the key to use to"'CHR$(128+aa%);"scro ll up...":?&80=0:?&80=FNya 1510PRINT'CHR$(128+aa%);"Please press t he key to use to"'CHR$(128+aa%);"scroll down...":*FX21 1520?&81=FNya:PROCd:PROCKey("*Load "+f$ +"|M?&1974=?&80:?&1981=?&81:CALL&1904|F| M"):END 1530VDU21:END 1540ENDPROC 1550DEFPROCKey(A$):PROCc("KEY0 "+A$):PR OCc("FX21"):PROCc("FX138,0,192"):VDU22,7 :END::ENDPROC 1560DEFFNya:LOCALA%,B%:A%=&7A 1570REPEAT:B%=255-((USR&FFF4)AND&FF00)D IV256:UNTILB% ANDB%<>182ANDB%<>?&80 1580=B% 1590DEFPROCla(f%):LOCALm$,n%:RESTORE:RE ADm$,m$:IFf%<2:ENDPROC 1600REPEATREADm$,n%:REPEAT 1610READm$,m$,m$,m$:n%=n%-1:UNTILn%<1:f %=f%-1:UNTILf%<2:ENDPROC 1620: 1630REM Issue num, Issue Date 1640DATA 65,17/09/98 1650: 1660DATA Magazine Disc Menu,9 1670DATA About This Disc,:0,Thi1,-2 1680DATA Editorial,:0,Editori,-2 1690DATA Program Info Menu,,,2 1700DATA Messages Menu,,,3 1710DATA Articles Menu,,,4 1720DATA Adverts Menu,,,5 1730DATA Utilities Menu,,,6 1740DATA Games And Demos Menu,,,7 1750DATA 8BS Messaging System,%,SendMes ,-4 1760: 1770DATA Program Info,9 1780DATA Program Info Collection,:0,Doc 1,-2 1790DATA Messaging System Info,%,MsgInf ,-2 1800DATA 8BS Text Scroller,:2,ScroInf,- 1 1810DATA Read PH Rom,:2,RDMAN,-1 1820DATA Repeat Command,:2,RPMAN,-1 1830DATA Universal Packager,:2,UNMAN,-1 1840DATA Teletext Page Grabber,:2,TXGET PG,-1 1850DATA Messages Menu,,,3 1860DATA Return To Main Menu,,,1 1870: 1880DATA Messages,7 1890DATA To You,:0,uu,-2 1900DATA Comments on Programs,:0,Commen t,-2 1910DATA Help Offered,:0,HelpYou,-2 1920DATA Help Wanted,:0,HelpMe,-2 1930DATA General Messages,:0,Gen1,-2 1940DATA Articles Menu,,,4 1950DATA Return To Main Menu,,,1 1960: 1970DATA Articles Menu,13 1980DATA Regular Contacts,:0,Contact,-2 1990DATA Free Commercial Games!,:2,Grev S,-1 2000DATA 8BS CDrom Problems,:2,8BSCDR,- 2 2010DATA Play it Again Sam 13 Review,:2 ,PAS13RE,-1 2020DATA A Round Tuit,:2,tuit,-1 2030DATA Disc Drives. Mark Usher,:2,DDr ives,-1 2040DATA Twin Kingdom Valley Solution,: 2,Twin,-1 2050DATA Thunderstruck Solution,:2,Thun ,-1 2060DATA Return To Eden Solution,:2,Re tEden,-1 2070DATA Terrormolinos Hints,:2,TerMols ,-1 2080DATA Disc Densities,:2,DisKDen,-1 2090DATA Adverts Menu,,,5 2100DATA Return To Main Menu,,,1 2110: 2120DATA Adverts Menu,6 2130DATA 8BS Advert,:0,8BSAD,-1 2140DATA For Sale,:0,ForSale,-2 2150DATA Wanted,:0,Wanted,-2 2160DATA Superior Software Offer,:0,Sup Soft,-1 2170DATA D6G,:2,D6Gad,-1 2180DATA Return To Main Menu,,,1 2190: 2200DATA Utilities Menu,7 2210DATA 8BS Menu Reader,:2.S,MenRead,- 4 2220DATA Messaging Function Key Strip,: 2.S,MsgKeys,-4 2230DATA Read PH Rom,:2.S,RDPHrom,-4 2240DATA Repeat Command,:2.S,Repeat,*ru n 2250DATA Universal Packager,:2.S,UNIVER S,-4 2260DATA Teletext Page Grabber,:2.S,Txg etpg,-4 2270DATA Return To Main Menu,,,1 2280: 2290DATA Games and Demos,4 2300DATA All Lottery Numbers,:2.S,All-L ot,-4 2310DATA OXO,:2.S,OX,-4 2320DATA Angel Poem. PRINTER READY!,:2. S,Angel2,-4 2330DATA Return To Main Menu,,,1 2340: