8-Bit Software Online Conversion
:2.$.Menu - Listing
10REM>Menu 2.00
20D%=20:REM NUMBER OF FLAKES
30DIMC%(D%):FORL%=0TOD%:C%(L%)=RND(&4
00)+&7CF0:NEXT
40REM C%(0)=0:REM REMOVE REM FROM HER
E FOR NO SNOW
50*FX119
60MODE3
70VDU22,7
80VDU23;8202;0;0;0;
90PROCa
100PROCb
110A$=FNOS`GetEnv:IFA$<>"":f%=VALA$:A$
=MID$(A$,INSTR(A$+" "," ")+1):IFA$<>"":e
%=VALA$:A$=""
120ONERRORVDU3:MODE7:REPORT:PRINT" at
line ";ERL:PROCc("KEY0 LIST "+STR$(ERL)+
"|M"):PROCc("FX138,0,128"):PROCd:END
130REPEAT
140e$=FNf
150IFLEFT$(e$,1)<>CHR$(27)THENPROCg(e$
):*DIR $
160UNTILLEFT$(e$,1)=CHR$(27)
170MODE7
180PROCd
190END
200DEFPROCa
210*FX225,128
220*FX229,1
230*FX4,1
240ENDPROC
250DEFPROCd
260*FX225,1
270*FX229,0
280*FX4,0
290ENDPROC
300DEFPROCb
310DIMh%256,ctrl%20,data%20
320i$=FNj
330PROCk
340l$="46"
350m$="14.12.95"
360n$=":0.$.7TO3"
370IF LEFT$(STR$(V%),5)="985"+l$ f%=VA
L(MID$(STR$(V%),6,2)):e%=VAL(MID$(STR$(V
%),8,2)) ELSE f%=1:e%=1:REM f%=Displayed
menu, e%=Displayed Item
380PROCo
390ENDPROC
400DEFFNS
410=MID$($(PAGE+4),1+INSTR($(PAGE+4),"
>"))
420DEFPROCk
430i%=7
440p%=1
450q%=7
460r%=6
470s%=2
480t%=6
490u%=3
500v%=2
510w%=4
520x%=3
530y%=2
540z%=3
550aa%=7
560ba%=7
570ENDPROC
580DEFFNOS`GetEnv:LOCALA$,A%,X%,Y%
590IFINKEY(0)=0:REPEAT A%=INKEY(0):A$=
A$+CHR$A%:UNTIL A%=-1:OSCLI"KEY0":=LEFT$
(A$,LENA$-1+(RIGHT$(A$,2)<" "))
600IF(INKEY-256 AND &F0)=&A0 AND PAGE>
&8000:LOADATN "OS`GetEnv" TO A$:=MID$(A$
,1+INSTR(A$," ",1+INSTR(A$," ",1+INSTR(A
$," "))))
610X%=ctrl%:Y%=X%DIV256:A%=9:?X%=0:X%!
1=data%:!data%=0:CALL&FFD1:IF!data%AND?d
ata%+data%?2<>8:data%?(1+?data%)=13:=$(d
ata%+1)
620=""
630DEFPROCo
640LOCALca%
650VDU26,12
660PRINTCHR$(128+i%);" I.D. ";i$;" ";C
HR$(144+p%);"¶///////%¶/////////////////
¶";
670PRINTCHR$(144+p%);"¶///////////*///
/////";CHR$(128+r%);"Issue 46 Disc 2";CH
R$(144+p%);"¶";
680PRINTCHR$(144+p%);"¶";CHR$(144+q%);
"jk 74$5 j£`p`pj 0 0p0p`p ";CH
R$(144+p%);"¶";
690PRINTCHR$(144+p%);"¶";CHR$(144+q%);
"jk"!7457 "kjjj$j!545=55j.";CHR$(128+r%
);LEFT$(m$,8);CHR$(144+p%);"¶";
700PRINTCHR$(144+p%);"
""£ £ !£! "£"£" "!££!!!!"£ ";CH
R$(145);" ";
710FORca%=1TO18
720PRINTCHR$(144+p%);"¶";SPC(36);CHR$(
144+p%);"¶";
730NEXT
740PRINTCHR$(144+p%);"¶|||||||||||||||
||||||||||||||||||||||¶";
750VDU28,2,22,37,5
760ENDPROC
770DEFPROCc($h%)
780LOCALX%,Y%
790X%=h%MOD256
800Y%=h%DIV256
810CALL&FFF7
820ENDPROC
830DEFFNj
840LOCALda%,i$
850da%=OPENIN("!Boot")
860IFda%=0THENPROCea("No !Boot file -
unable to read user ID!")
870PTR#da%=EXT#da%-4
880i$=CHR$(BGET#da%)+CHR$(BGET#da%)+CH
R$(BGET#da%)
890CLOSE#da%
900=i$
910DEFPROCea(fa$)
920VDU22,7
930PRINTfa$
940PROCd
950END
960DEFFNf
970LOCALga%,s$,ha%,ia%,ja$,ka$,ka%
980REPEAT
990CLS
1000PROCla(f%)
1010READs$,ha%
1020IFha%>14THENha%=14
1030PRINTTAB(0,0);CHR$(128+s%);TAB(1+(1
7.5-(LEN(s$)/2)),0);s$
1040FORia%=1TOha%
1050READja$,ka$,ka$,ka$,ka%,ka%,ka%
1060PRINTTAB(1,1+ia%);" ";CHR$(128+t%)
;CHR$(64+ia%);CHR$(128+u%);ja$;TAB(35,1+
ia%);CHR$156;
1070NEXT
1080PRINTTAB(1,1+e%);CHR$(128+w%);CHR$1
57;
1090PRINTTAB(0,17);CHR$(128+v%);"Press"
;CHR$129;"f0";CHR$(128+v%);"for help if
necessary...";
1100PRINTTAB(0,16);"
¶÷¶÷¶tx¶¾x¶÷|x¶t";
1110REPEAT
1120REPEAT
1130REM *FX21
1140ga%=INKEY(0):IF ga%=-1PROCx
1150IFga%>=ASC("a")ANDga%<=ASC("z")THEN
ga%=ga%-32
1160UNTILga%=128ORga%=138ORga%=139ORga%
=13OR(ga%>=65ANDga%<=(64+ha%))ORga%=ASC(
"8")ORga%=ASC("O")ORga%=ASC("P")ORga%=AS
C("4")OR(ga%=27ANDINKEY(-1))
1170PRINTTAB(1,1+e%);" ";
1180IFga%=138ANDe%<ha%THENe%=e%+1
1190IFga%=139ANDe%>1THENe%=e%-1
1200IFga%>=65ANDga%<=(64+ha%)THENe%=ga%
-64
1210PRINTTAB(1,1+e%);CHR$(128+w%);CHR$1
57;
1220V%=VAL("985"+l$+RIGHT$("0"+STR$(f%)
,2)+RIGHT$("0"+STR$(e%),2))
1230UNTILga%=13ORga%=128ORga%=ASC("P")O
Rga%=ASC("8")ORga%=ASC("O")ORga%=27ORga%
=ASC("4")
1240IFga%=128THENPROCma
1250UNTILga%=13ORga%=ASC("P")ORga%=ASC(
"8")ORga%=ASC("O")ORga%=27ORga%=ASC("4")
1260=CHR$(ga%)+STR$(e%)
1270DEFPROCma
1280LOCALga%
1290CLS
1300PRINTTAB(5,0);CHR$(128+x%);"Using t
he 8BS menu system"
1310PRINTTAB(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."
1320PRINT'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"
1330PRINTCHR$(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."
1340PRINTTAB(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...";
1350REPEAT
1360*FX21
1370ga%=GET
1380UNTILga%=27ORga%=128
1390IFga%=27THENENDPROC
1400CLS
1410PRINTTAB(5,0);CHR$(128+x%);"Using t
he 8BS menu system"
1420PRINTTAB(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.":PRINTCHR$(128+y%)"Press
ing 4 displays an 80 column"'CHR$(128+y%
)"article in Mode 7."
1430PRINTTAB(0,16);CHR$(128+z%);"Press
ESCAPE to return to the"'CHR$(128+z%);"m
enu...";
1440REPEAT
1450*FX21
1460ga%=GET
1470UNTILga%=27
1480ENDPROC
1490DEFPROCg(e$)
1500LOCALna%,ka$,oa$,pa$,qa$,ra%,sa%,ta
%
1510PROCla(f%)
1520READka$,ka%
1530FORna%=1TOVAL(MID$(e$,2))
1540READka$,oa$,pa$,qa$,ra%,sa%,ta%
1550NEXT
1560IFta%=0ANDpa$<>""THENPROCc("DIR "+p
a$)
1570IFra%ANDNOTsa%THENPROCua(ASC(LEFT$(
e$,1)),qa$):ENDPROC
1580IFra%ANDsa%THENPROCva(ASC(LEFT$(e$,
1)),qa$):ENDPROC
1590IFta%>0THENf%=ta%:e%=1:ENDPROC
1600PROCd
1610IFLEFT$(oa$,1)="*"THENPROCc(oa$+" "
+qa$):END
1620IFoa$="CHAIN"THENCHAINqa$
1630IFoa$="LOAD"THENPROCc("KEY0 LOAD "+
CHR$(34)+qa$+CHR$(34)+"|MLIST|N|M"):PROC
c("FX21"):PROCc("FX138,0,128"):PROCd:VDU
22,7:END
1640END
1650DEFPROCua(ga%,qa$):REM Text file
1660IFga%=ASC("4")THEN$&A00=pa$+"."+qa$
:CHAIN":0.3TO7"
1670IFpa$<>"":qa$=pa$+"."+qa$
1680*DIR $
1690PROCc("KEY0 |@"+qa$+" -quit :0.$.Me
nu "+STR$f%+" "+STR$e%):*FX138,0,192
1700CHAIN":0.$.Scroll"
1710REM Above should work on DFS/ADFS/H
ADFS
1720ENDPROC
1730DEFPROCva(ga%,qa$)
1740IFINSTR(qa$,"@")<>0AND(ga%=ASC("P")
ORga%=ASC("8"))THENqa$=FNwa(qa$)
1750IFINSTR(qa$,"@")<>0ANDga%<>ASC("P")
ANDga%<>ASC("8")THENqa$=LEFT$(qa$,INSTR(
qa$,"@")-1)
1760?&80=&C6:?&81=&D6
1770IFga%=ASC("P")THEN$&A00=qa$:Z%=1:CH
AINn$
1780IFga%=ASC("8")THEN$&A00=qa$:Z%=0:CH
AINn$
1790IFga%=ASC("O")THENPROCxa(qa$)
1800OSCLI"FX225,1":OSCLI"K.0*RUN "+qa$+
"|M":*FX138,0,192
1810PRINTTAB(0,15);CHR$152;:END
1820ENDPROC
1830DEFFNwa(qa$)
1840LOCALga%
1850CLS
1860PRINTCHR$(128+ba%);"Which part of t
he article? (1/2)";
1870REPEAT
1880*FX21
1890ga%=GET
1900UNTILga%=49ORga%=50
1910IFga%=49THEN=LEFT$(qa$,INSTR(qa$,"@
")-1)
1920=MID$(qa$,INSTR(qa$,"@")+1)
1930DEFPROCxa(qa$)
1940CLS
1950PRINTCHR$(128+aa%);"Please press th
e key to use to"'CHR$(128+aa%);"scroll u
p..."
1960?&80=0
1970?&80=FNya
1980PRINT'CHR$(128+aa%);"Please press t
he key to use to"'CHR$(128+aa%);"scroll
down..."
1990*FX21
2000?&81=FNya
2010PROCc("KEY0 *LOAD "+qa$+" 1900|M?&1
974=?&80:?&1981=?&81|MCALL&1904|F|M")
2020*FX21
2030VDU21
2040PROCd
2050*FX138,0,128
2060END
2070DEFFNya
2080LOCALA%,B%
2090REPEAT
2100A%=&7A
2110!&70=USR(&FFF4)
2120B%=255-(?&71)
2130UNTILB%<>0ANDB%<>182ANDB%<>?&80
2140=B%
2150DEFPROCx:IF C%(0)=0 ENDPROC
2160FORL%=0 TO RND(D%/2)+D%/2
2170IF?C%(L%)=135:IF?(C%(L%)+1)=42:?(C%
(L%)+1)=32:?C%(L%)=32
2180C%(L%)=C%(L%)+38+RND(3):IF C%(L%)>&
7F88 C%(L%)=RND(40)+&7CF0
2190IF?C%(L%)=32:IF?(C%(L%)+1)=32 ?C%(L
%)=135:?(C%(L%)+1)=42
2200NEXT
2210ENDPROC
2220DEFPROCla(f%)
2230IFf%=1THENRESTORE
2240IFf%=2THENRESTORE 2370
2250IFf%=3THENRESTORE 2450
2260IFf%=4THENRESTORE 2550
2270IFf%=5THENRESTORE 2620
2280ENDPROC
2290DATA Main Menu.,6
2300DATA About This Issue.,,:0,Thi1,-1,
-1,0
2310DATA Program Documentation.,,:0,Pro
gDoc,-1,-1,0
2320DATA Magazine Menu.,,,,0,0,2
2330DATA Utilities Menu.,,,,0,0,3
2340DATA Games And Demos.,,,,0,0,4
2350DATA Merry Christmas.,,,,0,0,5
2360:
2370DATA Magazine Menu.,6
2380DATA 8BS Questionnaire Analysis.,,:
0,Report,-1,0,0
2390DATA 8BS Member's Interests 1.,,:0,
Int1@Int2,-1,-1,0
2400DATA 8BS Member's Interests 2.,,:0,
Int2,-1,-1,0
2410DATA New 8BS Questionnaire Info.,,:
0,Quinf,-1,-1,0
2420DATA File Indexer Info.,,:2,IndInfo
,-1,0,0
2430DATA Return To Main Menu.,,,,0,0,1
2440:
2450DATA Utilities Menu.,8
2460DATA New 8BS Questionnaire.,CHAIN,:
0,Quaire,0,0,0
2470DATA National Lottery.,*EX.,:2,LotB
oot,0,0,0
2480DATA File Indexer.,CHAIN,:0,Stop,0,
0,0
2490DATA MPG/LPK Calculator.,CHAIN,:2,M
PGMenu,0,0,0
2500DATA Archiver.,CHAIN,:2,Arch`De,0,0
,0
2510DATA Data Experiment 1.,CHAIN,:2,8B
SMEM1,0,0,0
2520DATA Data Experiment 2.,CHAIN,:2,8B
SMEM2,0,0,0
2530DATA Return To Main Menu.,,,,0,0,1
2540:
2550DATA Games And Demos Menu.,5
2560DATA Push The Bail.,CHAIN,:0,Push,0
,0,0
2570DATA Christmas Tunes.,CHAIN,:0,XMAS
,0,0,0
2580DATA Santa Game.,CHAIN,:0,Santa,0,0
,0
2590DATA Tracker Game.,CHAIN,:0,Tracker
,0,0,0
2600DATA Return To Main Menu.,,,,0,0,1
2610:
2620DATA Merry Christmas!,1
2630DATA Return To Main Menu.,,,,0,0,1