8-Bit Software Online Conversion

:0.$.Menu - Listing

10*TV255,1 20REM 8BS Menu By S.Flintham 30*FX119 40MODE3 50VDU22,7 60VDU23;8202;0;0;0; 70PROCa 80PROCb 90ONERRORVDU3:MODE7:REPORT:PRINT" at line ";ERL:PROCc("KEY0 LIST "+STR$(ERL)+ "|M"):PROCc("FX138,0,128"):PROCd:END 100REPEAT 110e$=FNf 120IFLEFT$(e$,1)<>CHR$(27)THENPROCg(e$ ):*DIR $ 130UNTILLEFT$(e$,1)=CHR$(27) 140MODE7 150PROCd 160END 170: 180DEFPROCa 190*FX225,128 200*FX229,1 210*FX4,1 220ENDPROC 230: 240DEFPROCd 250*FX225,1 260*FX229,0 270*FX4,0 280ENDPROC 290: 300DEFPROCb 310DIMh%256 320i$=FNj 330PROCk 340l$="32" 350m$="Jan 1994" 360n$=":0.$.7TO3":REM "$.MAG.7TO3" 370f%=1 380e%=1 390PROCo 400ENDPROC 410: 420DEFFNS 430="Menu" 440: 450DEFPROCk 460i%=3 470p%=2 480q%=5 490r%=6 500s%=3 510t%=1 520u%=6 530v%=6 540w%=4 550x%=3 560y%=2 570z%=3 580aa%=7 590ba%=7 600ENDPROC 610: 620DEFPROCo 630LOCALca% 640VDU26,12 650PRINTCHR$(128+i%);" I.D. ";i$;" ";C HR$(144+p%);"¶///////%¶///////////////// ¶"; 660PRINTCHR$(144+p%);"¶///////////*/// /////";CHR$(128+r%);" Issue ";LEFT$(l $,2);" ";CHR$(144+p%);"¶"; 670PRINTCHR$(144+p%);"¶";CHR$(144+q%); "jk 74$5 j£`p`pj 0 0p0p`p ";CH R$(144+p%);"¶"; 680PRINTCHR$(144+p%);"¶";CHR$(144+q%); "jk"!7457 "kjjj$j!545=55j.";CHR$(128+r% );LEFT$(m$,8);CHR$(144+p%);"¶"; 690PRINTCHR$(144+p%);" ""£ £ !£! "£"£" "!££!!!!"£ ";CH R$(145);" "; 700FORca%=1TO18 710PRINTCHR$(144+p%);"¶";SPC(36);CHR$( 144+p%);"¶"; 720NEXT 730PRINTCHR$(144+p%);"¶||||||||||||||| ||||||||||||||||||||||¶"; 740VDU28,2,22,37,5 750ENDPROC 760: 770DEFPROCc($h%) 780LOCALX%,Y% 790X%=h%MOD256 800Y%=h%DIV256 810CALL&FFF7 820ENDPROC 830: 840DEFFNj 850LOCALda%,i$ 860da%=OPENIN("!Boot") 870IFda%=0THENPROCea("No !Boot file - unable to read user ID!") 880PTR#da%=EXT#da%-4 890i$=CHR$(BGET#da%)+CHR$(BGET#da%)+CH R$(BGET#da%) 900CLOSE#da% 910=i$ 920: 930DEFPROCea(fa$) 940VDU22,7 950PRINTfa$ 960PROCd 970END 980: 990DEFFNf 1000LOCALga%,s$,ha%,ia%,ja$,ka$,ka% 1010REPEAT 1020CLS 1030PROCla(f%) 1040READs$,ha% 1050IFha%>14THENha%=14 1060PRINTTAB(0,0);CHR$(128+s%);TAB(1+(1 7.5-(LEN(s$)/2)),0);s$ 1070FORia%=1TOha% 1080READja$,ka$,ka$,ka$,ka%,ka%,ka% 1090PRINTTAB(1,1+ia%);" ";CHR$(128+t%) ;CHR$(64+ia%);CHR$(128+u%);ja$;TAB(35,1+ ia%);CHR$156; 1100NEXT 1110PRINTTAB(1,1+e%);CHR$(128+w%);CHR$1 57; 1120PRINTTAB(0,17);CHR$(128+v%);"Press" ;CHR$129;"f0";CHR$(128+v%);"for help if necessary..."; 1130REPEAT 1140REPEAT 1150*FX21 1160ga%=GET 1170IFga%>=ASC("a")ANDga%<=ASC("z")THEN ga%=ga%-32 1180UNTILga%=128ORga%=138ORga%=139ORga% =13OR(ga%>=65ANDga%<=(64+ha%))ORga%=ASC( "8")ORga%=ASC("O")ORga%=ASC("P")OR(ga%=2 7ANDINKEY(-1)) 1190PRINTTAB(1,1+e%);" "; 1200IFga%=138ANDe%<ha%THENe%=e%+1 1210IFga%=139ANDe%>1THENe%=e%-1 1220IFga%>=65ANDga%<=(64+ha%)THENe%=ga% -64 1230PRINTTAB(1,1+e%);CHR$(128+w%);CHR$1 57; 1240UNTILga%=13ORga%=128ORga%=ASC("P")O Rga%=ASC("8")ORga%=ASC("O")ORga%=27 1250IFga%=128THENPROCma 1260UNTILga%=13ORga%=ASC("P")ORga%=ASC( "8")ORga%=ASC("O")ORga%=27 1270=CHR$(ga%)+STR$(e%) 1280: 1290DEFPROCma 1300LOCALga% 1310CLS 1320PRINTTAB(5,0);CHR$(128+x%);"Using t he 8BS menu system" 1330PRINTTAB(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." 1340PRINT'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" 1350PRINTCHR$(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." 1360PRINTTAB(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..."; 1370REPEAT 1380*FX21 1390ga%=GET 1400UNTILga%=27ORga%=128 1410IFga%=27THENENDPROC 1420CLS 1430PRINTTAB(5,0);CHR$(128+x%);"Using t he 8BS menu system" 1440PRINTTAB(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." 1450PRINTTAB(0,16);CHR$(128+z%);"Press ESCAPE to return to the"'CHR$(128+z%);"m enu..."; 1460REPEAT 1470*FX21 1480ga%=GET 1490UNTILga%=27 1500ENDPROC 1510: 1520DEFPROCg(e$) 1530LOCALna%,ka$,oa$,pa$,qa$,ra%,sa%,ta % 1540PROCla(f%) 1550READka$,ka% 1560FORna%=1TOVAL(MID$(e$,2)) 1570READka$,oa$,pa$,qa$,ra%,sa%,ta% 1580NEXT 1590IFta%=0ANDpa$<>""THENPROCc("DIR "+p a$) 1600IFra%ANDNOTsa%THENPROCua(ASC(LEFT$( e$,1)),qa$):ENDPROC 1610IFra%ANDsa%THENPROCva(ASC(LEFT$(e$, 1)),qa$):ENDPROC 1620IFta%>0THENf%=ta%:e%=1:ENDPROC 1630PROCd 1640IFLEFT$(oa$,1)="*"THENPROCc(oa$+" " +qa$):END 1650IFoa$="CHAIN"THENCHAINqa$ 1660IFoa$="LOAD"THENPROCc("KEY0 LOAD "+ CHR$(34)+qa$+CHR$(34)+"|MLIST|N|M"):PROC c("FX21"):PROCc("FX138,0,128"):PROCd:VDU 22,7:END 1670END 1680: 1690DEFPROCua(ga%,qa$) 1700VDU22,3 1710VDU23;8202;0;0;0; 1720*FX21 1730IFga%<>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 1740ONERRORIFERR=17THENPROCc("FX229,1") :VDU3,22,7:VDU23;8202;0;0;0;:PROCo:GOTO9 0ELSEVDU3:MODE7:REPORT:PRINT" at line "; ERL:PROCc("KEY0 LIST "+STR$(ERL)+"|M"):P ROCc("FX138,0,128"):PROCd:END 1750*FX229,0 1760PROCc("Type "+qa$) 1770*FX229,1 1780ONERRORVDU3:MODE7:REPORT:PRINT" at line ";ERL:PROCc("KEY0 LIST "+STR$(ERL)+ "|M"):PROCc("FX138,0,128"):PROCd:END 1790IFga%<>ASC("P")THENVDU15ELSEVDU3 1800PRINT'"Press ESCAPE to return to th e menu..."; 1810*FX21 1820REPEATUNTILGET=27 1830VDU22,7 1840VDU23;8202;0;0;0; 1850PROCo 1860ENDPROC 1870: 1880DEFPROCva(ga%,qa$) 1890IFINSTR(qa$,"@")<>0AND(ga%=ASC("P") ORga%=ASC("8"))THENqa$=FNwa(qa$) 1900IFINSTR(qa$,"@")<>0ANDga%<>ASC("P") ANDga%<>ASC("8")THENqa$=LEFT$(qa$,INSTR( qa$,"@")-1) 1910?&80=&C6:?&81=&D6 1920IFga%=ASC("P")THEN$&A00=qa$:Z%=1:CH AINn$ 1930IFga%=ASC("8")THEN$&A00=qa$:Z%=0:CH AINn$ 1940IFga%=ASC("O")THENPROCxa(qa$) 1950PROCc("RUN "+qa$) 1960ENDPROC 1970: 1980DEFFNwa(qa$) 1990LOCALga% 2000CLS 2010PRINTCHR$(128+ba%);"Which part of t he article? (1/2)"; 2020REPEAT 2030*FX21 2040ga%=GET 2050UNTILga%=49ORga%=50 2060IFga%=49THEN=LEFT$(qa$,INSTR(qa$,"@ ")-1) 2070=MID$(qa$,INSTR(qa$,"@")+1) 2080: 2090DEFPROCxa(qa$) 2100CLS 2110PRINTCHR$(128+aa%);"Please press th e key to use to"'CHR$(128+aa%);"scroll u p..." 2120?&80=0 2130?&80=FNya 2140PRINT'CHR$(128+aa%);"Please press t he key to use to"'CHR$(128+aa%);"scroll down..." 2150*FX21 2160?&81=FNya 2170PROCc("KEY0 *LOAD "+qa$+" 1900|M?&1 974=?&80:?&1981=?&81|MCALL&1904|F|M") 2180*FX21 2190VDU21 2200PROCd 2210*FX138,0,128 2220END 2230: 2240DEFFNya 2250LOCALA%,B% 2260REPEAT 2270A%=&7A 2280!&70=USR(&FFF4) 2290B%=255-(?&71) 2300UNTILB%<>0ANDB%<>182ANDB%<>?&80 2310=B% 2320DEFPROCla(f%) 2330IFf%=1THENRESTORE 2340IFf%=2THENRESTORE 2520 2350IFf%=3THENRESTORE 2640 2360IFf%=4THENRESTORE 2770 2370IFf%=5THENRESTORE 2910 2380IFf%=6THENRESTORE 2980 2390IFf%=7THENRESTORE 3070 2400ENDPROC 2410: 2420DATA Main Menu.,8 2430DATA About This Issue.,,,Thi1,-1,-1 ,0 2440DATA Program Documentation.,,,ProgD oc,-1,-1,0 2450DATA Magazine Menu 1.,,,,0,0,2 2460DATA Magazine Menu 2.,,,,0,0,3 2470DATA Utilities Menu 1.,,,,0,0,4 2480DATA Utilities Menu 2.,,,,0,0,5 2490DATA Games/Graphics Menu.,,,,0,0,6 2500DATA ADFS Extra Menu.,,,,0,0,7 2510: 2520DATA Magazine Menu 1.,10 2530DATA Messages and Ads 1.,,,Mes1,-1, -1,0 2540DATA Messages and Ads 2.,,,Mes2,-1, -1,0 2550DATA Messages and Ads 3.,,,Mes3,-1, -1,0 2560DATA Messages and Ads 4.,,,Mes4,-1, -1,0 2570DATA Messages to You.,,,uu,-1,-1,0 2580DATA The Reactor.,,,Reactor,-1,-1,0 2590DATA OK. You Win Editorial.,,,Uwin, -1,-1,0 2600DATA Solinet Adverts.,,,:2.SoliAd,- 1,-1,0 2610DATA Magazine Menu 2.,,,,0,0,3 2620DATA Return to Main Menu.,,,,0,0,1 2630: 2640DATA Magazine Menu 2.,11 2650DATA 8BS Messaging System Info.,,,M esInf,-1,-1,0 2660DATA 8BS Catalogue Summary.,,,CatSu m,-1,0,0 2670DATA BBC Memory Map Part 1.,,,:2.B. OSMAP-1,-1,0,0 2680DATA BBC Memory Map Part 2.,,,:2.B. OSMAP-2,-1,0,0 2690DATA O.S. Calls and Commands.,,,:2. CallCom,-1,0,0 2700DATA Catalogue Correction.,,,PDavy, -1,-1,0 2710DATA Computer Cavern Catalogue.,,,: 2.Cavern,-1,-1,0 2720DATA Presenting Programs 8.,,,Pres8 ,-1,-1,0 2730DATA Electronics. Part 5.,,,Elec5,- 1,0,0 2740DATA Magazine Menu 1.,,,,0,0,2 2750DATA Return to Main Menu.,,,,0,0,1 2760: 2770DATA Utilities Menu 1.,12 2780DATA 8BS Messaging System. Update., CHAIN,:2,SendMes,0,0,0 2790DATA Messaging System. Keystrip.,CH AIN,:2,MessStr,0,0,0 2800DATA 8BS Menu Printer/Reader.,CHAIN ,:2,MenRead,0,0,0 2810DATA Master Function Keys.,CHAIN,:2 ,Key1,0,0,0 2820DATA Counter/Frequency Calculator., CHAIN,:2,Counter,0,0,0 2830DATA Catalogue Printer Update.,CHAI N,:2,CatRd4,0,0,0 2840DATA Hints and Tips Printer/Viewer. ,CHAIN,:2,Reed,0,0,0 2850DATA Wordwise Utility Archive.,CHAI N,:2,Stop,0,0,0 2860DATA Presenting Programs Example.,C HAIN,:2,F.Input,0,0,0 2870DATA Wordwrap Experiment.,CHAIN,:2, TextFmt,0,0,0 2880DATA Utilities Menu 2.,,,,0,0,5 2890DATA Return to Main Menu.,,,,0,0,1 2900: 2910DATA Utilities Menu 2.,5 2920DATA Circles Demo.,CHAIN,:2,Circles ,0,0,0 2930DATA Three Archived Utilities.,CHAI N,:2,Stop,0,0,0 2940DATA Veroboard Printer.,CHAIN,:2,St rpBrd,0,0,0 2950DATA Utilities Menu 1.,,,,0,0,4 2960DATA Return to Main Menu.,,,,0,0,1 2970: 2980DATA Games/Graphics Menu.,7 2990DATA Octagram. Brain Teaser.,CHAIN, :2,OCTALDR,0,0,0 3000DATA Old Dreams Text Adventure.,CHA IN,:2,OlDream,0,0,0 3010DATA Shopping.,CHAIN,:2,Shoppin,0,0 ,0 3020DATA Caterpillar.,CHAIN,:2,CATER,0, 0,0 3030DATA Picture.,CHAIN,:2,Loader,0,0,0 3040DATA One Line Game.,CHAIN,:2,1LnGam e,0,0,0 3050DATA Return to Main Menu.,,,,0,0,1 3060: 3070DATA ADFS Menu.,1 3080DATA Return to Main Menu.,,,,0,0,1