10 *TV255,1 20 REM 8BS Menu By S.Flintham 30 *FX119 40 MODE3 50 VDU22,7 60 VDU23;8202;0;0;0; 70 PROCa 80 PROCb 90 ONERRORVDU3:MODE7:REPORT:PRINT" at line ";ERL:PROCc("KEY0 LIST "+STR$(ERL)+"|M"):PROCc("FX138,0,128"):PROCd:END 100 REPEAT 110 e$=FNf 120 IFLEFT$(e$,1)<>CHR$(27)THENPROCg(e$):*DIR $ 130 UNTILLEFT$(e$,1)=CHR$(27) 140 MODE7 150 PROCd 160 END 170 : 180 DEFPROCa 190 *FX225,128 200 *FX229,1 210 *FX4,1 220 ENDPROC 230 : 240 DEFPROCd 250 *FX225,1 260 *FX229,0 270 *FX4,0 280 ENDPROC 290 : 300 DEFPROCb 310 DIMh%256 320 i$=FNj 330 PROCk 340 l$="33" 350 m$="Mar 1994" 360 n$=":0.$.7TO3":REM "$.7TO3" 370 f%=1 380 e%=1 390 PROCo 400 ENDPROC 410 : 420 DEFFNS 430 ="Menu" 440 : 450 DEFPROCk 460 i%=2 470 p%=3 480 q%=5 490 r%=6 500 s%=7 510 t%=6 520 u%=2 530 v%=5 540 w%=4 550 x%=3 560 y%=2 570 z%=3 580 aa%=7 590 ba%=7 600 ENDPROC 610 : 620 DEFPROCo 630 LOCALca% 640 VDU26,12 650 PRINTCHR$(128+i%);" I.D. ";i$;" ";CHR$(144+p%);"ÿ¯¯¯¯¯¯¯¥ÿ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ÿ"; 660 PRINTCHR$(144+p%);"ÿ¯¯¯¯¯¯¯¯¯¯¯ª¯¯¯¯¯¯¯¯";CHR$(128+r%);" Issue ";LEFT$(l$,2);" ";CHR$(144+p%);"ÿ"; 670 PRINTCHR$(144+p%);"ÿ";CHR$(144+q%);"êë ·Ž€µ ê£àðàðê ° °ð°ðàð   ";CHR$(144+p%);"ÿ"; 680 PRINTCHR$(144+p%);"ÿ";CHR$(144+q%);"ê뢡·Žµ· ¢ëêêê€ê¡µŽµœµµê®";CHR$(128+r%);LEFT$(m$,8);CHR$(144+p%);"ÿ"; 690 PRINTCHR$(144+p%);"";CHR$(144+q%);"¢£ £ ¡£¡ ¢£¢£¢ ¢¡££¡¡¡¡¢£   ";CHR$(145);" "; 700 FORca%=1TO18 710 PRINTCHR$(144+p%);"ÿ";SPC(36);CHR$(144+p%);"ÿ"; 720 NEXT 730 PRINTCHR$(144+p%);"ÿüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüÿ"; 740 VDU28,2,22,37,5 750 ENDPROC 760 : 770 DEFPROCc($h%) 780 LOCALX%,Y% 790 X%=h%MOD256 800 Y%=h%DIV256 810 CALL&FFF7 820 ENDPROC 830 : 840 DEFFNj 850 LOCALda%,i$ 860 da%=OPENIN("!Boot") 870 IFda%=0THENPROCea("No !Boot file - unable to read user ID!") 880 PTR#da%=EXT#da%-4 890 i$=CHR$(BGET#da%)+CHR$(BGET#da%)+CHR$(BGET#da%) 900 CLOSE#da% 910 =i$ 920 : 930 DEFPROCea(fa$) 940 VDU22,7 950 PRINTfa$ 960 PROCd 970 END 980 : 990 DEFFNf 1000 LOCALga%,s$,ha%,ia%,ja$,ka$,ka% 1010 REPEAT 1020 CLS 1030 PROCla(f%) 1040 READs$,ha% 1050 IFha%>14THENha%=14 1060 PRINTTAB(0,0);CHR$(128+s%);TAB(1+(17.5-(LEN(s$)/2)),0);s$ 1070 FORia%=1TOha% 1080 READja$,ka$,ka$,ka$,ka%,ka%,ka% 1090 PRINTTAB(1,1+ia%);" ";CHR$(128+t%);CHR$(64+ia%);CHR$(128+u%);ja$;TAB(35,1+ia%);CHR$156; 1100 NEXT 1110 PRINTTAB(1,1+e%);CHR$(128+w%);CHR$157; 1120 PRINTTAB(0,17);CHR$(128+v%);"Press";CHR$129;"f0";CHR$(128+v%);"for help if necessary..."; 1130 REPEAT 1140 REPEAT 1150 *FX21 1160 ga%=GET 1170 IFga%>=ASC("a")ANDga%<=ASC("z")THENga%=ga%-32 1180 UNTILga%=128ORga%=138ORga%=139ORga%=13OR(ga%>=65ANDga%<=(64+ha%))ORga%=ASC("8")ORga%=ASC("O")ORga%=ASC("P")OR(ga%=27ANDINKEY(-1)) 1190 PRINTTAB(1,1+e%);" "; 1200 IFga%=138ANDe%1THENe%=e%-1 1220 IFga%>=65ANDga%<=(64+ha%)THENe%=ga%-64 1230 PRINTTAB(1,1+e%);CHR$(128+w%);CHR$157; 1240 UNTILga%=13ORga%=128ORga%=ASC("P")ORga%=ASC("8")ORga%=ASC("O")ORga%=27 1250 IFga%=128THENPROCma 1260 UNTILga%=13ORga%=ASC("P")ORga%=ASC("8")ORga%=ASC("O")ORga%=27 1270 =CHR$(ga%)+STR$(e%) 1280 : 1290 DEFPROCma 1300 LOCALga% 1310 CLS 1320 PRINTTAB(5,0);CHR$(128+x%);"Using the 8BS menu system" 1330 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." 1340 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" 1350 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." 1360 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..."; 1370 REPEAT 1380 *FX21 1390 ga%=GET 1400 UNTILga%=27ORga%=128 1410 IFga%=27THENENDPROC 1420 CLS 1430 PRINTTAB(5,0);CHR$(128+x%);"Using the 8BS menu system" 1440 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." 1450 PRINTTAB(0,16);CHR$(128+z%);"Press ESCAPE to return to the"'CHR$(128+z%);"menu..."; 1460 REPEAT 1470 *FX21 1480 ga%=GET 1490 UNTILga%=27 1500 ENDPROC 1510 : 1520 DEFPROCg(e$) 1530 LOCALna%,ka$,oa$,pa$,qa$,ra%,sa%,ta% 1540 PROCla(f%) 1550 READka$,ka% 1560 FORna%=1TOVAL(MID$(e$,2)) 1570 READka$,oa$,pa$,qa$,ra%,sa%,ta% 1580 NEXT 1590 IFta%=0ANDpa$<>""THENPROCc("DIR "+pa$) 1600 IFra%ANDNOTsa%THENPROCua(ASC(LEFT$(e$,1)),qa$):ENDPROC 1610 IFra%ANDsa%THENPROCva(ASC(LEFT$(e$,1)),qa$):ENDPROC 1620 IFta%>0THENf%=ta%:e%=1:ENDPROC 1630 PROCd 1640 IFLEFT$(oa$,1)="*"THENPROCc(oa$+" "+qa$):END 1650 IFoa$="CHAIN"THENCHAINqa$ 1660 IFoa$="LOAD"THENPROCc("KEY0 LOAD "+CHR$(34)+qa$+CHR$(34)+"|MLIST|N|M"):PROCc("FX21"):PROCc("FX138,0,128"):PROCd:VDU22,7:END 1670 END 1680 : 1690 DEFPROCua(ga%,qa$) 1700 VDU22,3 1710 VDU23;8202;0;0;0; 1720 *FX21 1730 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 1740 ONERRORIFERR=17THENPROCc("FX229,1"):VDU3,22,7:VDU23;8202;0;0;0;:PROCo:GOTO90ELSEVDU3:MODE7:REPORT:PRINT" at line ";ERL:PROCc("KEY0 LIST "+STR$(ERL)+"|M"):PROCc("FX138,0,128"):PROCd:END 1750 *FX229,0 1760 PROCc("Type "+qa$) 1770 *FX229,1 1780 ONERRORVDU3:MODE7:REPORT:PRINT" at line ";ERL:PROCc("KEY0 LIST "+STR$(ERL)+"|M"):PROCc("FX138,0,128"):PROCd:END 1790 IFga%<>ASC("P")THENVDU15ELSEVDU3 1800 PRINT'"Press ESCAPE to return to the menu..."; 1810 *FX21 1820 REPEATUNTILGET=27 1830 VDU22,7 1840 VDU23;8202;0;0;0; 1850 PROCo 1860 ENDPROC 1870 : 1880 DEFPROCva(ga%,qa$) 1890 IFINSTR(qa$,"@")<>0AND(ga%=ASC("P")ORga%=ASC("8"))THENqa$=FNwa(qa$) 1900 IFINSTR(qa$,"@")<>0ANDga%<>ASC("P")ANDga%<>ASC("8")THENqa$=LEFT$(qa$,INSTR(qa$,"@")-1) 1910 ?&80=&C6:?&81=&D6 1920 IFga%=ASC("P")THEN$&A00=qa$:Z%=1:CHAINn$ 1930 IFga%=ASC("8")THEN$&A00=qa$:Z%=0:CHAINn$ 1940 IFga%=ASC("O")THENPROCxa(qa$) 1950 PROCc("RUN "+qa$) 1960 ENDPROC 1970 : 1980 DEFFNwa(qa$) 1990 LOCALga% 2000 CLS 2010 PRINTCHR$(128+ba%);"Which part of the article? (1/2)"; 2020 REPEAT 2030 *FX21 2040 ga%=GET 2050 UNTILga%=49ORga%=50 2060 IFga%=49THEN=LEFT$(qa$,INSTR(qa$,"@")-1) 2070 =MID$(qa$,INSTR(qa$,"@")+1) 2080 : 2090 DEFPROCxa(qa$) 2100 CLS 2110 PRINTCHR$(128+aa%);"Please press the key to use to"'CHR$(128+aa%);"scroll up..." 2120 ?&80=0 2130 ?&80=FNya 2140 PRINT'CHR$(128+aa%);"Please press the key to use to"'CHR$(128+aa%);"scroll down..." 2150 *FX21 2160 ?&81=FNya 2170 PROCc("KEY0 *LOAD "+qa$+" 1900|M?&1974=?&80:?&1981=?&81|MCALL&1904|F|M") 2180 *FX21 2190 VDU21 2200 PROCd 2210 *FX138,0,128 2220 END 2230 : 2240 DEFFNya 2250 LOCALA%,B% 2260 REPEAT 2270 A%=&7A 2280 !&70=USR(&FFF4) 2290 B%=255-(?&71) 2300 UNTILB%<>0ANDB%<>182ANDB%<>?&80 2310 =B% 2320 DEFPROCla(f%) 2330 IFf%=1THENRESTORE 2340 IFf%=2THENRESTORE 2510 2350 IFf%=3THENRESTORE 2630 2360 IFf%=4THENRESTORE 2750 2370 IFf%=5THENRESTORE 2880 2380 IFf%=6THENRESTORE 2980 2390 ENDPROC 2400 : 2410 DATA Main Menu.,8 2420 DATA About This Issue.,,:0,Thi1,-1,-1,0 2430 DATA Program Documentation.,,:0,ProgDoc,-1,-1,0 2440 DATA New 8BS Questionnaire.,CHAIN,:2,Quaire,0,0,0 2450 DATA Magazine Menu 1.,,,,0,0,2 2460 DATA Magazine Menu 2.,,,,0,0,3 2470 DATA Utilities Menu.,,,,0,0,4 2480 DATA Games etc.,,,,0,0,5 2490 DATA ADFS Extra Menu.,,,,0,0,6 2500 : 2510 DATA Magazine Menu 1.,10 2520 DATA Messages and Ads 1.,,:0,Mes1,-1,-1,0 2530 DATA Messages and Ads 2.,,:0,Mes2,-1,-1,0 2540 DATA Messages and Ads 3.,,:0,Mes3,-1,-1,0 2550 DATA Messages and Ads 4.,,:0,Mes4,-1,-1,0 2560 DATA Messages to You.,,:0,uu,-1,-1,0 2570 DATA The Reactor.,,:0,Reactor,-1,-1,0 2580 DATA What Next?,,:2,Editori,-1,-1,0 2590 DATA 8BS History. Part 1.,,:2,8BShst1,-1,0,0 2600 DATA Magazine Menu 2.,,,,0,0,3 2610 DATA Return to Main Menu.,,,,0,0,1 2620 : 2630 DATA Magazine Menu 2.,10 2640 DATA 8BS Messaging System Info.,,:0,QMesInf,-1,-1,0 2650 DATA Joining 2 Computers. Part 1.,,:0,Marry1,-1,-1,0 2660 DATA Back to BASICs.,,:0,Basics,-1,-1,0 2670 DATA 8BS Statistics+.,,:2,StatNat,-1,0,0 2680 DATA 8BS Questionnaire Info.,,:2,QuInf,-1,-1,0 2690 DATA Patterns Info.,,:2,PatText,-1,0,0 2700 DATA Arc v PC Debate.,,:0,ARCvPC,-1,-1,0 2710 DATA The Acorn User Show.,,:0,AUShow,-1,-1,0 2720 DATA Magazine Menu 1.,,,,0,0,2 2730 DATA Return to Main Menu.,,,,0,0,1 2740 : 2750 DATA Utilities Menu.,11 2760 DATA 8BS Messaging System. V 1.03,CHAIN,:2,SendMes,0,0,0 2770 DATA Alex Whitehead Menu.,CHAIN,:2,White,0,0,0 2780 DATA Messaging System. F Key strip.,CHAIN,:2,MessStr,0,0,0 2790 DATA Cassette Database.,CHAIN,:2,Castore,0,0,0 2800 DATA RS423 Send.,CHAIN,:2,TestSnd,0,0,0 2810 DATA RS423 Receive.,CHAIN,:2,TestRec,0,0,0 2820 DATA Wordwise Plus Utils.,CHAIN,:0,STOP,0,0,0 2830 DATA Income and Investment.,CHAIN,:2,Money,0,0,0 2840 DATA Electrical Costs.,CHAIN,:2,El-Cost,0,0,0 2850 DATA 8BS Menu Reader. v2,CHAIN,:2,MenRead,0,0,0 2860 DATA Return to Main Menu.,,,,0,0,1 2870 : 2880 DATA Games etc Menu.,8 2890 DATA Sliding Block Puzzle.,CHAIN,:2,Slide,0,0,0 2900 DATA Crosswords.,CHAIN,:2,X-Word,0,0,0 2910 DATA Patterns.,CHAIN,:2,Pattern,0,0,0 2920 DATA Patterns II.,CHAIN,:2,Pat2,0,0,0 2930 DATA Pete. (Printer ON).,CHAIN,:2,PPete,0,0,0 2940 DATA 3D Roller Ball.,CHAIN,:2,3-Droll,0,0,0 2950 DATA Sevens. Card Game.,CHAIN,:2,SevensL,0,0,0 2960 DATA Return to Main Menu.,,,,0,0,1 2970 : 2980 DATA ADFS Menu.,1 2990 DATA Return to Main Menu.,,,,0,0,1