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