8-Bit Software Online Conversion
:0.$.Menu - Listing
10*FX119
20MODE3
30VDU22,7
40VDU23;8202;0;0;0;
50PROCa
60PROCb
70ONERRORVDU3:MODE7:REPORT:PRINT" at
line ";ERL:PROCc("KEY0 LIST "+STR$(ERL)+
"|M"):PROCc("FX138,0,128"):PROCd:END
80REPEAT
90e$=FNf
100IFLEFT$(e$,1)<>CHR$(27)THENPROCg(e$
):*DIR $
110UNTILLEFT$(e$,1)=CHR$(27)
120MODE7
130PROCd
140END
150DEFPROCa
160*FX225,128
170*FX229,1
180*FX4,1
190ENDPROC
200DEFPROCd
210*FX225,1
220*FX229,0
230*FX4,0
240ENDPROC
250DEFPROCb
260DIMh%256
270i$=FNj
280PROCk
290l$="36"
300m$="Jul 1994"
310n$=":0.$.7TO3":REM n$="$.MAG.7TO3"
320f%=1
330e%=1
340PROCo
350ENDPROC
360DEFFNS
370="Menu"
380DEFPROCk
390i%=2
400p%=6
410q%=3
420r%=5
430s%=3
440t%=5
450u%=2
460v%=1
470w%=4
480x%=3
490y%=2
500z%=3
510aa%=7
520ba%=7
530ENDPROC
540DEFPROCo
550LOCALca%
560VDU26,12
570PRINTCHR$(128+i%);" I.D. ";i$;" ";C
HR$(144+p%);"¶///////%¶/////////////////
¶";
580PRINTCHR$(144+p%);"¶///////////*///
/////";CHR$(128+r%);" Issue ";LEFT$(l
$,2);" ";CHR$(144+p%);"¶";
590PRINTCHR$(144+p%);"¶";CHR$(144+q%);
"jk 74$5 j£`p`pj 0 0p0p`p ";CH
R$(144+p%);"¶";
600PRINTCHR$(144+p%);"¶";CHR$(144+q%);
"jk"!7457 "kjjj$j!545=55j.";CHR$(128+r%
);LEFT$(m$,8);CHR$(144+p%);"¶";
610PRINTCHR$(144+p%);"
""£ £ !£! "£"£" "!££!!!!"£ ";CH
R$(145);" ";
620FORca%=1TO18
630PRINTCHR$(144+p%);"¶";SPC(36);CHR$(
144+p%);"¶";
640NEXT
650PRINTCHR$(144+p%);"¶|||||||||||||||
||||||||||||||||||||||¶";
660VDU28,2,22,37,5
670ENDPROC
680DEFPROCc($h%)
690LOCALX%,Y%
700X%=h%MOD256
710Y%=h%DIV256
720CALL&FFF7
730ENDPROC
740DEFFNj
750LOCALda%,i$
760da%=OPENIN("!Boot")
770IFda%=0THENPROCea("No !Boot file -
unable to read user ID!")
780PTR#da%=EXT#da%-4
790i$=CHR$(BGET#da%)+CHR$(BGET#da%)+CH
R$(BGET#da%)
800CLOSE#da%
810=i$
820DEFPROCea(fa$)
830VDU22,7
840PRINTfa$
850PROCd
860END
870DEFFNf
880LOCALga%,s$,ha%,ia%,ja$,ka$,ka%
890REPEAT
900CLS
910PROCla(f%)
920READs$,ha%
930IFha%>14THENha%=14
940PRINTTAB(0,0);CHR$(128+s%);TAB(1+(1
7.5-(LEN(s$)/2)),0);s$
950FORia%=1TOha%
960READja$,ka$,ka$,ka$,ka%,ka%,ka%
970PRINTTAB(1,1+ia%);" ";CHR$(128+t%)
;CHR$(64+ia%);CHR$(128+u%);ja$;TAB(35,1+
ia%);CHR$156;
980NEXT
990PRINTTAB(1,1+e%);CHR$(128+w%);CHR$1
57;
1000PRINTTAB(0,17);CHR$(128+v%);"Press"
;CHR$129;"f0";CHR$(128+v%);"for help if
necessary...";
1010REPEAT
1020REPEAT
1030*FX21
1040ga%=GET
1050IFga%>=ASC("a")ANDga%<=ASC("z")THEN
ga%=ga%-32
1060UNTILga%=128ORga%=138ORga%=139ORga%
=13OR(ga%>=65ANDga%<=(64+ha%))ORga%=ASC(
"8")ORga%=ASC("O")ORga%=ASC("P")OR(ga%=2
7ANDINKEY(-1))
1070PRINTTAB(1,1+e%);" ";
1080IFga%=138ANDe%<ha%THENe%=e%+1
1090IFga%=139ANDe%>1THENe%=e%-1
1100IFga%>=65ANDga%<=(64+ha%)THENe%=ga%
-64
1110PRINTTAB(1,1+e%);CHR$(128+w%);CHR$1
57;
1120UNTILga%=13ORga%=128ORga%=ASC("P")O
Rga%=ASC("8")ORga%=ASC("O")ORga%=27
1130IFga%=128THENPROCma
1140UNTILga%=13ORga%=ASC("P")ORga%=ASC(
"8")ORga%=ASC("O")ORga%=27
1150=CHR$(ga%)+STR$(e%)
1170DEFPROCma
1180LOCALga%
1190CLS
1200PRINTTAB(5,0);CHR$(128+x%);"Using t
he 8BS menu system"
1210PRINTTAB(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."
1220PRINT'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"
1230PRINTCHR$(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."
1240PRINTTAB(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...";
1250REPEAT
1260*FX21
1270ga%=GET
1280UNTILga%=27ORga%=128
1290IFga%=27THENENDPROC
1300CLS
1310PRINTTAB(5,0);CHR$(128+x%);"Using t
he 8BS menu system"
1320PRINTTAB(0,2);CHR$(128+y%);"SHIFT a
nd ESCAPE together"'CHR$(128+y%);"at the
menu will return you to"'CHR$(128+y%);"
BASIC."
1330PRINTTAB(0,16);CHR$(128+z%);"Press
ESCAPE to return to the"'CHR$(128+z%);"m
enu...";
1340REPEAT
1350*FX21
1360ga%=GET
1370UNTILga%=27
1380ENDPROC
1400DEFPROCg(e$)
1410LOCALna%,ka$,oa$,pa$,qa$,ra%,sa%,ta
%
1420PROCla(f%)
1430READka$,ka%
1440FORna%=1TOVAL(MID$(e$,2))
1450READka$,oa$,pa$,qa$,ra%,sa%,ta%
1460NEXT
1470IFta%=0ANDpa$<>""THENPROCc("DIR "+p
a$)
1480IFra%ANDNOTsa%THENPROCua(ASC(LEFT$(
e$,1)),qa$):ENDPROC
1490IFra%ANDsa%THENPROCva(ASC(LEFT$(e$,
1)),qa$):ENDPROC
1500IFta%>0THENf%=ta%:e%=1:ENDPROC
1510PROCd
1520IFLEFT$(oa$,1)="*"THENPROCc(oa$+" "
+qa$):END
1530IFoa$="CHAIN"THENCHAINqa$
1540IFoa$="LOAD"THENPROCc("KEY0 LOAD "+
CHR$(34)+qa$+CHR$(34)+"|MLIST|N|M"):PROC
c("FX21"):PROCc("FX138,0,128"):PROCd:VDU
22,7:END
1550END
1570DEFPROCua(ga%,qa$)
1580VDU22,3
1590VDU23;8202;0;0;0;
1600ONERRORIFERR=17THENPROCc("FX229,1")
:VDU3,22,7:VDU23;8202;0;0;0;:PROCo:GOTO7
0ELSEVDU3:MODE7:REPORT:PRINT" at line ";
ERL:PROCc("KEY0 LIST "+STR$(ERL)+"|M"):P
ROCc("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
1760DEFPROCva(ga%,qa$)
1770IFINSTR(qa$,"@")<>0AND(ga%=ASC("P")
ORga%=ASC("8"))THENqa$=FNwa(qa$)
1780IFINSTR(qa$,"@")<>0ANDga%<>ASC("P")
ANDga%<>ASC("8")THENqa$=LEFT$(qa$,INSTR(
qa$,"@")-1)
1790?&80=&C6:?&81=&D6
1800IFga%=ASC("P")THEN$&A00=qa$:Z%=1:CH
AINn$
1810IFga%=ASC("8")THEN$&A00=qa$:Z%=0:CH
AINn$
1820IFga%=ASC("O")THENPROCxa(qa$)
1830PROCc("RUN "+qa$)
1840ENDPROC
1860DEFFNwa(qa$)
1870LOCALga%
1880CLS
1890PRINTCHR$(128+ba%);"Which part? (1/
2)";
1900REPEAT
1910*FX21
1920ga%=GET
1930UNTILga%=49ORga%=50
1940IFga%=49THEN=LEFT$(qa$,INSTR(qa$,"@
")-1)
1950=MID$(qa$,INSTR(qa$,"@")+1)
1970DEFPROCxa(qa$)
1980CLS
1990PRINTCHR$(128+aa%);"Please press th
e key to use to"'CHR$(128+aa%);"scroll u
p..."
2000?&80=0
2010?&80=FNya
2020PRINT'CHR$(128+aa%);"Please press t
he key to use to"'CHR$(128+aa%);"scroll
down..."
2030*FX21
2040?&81=FNya
2050PROCc("KEY0 *LOAD "+qa$+" 1900|M?&1
974=?&80:?&1981=?&81|MCALL&1904|F|M")
2060*FX21
2070VDU21
2080PROCd
2090*FX138,0,128
2100END
2120DEFFNya
2130LOCALA%,B%
2140REPEAT
2150A%=&7A
2160!&70=USR(&FFF4)
2170B%=255-(?&71)
2180UNTILB%<>0ANDB%<>182ANDB%<>?&80
2190=B%
2210DEFPROCla(f%)
2220IFf%=1THENRESTORE
2230IFf%=2THENRESTORE 2390
2240IFf%=3THENRESTORE 2520
2250IFf%=4THENRESTORE 2620
2260IFf%=5THENRESTORE 2720
2270IFf%=6THENRESTORE 2870
2280ENDPROC
2300DATA Main Menu.,7
2310DATA About This Issue.,,:0,Thi1,-1,
-1,0
2320DATA Program Documentation.,,:0,Pro
gDoc,-1,-1,0
2330DATA Magazine Menu 1.,,,,0,0,2
2340DATA Magazine Menu 2.,,,,0,0,3
2350DATA Utilities Menu.,,,,0,0,4
2360DATA Games and Demos.,,,,0,0,5
2370DATA ADFS Extra Menu.,,,,0,0,6
2380:
2390DATA Magazine Menu 1.,11
2400DATA General Messages 1.,,:0,Gen1,-
1,-1,0
2410DATA General Messages 2.,,:0,Gen2,-
1,-1,0
2420DATA For Sale/Wanted.,,:0,Ads1,-1,-
1,0
2430DATA Late Messages. 8BS Adverts.,,:
2,8BSad,-1,-1,0
2440DATA Help! 1.,,:0,Help1,-1,-1,0
2450DATA Help! 2.,,:0,Help2,-1,-1,0
2460DATA Messages to You.,,:0,uu,-1,-1,
0
2470DATA The Reactor.,,:0,Reactor,-1,-1
,0
2480DATA Editorial.,,:0,Editori,-1,-1,0
2490DATA Magazine Menu 2.,,,,0,0,3
2500DATA Return to Main Menu.,,,,0,0,1
2510:
2520DATA Magazine Menu 2.,9
2530DATA 8BS Messaging System Info.,,:0
,QMesInf,-1,-1,0
2540DATA My Early Days.,,:0,EarlyDy,-1,
0,0
2550DATA Perfect Numbers.,,:0,PNAPNS,-1
,0,0
2560DATA Membership.,,:0,Members,-1,-1,
0
2570DATA ROM Programming Languages.,,:0
,RomLang,-1,-1,0
2580DATA Messages From DGS.,,:2,FromDGS
,-1,-1,0
2581DATA ASCII > Message File Info.,,:0
,ASC2Doc,-1,-1,0
2590DATA Magazine Menu 1.,,,,0,0,2
2600DATA Return to Main Menu.,,,,0,0,1
2610:
2620DATA Utilities Menu.,8
2630DATA 8BS Messaging System. V 1.05,C
HAIN,:2,SendMes,0,0,0
2640DATA Perfect Numbers Example 1.,CHA
IN,:2,PERFT2,0,0,0
2650DATA Perfect Numbers Example 2.,CHA
IN,:2,GPERFN3,0,0,0
2660DATA Black+White Printer Dump.,CHAI
N,:2,SDmp0DS,0,0,0
2670DATA Shaded Printer Dump.,CHAIN,:2,
SDmp0LS,0,0,0
2680DATA ASCII to Message File.,CHAIN,:
2,ASC2MES,0,0,0
2690DATA Alphabet Shuffle.,CHAIN,:2,Alf
Shuf,0,0,0
2700DATA Return to Main Menu.,,,,0,0,1
2710:
2720DATA Games and Demos Menu.,13
2730DATA Sixty Six Game.,CHAIN,:2,66IB,
0,0,0
2740DATA Disco Lights.,*RUN,:2,Dlight,0
,0,0
2750DATA Europhile Demo.,CHAIN,:0,Stop,
0,0,0
2760DATA Dalek Picture.,CHAIN,:2,LoadDa
l,0,0,0
2770DATA Wall Wally.,CHAIN,:2,Wally,0,0
,0
2780DATA Pawn Picture.,CHAIN,:2,LoPawn,
0,0,0
2790DATA Intro 1.,CHAIN,:0,Title1,0,0,0
2800DATA Intro 2.,CHAIN,:0,Title2,0,0,0
2810DATA Pies. A Poem.,CHAIN,:2,PIES,0,
0,0
2820DATA Count Dutch Coins.,CHAIN,:2,Co
unt,0,0,0
2830DATA Pay Dutch Coins.,CHAIN,:2,Pay,
0,0,0
2840DATA Acorn User Show Pic.,CHAIN,:2,
ShowRun,0,0,0
2850DATA Return to Main Menu.,,,,0,0,1
2860:
2870DATA ADFS Menu.,1
2880DATA Return to Main Menu.,,,,0,0,1