10 *TV255 20 *FX119 30 MODE3 40 VDU22,7 50 VDU23;8202;0;0;0; 60 PROCa 70 PROCb 80 ONERRORVDU3:MODE7:REPORT:PRINT" at line ";ERL:PROCc("KEY0 LIST "+STR$(ERL)+"|M"):PROCc("FX138,0,128"):PROCd:END 90 REPEAT 100 e$=FNf 110 IFLEFT$(e$,1)<>CHR$(27)THENPROCg(e$):*DIR $ 120 UNTILLEFT$(e$,1)=CHR$(27) 130 MODE7 140 PROCd 150 END 160 : 170 DEFPROCa 180 *FX225,128 190 *FX229,1 200 *FX4,1 210 ENDPROC 220 : 230 DEFPROCd 240 *FX225,1 250 *FX229,0 260 *FX4,0 270 ENDPROC 280 : 290 DEFPROCb 300 DIMh%256 310 i$=FNj 320 PROCk 330 l$="28" 340 m$="Jul 1993" 350 n$=":0.$.7TO3":REM "$.MAG.7TO3" 360 f%=1 370 e%=1 380 PROCo 390 ENDPROC 400 : 410 DEFFNS 420 ="Menu" 430 : 440 DEFPROCk 450 i%=3 460 p%=2 470 q%=5 480 r%=3 490 s%=6 500 t%=6 510 u%=3 520 v%=5 530 w%=4 540 x%=3 550 y%=7 560 z%=3 570 aa%=7 580 ba%=7 590 ENDPROC 600 : 610 DEFPROCo 620 LOCALca% 630 VDU26,12 640 PRINTCHR$(128+i%);" I.D. ";i$;" ";CHR$(144+p%);"ÿ¯¯¯¯¯¯¯¥ÿ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ÿ"; 650 PRINTCHR$(144+p%);"ÿ¯¯¯¯¯¯¯¯¯¯¯ª¯¯¯¯¯¯¯¯";CHR$(128+r%);" Issue ";LEFT$(l$,2);" ";CHR$(144+p%);"ÿ"; 660 PRINTCHR$(144+p%);"ÿ";CHR$(144+q%);"êë µ €µ ê£àðàðê ° °ð°ðàð   ";CHR$(144+p%);"ÿ"; 670 PRINTCHR$(144+p%);"ÿ";CHR$(144+q%);"ê뢡·µµ· ¢ëêêê€ê¡µŽµœµµê®";CHR$(128+r%);LEFT$(m$,8);CHR$(144+p%);"ÿ"; 680 PRINTCHR$(144+p%);"";CHR$(144+q%);"¢£ £¡¡£¡ ¢£¢£¢ ¢¡££¡¡¡¡¢£   ";CHR$(145);" "; 690 FORca%=1TO18 700 PRINTCHR$(144+p%);"ÿ";SPC(36);CHR$(144+p%);"ÿ"; 710 NEXT 720 PRINTCHR$(144+p%);"ÿüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüÿ"; 730 VDU28,2,22,37,5 740 ENDPROC 750 : 760 DEFPROCc($h%) 770 LOCALX%,Y% 780 X%=h%MOD256 790 Y%=h%DIV256 800 CALL&FFF7 810 ENDPROC 820 : 830 DEFFNj 840 LOCALda%,i$ 850 da%=OPENIN("!Boot") 860 IFda%=0THENPROCea("No !Boot file - unable to read user ID!") 870 PTR#da%=EXT#da%-4 880 i$=CHR$(BGET#da%)+CHR$(BGET#da%)+CHR$(BGET#da%) 890 CLOSE#da% 900 =i$ 910 : 920 DEFPROCea(fa$) 930 VDU22,7 940 PRINTfa$ 950 PROCd 960 END 970 : 980 DEFFNf 990 LOCALga%,s$,ha%,ia%,ja$,ka$,ka% 1000 REPEAT 1010 CLS 1020 PROCla(f%) 1030 READs$,ha% 1040 IFha%>14THENha%=14 1050 PRINTTAB(0,0);CHR$(128+s%);TAB(1+(17.5-(LEN(s$)/2)),0);s$ 1060 FORia%=1TOha% 1070 READja$,ka$,ka$,ka$,ka%,ka%,ka% 1080 PRINTTAB(1,1+ia%);" ";CHR$(128+t%);CHR$(64+ia%);CHR$(128+u%);ja$;TAB(35,1+ia%);CHR$156; 1090 NEXT 1100 PRINTTAB(1,1+e%);CHR$(128+w%);CHR$157; 1110 PRINTTAB(0,17);CHR$(128+v%);"Press";CHR$129;"f0";CHR$(128+v%);"for help if necessary..."; 1120 REPEAT 1130 REPEAT 1140 *FX21 1150 ga%=GET 1160 IFga%>=ASC("a")ANDga%<=ASC("z")THENga%=ga%-32 1170 UNTILga%=128ORga%=138ORga%=139ORga%=13OR(ga%>=65ANDga%<=(64+ha%))ORga%=ASC("8")ORga%=ASC("O")ORga%=ASC("P")OR(ga%=27ANDINKEY(-1)) 1180 PRINTTAB(1,1+e%);" "; 1190 IFga%=138ANDe%1THENe%=e%-1 1210 IFga%>=65ANDga%<=(64+ha%)THENe%=ga%-64 1220 PRINTTAB(1,1+e%);CHR$(128+w%);CHR$157; 1230 UNTILga%=13ORga%=128ORga%=ASC("P")ORga%=ASC("8")ORga%=ASC("O")ORga%=27 1240 IFga%=128THENPROCma 1250 UNTILga%=13ORga%=ASC("P")ORga%=ASC("8")ORga%=ASC("O")ORga%=27 1260 =CHR$(ga%)+STR$(e%) 1270 : 1280 DEFPROCma 1290 LOCALga% 1300 CLS 1310 PRINTTAB(5,0);CHR$(128+x%);"Using the 8BS menu system" 1320 PRINTTAB(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 option to";CHR$(128+y%);"position it immediately." 1330 PRINT'CHR$(128+y%);"Press RETURN to load or view the"'CHR$(128+y%);"highlighted program/article. If it"'CHR$(128+y%);"is an article, pressing 8 will"'CHR$(128+y%);"display it in 80 columns. Pressing" 1340 PRINTCHR$(128+y%);"P will print it out and pressing O"'CHR$(128+y%);"will allow you to view it in"'CHR$(128+y%);"teletext mode with your own choice"'CHR$(128+y%);"of scrolling keys." 1350 PRINTTAB(0,16);CHR$(128+z%);"Press";CHR$(129);"f0";CHR$(128+z%);"for more help or ESCAPE"'CHR$(128+z%);"to return to the menu..."; 1360 REPEAT 1370 *FX21 1380 ga%=GET 1390 UNTILga%=27ORga%=128 1400 IFga%=27THENENDPROC 1410 CLS 1420 PRINTTAB(5,0);CHR$(128+x%);"Using the 8BS menu system" 1430 PRINTTAB(0,2);CHR$(128+y%);"Pressing SHIFT and ESCAPE together"'CHR$(128+y%);"at the menu will return you to"'CHR$(128+y%);"BASIC." 1440 PRINTTAB(0,16);CHR$(128+z%);"Press ESCAPE to return to the"'CHR$(128+z%);"menu..."; 1450 REPEAT 1460 *FX21 1470 ga%=GET 1480 UNTILga%=27 1490 ENDPROC 1500 : 1510 DEFPROCg(e$) 1520 LOCALna%,ka$,oa$,pa$,qa$,ra%,sa%,ta% 1530 PROCla(f%) 1540 READka$,ka% 1550 FORna%=1TOVAL(MID$(e$,2)) 1560 READka$,oa$,pa$,qa$,ra%,sa%,ta% 1570 NEXT 1580 IFta%=0ANDpa$<>""THENPROCc("DIR "+pa$) 1590 IFra%ANDNOTsa%THENPROCua(ASC(LEFT$(e$,1)),qa$):ENDPROC 1600 IFra%ANDsa%THENPROCva(ASC(LEFT$(e$,1)),qa$):ENDPROC 1610 IFta%>0THENf%=ta%:e%=1:ENDPROC 1620 PROCd 1630 IFLEFT$(oa$,1)="*"THENPROCc(oa$+" "+qa$):END 1640 IFoa$="CHAIN"THENCHAINqa$ 1650 IFoa$="LOAD"THENPROCc("KEY0 LOAD "+CHR$(34)+qa$+CHR$(34)+"|MLIST|N|M"):PROCc("FX21"):PROCc("FX138,0,128"):PROCd:VDU22,7:END 1660 END 1670 : 1680 DEFPROCua(ga%,qa$) 1690 VDU22,3 1700 VDU23;8202;0;0;0; 1710 *FX21 1720 IFga%<>ASC("P")THENPRINT'"Press SHIFT to scroll or ESCAPE for the menu..."':VDU14ELSEPRINT'"Press SPACE when you are ready to print... (Press ESCAPE to quit)"':REPEATUNTILGET=32:VDU2 1730 ONERRORIFERR=17THENPROCc("FX229,1"):VDU3,22,7:VDU23;8202;0;0;0;:PROCo:GOTO80ELSEVDU3:MODE7:REPORT:PRINT" at line ";ERL:PROCc("KEY0 LIST "+STR$(ERL)+"|M"):PROCc("FX138,0,128"):PROCd:END 1740 *FX229,0 1750 PROCc("Type "+qa$) 1760 *FX229,1 1770 ONERRORVDU3:MODE7:REPORT:PRINT" at line ";ERL:PROCc("KEY0 LIST "+STR$(ERL)+"|M"):PROCc("FX138,0,128"):PROCd:END 1780 IFga%<>ASC("P")THENVDU15ELSEVDU3 1790 PRINT'"Press ESCAPE to return to the menu..."; 1800 *FX21 1810 REPEATUNTILGET=27 1820 VDU22,7 1830 VDU23;8202;0;0;0; 1840 PROCo 1850 ENDPROC 1860 : 1870 DEFPROCva(ga%,qa$) 1880 IFINSTR(qa$,"@")<>0AND(ga%=ASC("P")ORga%=ASC("8"))THENqa$=FNwa(qa$) 1890 IFINSTR(qa$,"@")<>0ANDga%<>ASC("P")ANDga%<>ASC("8")THENqa$=LEFT$(qa$,INSTR(qa$,"@")-1) 1900 ?&80=&C6:?&81=&D6 1910 IFga%=ASC("P")THEN$&A00=qa$:Z%=1:CHAINn$ 1920 IFga%=ASC("8")THEN$&A00=qa$:Z%=0:CHAINn$ 1930 IFga%=ASC("O")THENPROCxa(qa$) 1940 PROCc("RUN "+qa$) 1950 ENDPROC 1960 : 1970 DEFFNwa(qa$) 1980 LOCALga% 1990 CLS 2000 PRINTCHR$(128+ba%);"Which part of the article? (1/2)"; 2010 REPEAT 2020 *FX21 2030 ga%=GET 2040 UNTILga%=49ORga%=50 2050 IFga%=49THEN=LEFT$(qa$,INSTR(qa$,"@")-1) 2060 =MID$(qa$,INSTR(qa$,"@")+1) 2070 : 2080 DEFPROCxa(qa$) 2090 CLS 2100 PRINTCHR$(128+aa%);"Please press the key to use to"'CHR$(128+aa%);"scroll up..." 2110 ?&80=0 2120 ?&80=FNya 2130 PRINT'CHR$(128+aa%);"Please press the key to use to"'CHR$(128+aa%);"scroll down..." 2140 *FX21 2150 ?&81=FNya 2160 PROCc("KEY0 *LOAD "+qa$+" 1900|M?&1974=?&80:?&1981=?&81|MCALL&1904|F|M") 2170 *FX21 2180 VDU21 2190 PROCd 2200 *FX138,0,128 2210 END 2220 : 2230 DEFFNya 2240 LOCALA%,B% 2250 REPEAT 2260 A%=&7A 2270 !&70=USR(&FFF4) 2280 B%=255-(?&71) 2290 UNTILB%<>0ANDB%<>182ANDB%<>?&80 2300 =B% 2310 DEFPROCla(f%) 2320 IFf%=1THENRESTORE2390 2330 IFf%=2THENRESTORE2540 2340 IFf%=3THENRESTORE2640 2350 IFf%=4THENRESTORE2790 2360 IFf%=5THENRESTORE2880 2370 ENDPROC 2380 : 2390 DATA Magazine menu 1,13 2400 DATA About this issue,,,Thi1@Thi2,-1,-1,0 2410 DATA Mag menu 2,,,,0,0,2 2420 DATA Utilities menu,,,,0,0,3 2430 DATA Games/Graphics/Sound menu,,,,0,0,4 2440 DATA ADFS extra software menu,,,,0,0,5 2450 DATA News and views,,,News,-1,-1,0 2460 DATA Messages and ads,,,Mes1@Mes2,-1,-1,0 2470 DATA Messages to you,,,uu,-1,-1,0 2480 DATA The reactor,,,Reactor,-1,-1,0 2490 DATA Members Statistics,,,Stats,-1,-1,0 2500 DATA Questionnaire info,,,Qwinf,-1,-1,0 2510 DATA 8BS catalogue,,,8BScat,-1,0,0 2520 DATA Info for 8BS catalogue,,,8BSInfo,-1,0,0 2530 : 2540 DATA Magazine menu 2,8 2550 DATA Intro to Assembly language,,,IntrAss,-1,-1,0 2560 DATA Electronics. Part1,,,Elec1,-1,0,0 2570 DATA TBI Update,,:2,TBIupdt,-1,-1,0 2580 DATA PD Libraries update,,:2,PDlibs,-1,-1,0 2590 DATA Tape backup,,,Tback,-1,-1,0 2600 DATA ModeConv and Disassemble info,,:2,L1Jtext,-1,-1,0 2610 DATA Late submission,,:2,late,-1,0,0 2620 DATA Return to menu 1,,,,0,0,1 2630 : 2640 DATA Utilities menu,13 2650 DATA FTBL Random numbers,CHAIN,:2,FTBL,0,0,0 2660 DATA 8BS questionnaire,CHAIN,:2,Quesair,0,0,0 2670 DATA 4 From 27N,CHAIN,:2,27N4,0,0,0 2680 DATA Screen scan menu,CHAIN,:2,NewScan,0,0,0 2690 DATA Variables,CHAIN,:2,Altrit,0,0,0 2700 DATA Oscli. A request for help,CHAIN,:2,Oscli,0,0,0 2710 DATA One liner entry from L1L,CHAIN,:2,1.Epson,0,0,0 2720 DATA One liner entry from L1L,CHAIN,:2,1.Border,0,0,0 2730 DATA Shadow text,CHAIN,:2,Shadowr,0,0,0 2740 DATA Security lock,CHAIN,:2,AccCode,0,0,0 2750 DATA Tax and insurance 93-94,CHAIN,:2,Tax-Ins,0,0,0 2760 DATA Disassemblers,CHAIN,:2,RunUDA,0,0,0 2770 DATA Return to main menu,,,,0,0,1 2780 : 2790 DATA Graphics/Games/Sound menu,7 2800 DATA Electronics pictures,CHAIN,:2,AMXprt,0,0,0 2810 DATA Mode conversion,CHAIN,:2,MoConv,0,0,0 2820 DATA The Constrictor,CHAIN,:2,ConPicL,0,0,0 2830 DATA Patience card game,CHAIN,:2,Clear35,0,0,0 2840 DATA Bach,CHAIN,:2,Bach1,0,0,0 2850 DATA One liner entry from 2J3,CHAIN,:2,CJR,0,0,0 2860 DATA Return to main menu,,,,0,0,1 2870 : 2880 DATA ADFS menu,1 2890 DATA Return to menu 1,,,,0,0,1