8-Bit Software Online Conversion
:0.$.Menu - Listing
10D%=20:REM NUMBER OF FLAKES
20DIMC%(D%):FORL%=0TOD%:C%(L%)=RND(&4
00)+&7CF0:NEXT
30REM C%(0):REM REMOVE REM FROM HERE
FOR NO SNOW
40*FX119
50MODE3
60VDU22,7
70VDU23;8202;0;0;0;
80PROCa
90PROCb
100ONERRORVDU3:MODE7:REPORT:PRINT" at
line ";ERL:PROCc("KEY0 LIST "+STR$(ERL)+
"|M"):PROCc("FX138,0,128"):PROCd:END
110REPEAT
120e$=FNf
130IFLEFT$(e$,1)<>CHR$(27)THENPROCg(e$
):*DIR $
140UNTILLEFT$(e$,1)=CHR$(27)
150MODE7
160PROCd
170END
180DEFPROCa
190*FX225,128
200*FX229,1
210*FX4,1
220ENDPROC
230DEFPROCd
240*FX225,1
250*FX229,0
260*FX4,0
270ENDPROC
280DEFPROCb
290DIMh%256
300i$=FNj
310PROCk
320l$="39"
330m$="Dec 1994"
340n$=":0.$.7TO3":REM n$="$.MAG.7TO3"
350f%=1
360e%=1
370PROCo
380ENDPROC
390DEFFNS
400="Menu"
410DEFPROCk
420i%=5
430p%=6
440q%=1
450r%=2
460s%=6
470t%=2
480u%=3
490v%=5
500w%=4
510x%=3
520y%=2
530z%=3
540aa%=7
550ba%=7
560ENDPROC
570DEFPROCo
580LOCALca%
590VDU26,12
600PRINTCHR$(128+i%);" I.D. ";i$;" ";C
HR$(144+p%);"¶///////%¶/////////////////
¶";
610PRINTCHR$(144+p%);"¶///////////*///
/////";CHR$(128+r%);" Issue ";LEFT$(l
$,2);" ";CHR$(144+p%);"¶";
620PRINTCHR$(144+p%);"¶";CHR$(144+q%);
"jk 74$5 j£`p`pj 0 0p0p`p ";CH
R$(144+p%);"¶";
630PRINTCHR$(144+p%);"¶";CHR$(144+q%);
"jk"!7457 "kjjj$j!545=55j.";CHR$(128+r%
);LEFT$(m$,8);CHR$(144+p%);"¶";
640PRINTCHR$(144+p%);"
""£ £ !£! "£"£" "!££!!!!"£ ";CH
R$(145);" ";
650FORca%=1TO18
660PRINTCHR$(144+p%);"¶";SPC(36);CHR$(
144+p%);"¶";
670NEXT
680PRINTCHR$(144+p%);"¶|||||||||||||||
||||||||||||||||||||||¶";
690VDU28,2,22,37,5
700ENDPROC
710DEFPROCc($h%)
720LOCALX%,Y%
730X%=h%MOD256
740Y%=h%DIV256
750CALL&FFF7
760ENDPROC
770DEFFNj
780LOCALda%,i$
790da%=OPENIN("!Boot")
800IFda%=0THENPROCea("No !Boot file -
unable to read user ID!")
810PTR#da%=EXT#da%-4
820i$=CHR$(BGET#da%)+CHR$(BGET#da%)+CH
R$(BGET#da%)
830CLOSE#da%
840=i$
850DEFPROCea(fa$)
860VDU22,7
870PRINTfa$
880PROCd
890END
900DEFFNf
910LOCALga%,s$,ha%,ia%,ja$,ka$,ka%
920REPEAT
930CLS
940PROCla(f%)
950READs$,ha%
960IFha%>14THENha%=14
970PRINTTAB(0,0);CHR$(128+s%);TAB(1+(1
7.5-(LEN(s$)/2)),0);s$
980FORia%=1TOha%
990READja$,ka$,ka$,ka$,ka%,ka%,ka%
1000PRINTTAB(1,1+ia%);" ";CHR$(128+t%)
;CHR$(64+ia%);CHR$(128+u%);ja$;TAB(35,1+
ia%);CHR$156;
1010NEXT
1020PRINTTAB(1,1+e%);CHR$(128+w%);CHR$1
57;
1030PRINTTAB(0,17);CHR$(128+v%);"Press"
;CHR$129;"f0";CHR$(128+v%);"for help if
necessary...";
1040PRINTTAB(0,16);"
¶÷¶÷¶tx¶¾x¶÷|x¶t";
1050REPEAT
1060REPEAT
1070ga%=INKEY(0):IF ga%=-1PROCx
1080IFga%>=ASC("a")ANDga%<=ASC("z")THEN
ga%=ga%-32
1090UNTILga%=128ORga%=138ORga%=139ORga%
=13OR(ga%>=65ANDga%<=(64+ha%))ORga%=ASC(
"8")ORga%=ASC("O")ORga%=ASC("P")OR(ga%=2
7ANDINKEY(-1))
1100PRINTTAB(1,1+e%);" ";
1110IFga%=138ANDe%<ha%THENe%=e%+1
1120IFga%=139ANDe%>1THENe%=e%-1
1130IFga%>=65ANDga%<=(64+ha%)THENe%=ga%
-64
1140PRINTTAB(1,1+e%);CHR$(128+w%);CHR$1
57;
1150UNTILga%=13ORga%=128ORga%=ASC("P")O
Rga%=ASC("8")ORga%=ASC("O")ORga%=27
1160IFga%=128THENPROCma
1170UNTILga%=13ORga%=ASC("P")ORga%=ASC(
"8")ORga%=ASC("O")ORga%=27
1180=CHR$(ga%)+STR$(e%)
1190DEFPROCma
1200LOCALga%
1210CLS
1220PRINTTAB(5,0);CHR$(128+x%);"Using t
he 8BS menu system"
1230PRINTTAB(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."
1240PRINT'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"
1250PRINTCHR$(128+y%);"P will print it
out and pressing O"'CHR$(128+y%);"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."
1260PRINTTAB(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...";
1270REPEAT
1280*FX21
1290ga%=GET
1300UNTILga%=27ORga%=128
1310IFga%=27THENENDPROC
1320CLS
1330PRINTTAB(5,0);CHR$(128+x%);"Using t
he 8BS menu system"
1340PRINTTAB(0,2);CHR$(128+y%);"Pressin
g SHIFT and ESCAPE together"'CHR$(128+y%
);"at the menu will return you to"'CHR$(
128+y%);"BASIC."
1350PRINTTAB(0,16);CHR$(128+z%);"Press
ESCAPE to return to the"'CHR$(128+z%);"m
enu...";
1360REPEAT
1370*FX21
1380ga%=GET
1390UNTILga%=27
1400ENDPROC
1410DEFPROCg(e$)
1420LOCALna%,ka$,oa$,pa$,qa$,ra%,sa%,ta
%
1430PROCla(f%)
1440READka$,ka%
1450FORna%=1TOVAL(MID$(e$,2))
1460READka$,oa$,pa$,qa$,ra%,sa%,ta%
1470NEXT
1480IFta%=0ANDpa$<>""THENPROCc("DIR "+p
a$)
1490IFra%ANDNOTsa%THENPROCua(ASC(LEFT$(
e$,1)),qa$):ENDPROC
1500IFra%ANDsa%THENPROCva(ASC(LEFT$(e$,
1)),qa$):ENDPROC
1510IFta%>0THENf%=ta%:e%=1:ENDPROC
1520PROCd
1530IFLEFT$(oa$,1)="*"THENPROCc(oa$+" "
+qa$):END
1540IFoa$="CHAIN"THENCHAINqa$
1550IFoa$="LOAD"THENPROCc("KEY0 LOAD "+
CHR$(34)+qa$+CHR$(34)+"|MLIST|N|M"):PROC
c("FX21"):PROCc("FX138,0,128"):PROCd:VDU
22,7:END
1560END
1570DEFPROCua(ga%,qa$)
1580VDU22,3
1590VDU23;8202;0;0;0;
1600ONERRORIFERR=17THENPROCc("FX229,1")
:VDU3,22,7:VDU23;8202;0;0;0;:PROCo:GOTO1
00ELSEVDU3:MODE7:REPORT:PRINT" at line "
;ERL:PROCc("KEY0 LIST "+STR$(ERL)+"|M"):
PROCc("FX138,0,128"):PROCd:END
1610*FX21
1620*FX229,0
1630IFga%<>ASC("P")THENPRINT'"Press SHI
FT to scroll or ESCAPE for the menu..."'
:VDU14ELSEPRINT'"Press SPACE when you ar
e ready to print... (Press ESCAPE to qui
t)"':REPEATUNTILGET=32:VDU2
1640PROCc("Type "+qa$)
1650*FX229,1
1660ONERRORVDU3:MODE7:REPORT:PRINT" at
line ";ERL:PROCc("KEY0 LIST "+STR$(ERL)+
"|M"):PROCc("FX138,0,128"):PROCd:END
1670IFga%<>ASC("P")THENVDU15ELSEVDU3
1680PRINT'"Press ESCAPE to return to th
e menu...";
1690*FX21
1700REPEATUNTILGET=27
1710VDU22,7
1720VDU23;8202;0;0;0;
1730PROCo
1740ENDPROC
1750DEFPROCva(ga%,qa$)
1760IFINSTR(qa$,"@")<>0AND(ga%=ASC("P")
ORga%=ASC("8"))THENqa$=FNwa(qa$)
1770IFINSTR(qa$,"@")<>0ANDga%<>ASC("P")
ANDga%<>ASC("8")THENqa$=LEFT$(qa$,INSTR(
qa$,"@")-1)
1780?&80=&C6:?&81=&D6
1790IFga%=ASC("P")THEN$&A00=qa$:Z%=1:CH
AINn$
1800IFga%=ASC("8")THEN$&A00=qa$:Z%=0:CH
AINn$
1810IFga%=ASC("O")THENPROCxa(qa$)
1820PROCc("RUN "+qa$)
1830ENDPROC
1840DEFFNwa(qa$)
1850LOCALga%
1860CLS
1870PRINTCHR$(128+ba%);"Which part of t
he article? (1/2)";
1880REPEAT
1890*FX21
1900ga%=GET
1910UNTILga%=49ORga%=50
1920IFga%=49THEN=LEFT$(qa$,INSTR(qa$,"@
")-1)
1930=MID$(qa$,INSTR(qa$,"@")+1)
1940DEFPROCxa(qa$)
1950CLS
1960PRINTCHR$(128+aa%);"Please press th
e key to use to"'CHR$(128+aa%);"scroll u
p..."
1970?&80=0
1980?&80=FNya
1990PRINT'CHR$(128+aa%);"Please press t
he key to use to"'CHR$(128+aa%);"scroll
down..."
2000*FX21
2010?&81=FNya
2020PROCc("KEY0 *LOAD "+qa$+" 1900|M?&1
974=?&80:?&1981=?&81|MCALL&1904|F|M")
2030*FX21
2040VDU21
2050PROCd
2060*FX138,0,128
2070END
2080DEFFNya
2090LOCALA%,B%
2100REPEAT
2110A%=&7A
2120!&70=USR(&FFF4)
2130B%=255-(?&71)
2140UNTILB%<>0ANDB%<>182ANDB%<>?&80
2150=B%
2160DEFPROCx:IF C%(0)=0 ENDPROC
2170FORL%=0 TO RND(D%/2)+D%/2
2180IF?C%(L%)=135:IF?(C%(L%)+1)=42:?(C%
(L%)+1)=32:?C%(L%)=32
2190C%(L%)=C%(L%)+38+RND(3):IF C%(L%)>&
7F88 C%(L%)=RND(40)+&7CF0
2200IF?C%(L%)=32:IF?(C%(L%)+1)=32 ?C%(L
%)=135:?(C%(L%)+1)=42
2210NEXT
2220ENDPROC
2230DEFPROCla(f%)
2240IFf%=1THENRESTORE
2250IFf%=2THENRESTORE 2410
2260IFf%=3THENRESTORE 2560
2270IFf%=4THENRESTORE 2650
2280IFf%=5THENRESTORE 2770
2290IFf%=6THENRESTORE 2880
2300ENDPROC
2310DATA Main Menu.,8
2320DATA Christmas Card.,CHAIN,:2,Santa
Ld,0,0,0
2330DATA About This Issue.,,:0,Thi1,-1,
-1,0
2340DATA Program Documentation.,,:0,Pro
gDoc,-1,-1,0
2350DATA Magazine Menu 1.,,,,0,0,2
2360DATA Magazine Menu 2.,,,,0,0,3
2370DATA Utilities Menu.,,,,0,0,4
2380DATA Games and Demos.,,,,0,0,5
2390DATA ADFS Extra Menu.,,,,0,0,6
2400:
2410DATA Magazine Menu 1.,13
2420DATA General Messages 1.,,:0,Gen1,-
1,-1,0
2430DATA General Messages 2.,,:0,Gen2,-
1,-1,0
2440DATA For Sale/Wanted 1.,,:0,Ads1,-1
,-1,0
2450DATA For Sale/Wanted 2.,,:0,Ads2,-1
,-1,0
2460DATA 8BS Adverts.,,:0,8BSad,-1,-1,0
2470DATA Help! 1.,,:0,Help1,-1,-1,0
2480DATA Help! 2.,,:0,Help2,-1,-1,0
2490DATA Messages to You.,,:0,uu,-1,-1,
0
2500DATA The Reactor.,,:0,Reactor,-1,-1
,0
2510DATA Editorial.,,:2,Editori,-1,-1,0
2520DATA Suggested Contacts.,,:0,Contac
t,-1,-1,0
2530DATA Magazine Menu 2.,,,,0,0,3
2540DATA Return to Main Menu.,,,,0,0,1
2550:
2560DATA Magazine Menu 2.,8
2570DATA 8BS Messaging System Info.,,:0
,QMesInf,-1,-1,0
2580DATA Merge.,,:0,Merge,-1,0,0
2590DATA Dual Print Info.,,:0,DualInf,-
1,0,0
2600DATA My Early Days. Part 4.,,:0,Ear
ly4,-1,0,0
2610DATA Short Story.,,:0,Story1,-1,0,0
2615DATA Modems.,,:0,Modem,-1,-1,0
2620DATA Magazine Menu 1.,,,,0,0,2
2630DATA Return to Main Menu.,,,,0,0,1
2640:
2650DATA Utilities Menu.,9
2660DATA 8BS Messaging System. V 1.07,C
HAIN,:2,SendMes,0,0,0
2670DATA REM Tip.,CHAIN,:2,REM,0,0,0
2680DATA Merge Program.,CHAIN,:2,Merge,
0,0,0
2690DATA Dual Print.,CHAIN,:2,Print`2,0
,0,0
2700DATA Printout BBC-8 Manual.,CHAIN,:
2,Pmanual,0,0,0
2710DATA Palindromic Numbers. Reprise.,
CHAIN,:2,LAPPY2,0,0,0
2720DATA OS`Map.,CHAIN,:2,OS`MAP,0,0,0
2730DATA 8BS Catalogue.,CHAIN,:2,ViewOn
e,0,0,0
2750DATA Return to Main Menu.,,,,0,0,1
2760:
2770DATA Games and Demos Menu.,9
2780DATA Spirograph.,CHAIN,:2,Spiro,0,0
,0
2790DATA Lottery. Select Numbers.,CHAIN
,:2,Lottery,0,0,0
2800DATA Lottery. Game.,CHAIN,:2,Lotter
2,0,0,0
2810DATA The Snowmen.,CHAIN,:2,Snowmen,
0,0,0
2820DATA Count With Teddy.,CHAIN,:2,Ted
dy,0,0,0
2830DATA Pyramid Patience. Master Only.
,CHAIN,:2,Pyramid,0,0,0
2840DATA Twelve Days Of Christmas.,CHAI
N,:2,Twelve,0,0,0
2850DATA Orbit Game.,CHAIN,:2,Orbit1,0,
0,0
2860DATA Return to Main Menu.,,,,0,0,1
2870:
2880DATA ADFS Menu.,1
2890DATA Return to Main Menu.,,,,0,0,1