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
80REM Christmas version adapted by J
Ripley
90:
100D%=30:REM NUMBER OF FLAKES
110DIMC%(D%):FORL%=0TOD%:C%(L%)=RND(&4
00)+&7CF0:NEXT
120REM C%(0)=0:REM REMOVE REM FROM HER
E FOR NO SNOW
130:
140MODE&7:VDU23;8202;0;0;0;
150PROCa:PROCb
160ONERRORVDU3:MODE7:REPORT:PRINT" at
line ";ERL:PROCc("FX21"):PROCc("KEY0 LIS
T "+STR$(ERL)+"|M"):PROCc("FX138,0,128")
:PROCd:END
170REPEATe$=FNf:IFASCe$<>27:PROCg(e$)
180UNTILASCe$=27:MODE7:PROCd:END
190:
200DEFPROCa:*FX4,1
210*FX225,128
220*FX229,1
230ENDPROC
240DEFPROCd:*FX4
250*FX225,1
260*FX229
270ENDPROC
280:
290DEFFNS:IFTOP-PAGE>&2200:PRINT"Too l
ong"
300="$.!Boot"
310DEFPROCb:*FX12
320v$="MODE3TEXT MODE7TTXT ARCHIARCHIC
HAINBASICLOAD LOAD LIST LIST "
330d%=6
340i%=2
350p%=3
360q%=7
370r%=1
380s%=2
390t%=2
400u%=6
410v%=5
420w%=4
430x%=3
440y%=5
450z%=7
460aa%=7
470ba%=7
480:
490DIMh%256,l%(14):i$=FNj
500PROCfs("$"):RESTORE:READ n$,m$
510IFLEFT$(STR$(V%),5)="985"+n$:f%=VAL
(MID$(STR$(V%),6,2)):e%=VAL(MID$(STR$(V%
),8,2)) ELSE f%=1:e%=1
520VDU26:CLS:PRINTCHR$(128+i%);" I.D.
";i$;" ";CHR$(144+p%);"¶///////%¶///////
//////////¶";
530PRINTCHR$(144+p%);"¶///////////*///
/////";CHR$(128+r%);" Issue ";LEFT$(n
$,2);" ";CHR$(144+p%);"¶";
540PRINTCHR$(144+p%);"¶";CHR$(144+q%);
"6£4 7i(h0 6) 0`$t` ` 0 0` ";CH
R$(144+p%);"¶";
550PRINTCHR$(144+p%);"¶";CHR$(144+q%);
"6£4!7ijj 2ijjj!5jhj`nj =!";CHR$(128+r%
);LEFT$(m$,8);CHR$(144+p%);"¶";
560PRINTCHR$(144+p%);"
""£ £!" ! "! !" " !! £" "! ";CH
R$(145);" ";
570FORn%=1TO18:PRINTCHR$(144+p%);"¶";S
PC(36);CHR$(144+p%);"¶";:NEXT
580PRINTCHR$(144+p%);"¶|||||||||||||||
||||||||||||||||||||||¶";
590VDU28,2,22,37,5
600ENDPROC
610DEFPROCfs(A$):LOCALA%,Y%,E%,n%:fs%=
(USR&FFDA)AND&FF:l$=A$:IFA$="":l$="$.Lib
rary":IFfs%=4 ORfs%=65:l$=":0.%"
620PROCc("LIB "+l$):IFA$="":IFfs%>4:n%
=OPENIN("%"):IFn%:CLOSE#n%:l$="%"
630t3$=l$+".7to3":t7$=l$+".3to7":sc$=l
$+".Scroll":ar$=l$+".Archive":ENDPROC
640:
650DEFPROCc($h%):LOCALX%,Y%
660X%=h%:Y%=X%DIV256:CALL&FFF7
670ENDPROC
680DEFPROCos(c$):IFLEFT$(c$,1)="*":PRO
Cc(c$):ENDPROC
690I%=INSTR(c$," "):IFI%:PROCc("KEY0 |
@"+MID$(c$,I%+1)+"|M"):*FX138,0,192
700CHAINc$:ENDPROC
710DEFFNj=$(PAGE+&2F)
720DEFFNf:LOCALt$,n%,m$,s$,g%,m%
730CLS:PROCla(f%):READt$,n%
740IFn%>14:n%=14
750PRINTTAB(0,0);CHR$(128+s%);TAB(1+(1
7.5-(LEN(t$)/2)),0);t$
760FORm%=1TOn%:READm$,s$,s$,s$
770o%=VALs$:IFo%=0:o%=-1-INSTR(v$,LEFT
$(s$,5))DIV10
780l%(m%)=o%:PRINTTAB(1,1+m%);" ";CHR
$(128+t%);CHR$(64+m%);CHR$(128+u%);m$;TA
B(35,1+m%);CHR$156;:NEXT
790PRINTTAB(1,1+e%);CHR$(128+w%);CHR$1
57;
800PRINTTAB(0,16);"
¶÷¶÷¶tx¶¾x¶÷|x¶t";
810PRINTTAB(0,17);CHR$(128+v%);"Press"
;CHR$129;"f0";CHR$(128+v%);"for help.";C
HR$(128+d%);
820REPEAT:REPEAT*FX21
830PRINTTAB(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);
840REPEATg%=INKEY(0):IF g%=-1PROCx
850UNTILg%<>-1:IF(g%AND&E0)=&60:g%=g%-
32
860UNTILINSTR(CHR$128+CHR$138+CHR$139+
CHR$13+"48OPRSX",CHR$g%)OR(g%>64 ANDg%<=
64+n%)OR(g%=27ANDINKEY-1)
870PRINTTAB(1,1+e%);" ";
880IFg%=138:e%=e%MODn%+1
890IFg%=139:e%=e%-1:IFe%=0:e%=n%
900IFg%>64ANDg%<=64+n%:e%=g%-64
910PRINTTAB(1,1+e%);CHR$(128+w%);CHR$1
57;
920V%=985000000+VALn$*10000+f%*100+e%
930UNTILINSTR("48OPRSX"+CHR$128+CHR$27
+CHR$13,CHR$g%):IFg%=128:PROCma
940PRINTTAB(5,1+e%);">";
950=CHR$(g%)+STR$(e%)
960:
970DEFPROCma:LOCALg%:CLS
980PRINTTAB(5,0);CHR$(128+x%);"Using t
he 8BS menu system"
990PRINTTAB(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."
1000PRINT'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"
1010PRINTCHR$(128+y%);"4 will display i
t in 40 columns,"
1020PRINTCHR$(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."
1030PRINTTAB(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...";
1040REPEAT:*FX21
1050g%=GET:UNTILg%=27ORg%=128
1060IFg%=27:ENDPROC
1070CLS:PRINTTAB(5,0);CHR$(128+x%);"Usi
ng the 8BS menu system"
1080PRINTTAB(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"
1090PRINTCHR$(128+y%)"Return will run/l
oad/list the"'CHR$(128+y%)"program with
the default option."
1100PRINT'CHR$(128+y%);"Pressing SHIFT
and ESCAPE together"'CHR$(128+y%);"at th
e menu will return you to"'CHR$(128+y%);
"BASIC."
1110PRINTTAB(0,16);CHR$(128+z%);"Press
ESCAPE to return to the"'CHR$(128+z%);"m
enu...";
1120REPEAT:*FX21
1130UNTILGET=27:ENDPROC
1140:
1150DEFPROCg(e$):IFASCe$=128:ENDPROC
1160LOCALn%,x$,d$,f$,s$
1170PROCla(f%):READd$,n%
1180FORn%=1TOVAL(MID$(e$,2))
1190READx$,d$,f$,s$:NEXT:VDU30,10,152
1200IFVALs$>99:IFVALs$DIV100=fs%:s$=RIG
HT$(s$,2) ELSE IFVALs$>99:s$="0"
1210o%=VALs$:IFo%>0:f%=o%:e%=1:ENDPROC
1220IFo%=0 ANDs$="0":ENDPROC
1230e$=CHR$ASCe$:PROCd:IFd$="%":d$=l$
1240REM IFfs%=4 AND MID$(f$,2,1)="/":f$
=LEFT$(f$,1)+"."+MID$(f$,3)
1250REM IFfs%=4 AND x$<>"":d$=x$
1260IFfs%=4:f$=LEFT$(f$,7-2*(MID$(f$,2,
1)="."))
1270IFo%=0:o%=-1-INSTR(v$,LEFT$(s$,5))D
IV10
1280IFo%=-1:PROCu:ENDPROC
1290IFo%=-2:PROCv:ENDPROC
1300IFd$<>"":PROCc("DIR "+d$)
1310IFo%=-3:PROCos(ar$+" -quit $.!Boot|
M -e "+f$):ENDPROC
1320IFo%>-7 ANDo%<-2 ANDe$<>CHR$13:o%=I
NSTR("XSR",e$)-7
1330IFo%=-4:CHAINf$
1340IFo%=-5:PROCc("KEY0 *LOAD """+f$+"
""|F|M"):PROCc("FX21"):PROCc("FX138,0,12
8"):VDU22,7:END
1350IFo%=-6:PROCc("KEY0 LOAD"""+f$+"""|
MLIST|F|N|M|O"):PROCc("FX21"):PROCc("FX1
38,0,128"):VDU22,7:END
1360IFo%=-7:PROCc("KEY0 *LDPIC """+f$+"
""|F|M"):PROCc("FX21"):PROCc("FX138,0,12
8"):VDU22,7:END
1370IFo%=-8:PROCc("KEY0 *RUN """+f$+"""
|F|M"):PROCc("FX21"):PROCc("FX138,0,128"
):VDU22,7:END
1380PROCos(s$+" "+f$):END
1390ENDPROC
1400:
1410DEFPROCu
1420IFd$<>"":f$=d$+"."+f$
1430IFe$="4":PROCos(t7$+" "+f$)
1440PROCos(sc$+" -lp *lp -4 "+t7$+" "+f
$+" -quit $.!Boot")
1450ENDPROC
1460DEFPROCv
1470IFd$<>"":f$=d$+"."+f$
1480IFe$="8":Z%=0:PROCos(t3$+" "+f$)
1490IFe$="P":Z%=1:PROCos(t3$+" "+f$)
1500IFe$<>"O":PROCd:PROCc("KEY0 *Load "
+f$+"|MCALL &1904|M"):PROCc("FX138,0,128
"):END
1510CLS:PRINTCHR$(128+aa%);"Please pres
s the key to use to"'CHR$(128+aa%);"scro
ll up...":?&80=0:?&80=FNya
1520PRINT'CHR$(128+aa%);"Please press t
he key to use to"'CHR$(128+aa%);"scroll
down...":*FX21
1530?&81=FNya:PROCd:PROCc("KEY0 *LOAD "
+f$+"|M?&1974=?&80:?&1981=?&81:CALL&1904
|F|M"):*FX138,0,128
1540VDU21:END
1550ENDPROC
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:
1630DEFPROCx:IF C%(0)=0 ENDPROC
1640FORL%=0 TO RND(D%/2)+D%/2
1650IF?C%(L%)=135:IF?(C%(L%)+1)=42:?(C%
(L%)+1)=32:?C%(L%)=32
1660C%(L%)=C%(L%)+38+RND(3):IF C%(L%)>&
7F88 C%(L%)=RND(40)+&7CF0
1670IF?C%(L%)=32:IF?(C%(L%)+1)=32 ?C%(L
%)=135:?(C%(L%)+1)=42
1680NEXT
1690ENDPROC
1700:
1710:
1720REM Issue num, Issue Date
1730DATA 60,18/12/97
1740:
1750DATA Magazine Disc Menu,9
1760DATA About This Disc,:0,Thi1,-2
1770DATA Editorial,:0,Editori,-2
1780DATA Program Info Menu,,,2
1790DATA Messages Menu,,,3
1800DATA Articles Menu,,,4
1810DATA Adverts Menu,,,5
1820DATA Utilities Menu,,,6
1830DATA Games Tunes And Demos Menu,,,7
1840DATA 8BS Messaging System,:0,SendMe
s,-4
1850:
1860DATA Program Info,5
1870DATA Program Info Collection,:0,Doc
1,-2
1880DATA Messaging System Info,:2,MesIn
f,-2
1890DATA Year 2000 Fix,:2,y2kinf,-1
1900DATA Messages Menu,,,3
1910DATA Return To Main Menu,,,1
1920:
1930DATA Messages,9
1940DATA To You,:0,uu,-2
1950DATA Comments on Programs,:0,Commen
t,-2
1960DATA Help Offered,:0,HelpYou,-2
1970DATA Help Wanted,:0,HelpMe,-2
1980DATA General Messages,:0,Gen1,-2
1990DATA Last Messages 1,:0,Last1,-2
2000DATA Last Messages 2,:0,Last2,-2
2010DATA Articles Menu,,,4
2020DATA Return To Main Menu,,,1
2030:
2040DATA Articles Menu,9
2050DATA Regular Contacts,:0,Contact,-2
2060DATA Superior Collection 2 Review,:
2,Sup2Rev,-1
2070DATA Master Break Review,:0,MBrkRev
,-1
2080DATA Free Commercial Games!,:2,Grev
S,-1
2090DATA Play it Again Sam 2 Review,:2,
Sam2Rev,-1
2100DATA NTAUS Too,:2,NTAUS2,-1
2110DATA View Hints,:0,VHints,-1
2120DATA Adverts Menu,,,5
2130DATA Return To Main Menu,,,1
2140:
2150DATA Adverts Menu,9
2160DATA 8BS Advert,:2,8BSAD,-1
2170DATA For Sale,:0,ForSale,-2
2180DATA Wanted,:0,Wanted,-2
2190DATA Superior Software Offer,:0,Sup
Soft,-1
2200DATA D9F,:2,D9Fad,-1
2210DATA D5K,:2,D5Kad,-1
2220DATA D6G,:2,D6Gad,-1
2230DATA 4WL,:2,4WLad,-1
2240DATA Return To Main Menu,,,1
2250:
2260DATA Utilities Menu,14
2270DATA 8BS ID Stamper,:2.S,IDSTAMP,-4
2280DATA Mode 7 Screen Editor,:2.S,MODE
7SD,-4
2290DATA Repeat Last Command,:2.S,Repea
t,-8
2300DATA Sideways Ram Loader,:2.S,Loade
r,-6
2310DATA Quick Format ADFS,:2.S,QFADFS,
-4
2320DATA Quick Format DFS,:2.S,QFDFS,-4
2330DATA Scan Disc ADFS,:2.S,SDADFS,-4
2340DATA Scan Disc DFS,:2.S,SDDFS,-4
2350DATA Year 2000 Fix,:2.S,stop,-4
2360DATA Message Sizer,:2.S,MsgSize,-4
2370DATA Message File Reader,:2.S,MesgR
dr,-4
2380DATA Print a File,:2.S,Stop,-4
2390DATA Code Catcher,:0.S,CodeCat,-4
2400DATA Return To Main Menu,,,1
2410:
2420DATA Games Tunes and Demos,8
2430DATA Red Lamp Poem. PRINTER ON!,:2.
S,RedLamp,-4
2440DATA Diamond Adventure,:2.S,Diamond
,-4
2450DATA LED Demo,:2.S,LEDemo,-4
2460DATA 8BS Xmas Tree,:2.S,XLoad,-4
2470DATA Turkey. Poem. PRINTER ON!,:0.S
,TurkeyT,-4
2480DATA Fretting. Poem. PRINTER ON!,:0
.S,Frett,-4
2490DATA 20 Carols,:0.S,20Car,-4
2500DATA Return To Main Menu,,,1
2510: