10 D%=20:REM NUMBER OF FLAKES 20 DIMC%(D%):FORL%=0TOD%:C%(L%)=RND(&400)+&7CF0:NEXT 30 REM C%(0):REM REMOVE REM FROM HERE FOR NO SNOW 40 *FX119 50 MODE3 60 VDU22,7 70 VDU23;8202;0;0;0; 80 PROCa 90 PROCb 100 ONERRORVDU3:MODE7:REPORT:PRINT" at line ";ERL:PROCc("KEY0 LIST "+STR$(ERL)+"|M"):PROCc("FX138,0,128"):PROCd:END 110 REPEAT 120 e$=FNf 130 IFLEFT$(e$,1)<>CHR$(27)THENPROCg(e$):*DIR $ 140 UNTILLEFT$(e$,1)=CHR$(27) 150 MODE7 160 PROCd 170 END 180 DEFPROCa 190 *FX225,128 200 *FX229,1 210 *FX4,1 220 ENDPROC 230 DEFPROCd 240 *FX225,1 250 *FX229,0 260 *FX4,0 270 ENDPROC 280 DEFPROCb 290 DIMh%256 300 i$=FNj 310 PROCk 320 l$="39" 330 m$="Dec 1994" 340 n$=":0.$.7TO3":REM n$="$.MAG.7TO3" 350 f%=1 360 e%=1 370 PROCo 380 ENDPROC 390 DEFFNS 400 ="Menu" 410 DEFPROCk 420 i%=5 430 p%=6 440 q%=1 450 r%=2 460 s%=6 470 t%=2 480 u%=3 490 v%=5 500 w%=4 510 x%=3 520 y%=2 530 z%=3 540 aa%=7 550 ba%=7 560 ENDPROC 570 DEFPROCo 580 LOCALca% 590 VDU26,12 600 PRINTCHR$(128+i%);" I.D. ";i$;" ";CHR$(144+p%);""; 610 PRINTCHR$(144+p%);"";CHR$(128+r%);" Issue ";LEFT$(l$,2);" ";CHR$(144+p%);""; 620 PRINTCHR$(144+p%);"";CHR$(144+q%);" ꠰ ";CHR$(144+p%);""; 630 PRINTCHR$(144+p%);"";CHR$(144+q%);"뢡 ꡵";CHR$(128+r%);LEFT$(m$,8);CHR$(144+p%);""; 640 PRINTCHR$(144+p%);"";CHR$(144+q%);" ";CHR$(145);" "; 650 FORca%=1TO18 660 PRINTCHR$(144+p%);"";SPC(36);CHR$(144+p%);""; 670 NEXT 680 PRINTCHR$(144+p%);""; 690 VDU28,2,22,37,5 700 ENDPROC 710 DEFPROCc($h%) 720 LOCALX%,Y% 730 X%=h%MOD256 740 Y%=h%DIV256 750 CALL&FFF7 760 ENDPROC 770 DEFFNj 780 LOCALda%,i$ 790 da%=OPENIN("!Boot") 800 IFda%=0THENPROCea("No !Boot file - unable to read user ID!") 810 PTR#da%=EXT#da%-4 820 i$=CHR$(BGET#da%)+CHR$(BGET#da%)+CHR$(BGET#da%) 830 CLOSE#da% 840 =i$ 850 DEFPROCea(fa$) 860 VDU22,7 870 PRINTfa$ 880 PROCd 890 END 900 DEFFNf 910 LOCALga%,s$,ha%,ia%,ja$,ka$,ka% 920 REPEAT 930 CLS 940 PROCla(f%) 950 READs$,ha% 960 IFha%>14THENha%=14 970 PRINTTAB(0,0);CHR$(128+s%);TAB(1+(17.5-(LEN(s$)/2)),0);s$ 980 FORia%=1TOha% 990 READja$,ka$,ka$,ka$,ka%,ka%,ka% 1000 PRINTTAB(1,1+ia%);" ";CHR$(128+t%);CHR$(64+ia%);CHR$(128+u%);ja$;TAB(35,1+ia%);CHR$156; 1010 NEXT 1020 PRINTTAB(1,1+e%);CHR$(128+w%);CHR$157; 1030 PRINTTAB(0,17);CHR$(128+v%);"Press";CHR$129;"f0";CHR$(128+v%);"for help if necessary..."; 1040 PRINTTAB(0,16);""; 1050 REPEAT 1060 REPEAT 1070 ga%=INKEY(0):IF ga%=-1PROCx 1080 IFga%>=ASC("a")ANDga%<=ASC("z")THENga%=ga%-32 1090 UNTILga%=128ORga%=138ORga%=139ORga%=13OR(ga%>=65ANDga%<=(64+ha%))ORga%=ASC("8")ORga%=ASC("O")ORga%=ASC("P")OR(ga%=27ANDINKEY(-1)) 1100 PRINTTAB(1,1+e%);" "; 1110 IFga%=138ANDe%1THENe%=e%-1 1130 IFga%>=65ANDga%<=(64+ha%)THENe%=ga%-64 1140 PRINTTAB(1,1+e%);CHR$(128+w%);CHR$157; 1150 UNTILga%=13ORga%=128ORga%=ASC("P")ORga%=ASC("8")ORga%=ASC("O")ORga%=27 1160 IFga%=128THENPROCma 1170 UNTILga%=13ORga%=ASC("P")ORga%=ASC("8")ORga%=ASC("O")ORga%=27 1180 =CHR$(ga%)+STR$(e%) 1190 DEFPROCma 1200 LOCALga% 1210 CLS 1220 PRINTTAB(5,0);CHR$(128+x%);"Using the 8BS menu system" 1230 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." 1240 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" 1250 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." 1260 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..."; 1270 REPEAT 1280 *FX21 1290 ga%=GET 1300 UNTILga%=27ORga%=128 1310 IFga%=27THENENDPROC 1320 CLS 1330 PRINTTAB(5,0);CHR$(128+x%);"Using the 8BS menu system" 1340 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." 1350 PRINTTAB(0,16);CHR$(128+z%);"Press ESCAPE to return to the"'CHR$(128+z%);"menu..."; 1360 REPEAT 1370 *FX21 1380 ga%=GET 1390 UNTILga%=27 1400 ENDPROC 1410 DEFPROCg(e$) 1420 LOCALna%,ka$,oa$,pa$,qa$,ra%,sa%,ta% 1430 PROCla(f%) 1440 READka$,ka% 1450 FORna%=1TOVAL(MID$(e$,2)) 1460 READka$,oa$,pa$,qa$,ra%,sa%,ta% 1470 NEXT 1480 IFta%=0ANDpa$<>""THENPROCc("DIR "+pa$) 1490 IFra%ANDNOTsa%THENPROCua(ASC(LEFT$(e$,1)),qa$):ENDPROC 1500 IFra%ANDsa%THENPROCva(ASC(LEFT$(e$,1)),qa$):ENDPROC 1510 IFta%>0THENf%=ta%:e%=1:ENDPROC 1520 PROCd 1530 IFLEFT$(oa$,1)="*"THENPROCc(oa$+" "+qa$):END 1540 IFoa$="CHAIN"THENCHAINqa$ 1550 IFoa$="LOAD"THENPROCc("KEY0 LOAD "+CHR$(34)+qa$+CHR$(34)+"|MLIST|N|M"):PROCc("FX21"):PROCc("FX138,0,128"):PROCd:VDU22,7:END 1560 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:GOTO100ELSEVDU3: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 1750 DEFPROCva(ga%,qa$) 1760 IFINSTR(qa$,"@")<>0AND(ga%=ASC("P")ORga%=ASC("8"))THENqa$=FNwa(qa$) 1770 IFINSTR(qa$,"@")<>0ANDga%<>ASC("P")ANDga%<>ASC("8")THENqa$=LEFT$(qa$,INSTR(qa$,"@")-1) 1780 ?&80=&C6:?&81=&D6 1790 IFga%=ASC("P")THEN$&A00=qa$:Z%=1:CHAINn$ 1800 IFga%=ASC("8")THEN$&A00=qa$:Z%=0:CHAINn$ 1810 IFga%=ASC("O")THENPROCxa(qa$) 1820 PROCc("RUN "+qa$) 1830 ENDPROC 1840 DEFFNwa(qa$) 1850 LOCALga% 1860 CLS 1870 PRINTCHR$(128+ba%);"Which part of the article? (1/2)"; 1880 REPEAT 1890 *FX21 1900 ga%=GET 1910 UNTILga%=49ORga%=50 1920 IFga%=49THEN=LEFT$(qa$,INSTR(qa$,"@")-1) 1930 =MID$(qa$,INSTR(qa$,"@")+1) 1940 DEFPROCxa(qa$) 1950 CLS 1960 PRINTCHR$(128+aa%);"Please press the key to use to"'CHR$(128+aa%);"scroll up..." 1970 ?&80=0 1980 ?&80=FNya 1990 PRINT'CHR$(128+aa%);"Please press the key to use to"'CHR$(128+aa%);"scroll down..." 2000 *FX21 2010 ?&81=FNya 2020 PROCc("KEY0 *LOAD "+qa$+" 1900|M?&1974=?&80:?&1981=?&81|MCALL&1904|F|M") 2030 *FX21 2040 VDU21 2050 PROCd 2060 *FX138,0,128 2070 END 2080 DEFFNya 2090 LOCALA%,B% 2100 REPEAT 2110 A%=&7A 2120 !&70=USR(&FFF4) 2130 B%=255-(?&71) 2140 UNTILB%<>0ANDB%<>182ANDB%<>?&80 2150 =B% 2160 DEFPROCx:IF C%(0)=0 ENDPROC 2170 FORL%=0 TO RND(D%/2)+D%/2 2180 IF?C%(L%)=135:IF?(C%(L%)+1)=42:?(C%(L%)+1)=32:?C%(L%)=32 2190 C%(L%)=C%(L%)+38+RND(3):IF C%(L%)>&7F88 C%(L%)=RND(40)+&7CF0 2200 IF?C%(L%)=32:IF?(C%(L%)+1)=32 ?C%(L%)=135:?(C%(L%)+1)=42 2210 NEXT 2220 ENDPROC 2230 DEFPROCla(f%) 2240 IFf%=1THENRESTORE 2250 IFf%=2THENRESTORE 2410 2260 IFf%=3THENRESTORE 2560 2270 IFf%=4THENRESTORE 2650 2280 IFf%=5THENRESTORE 2770 2290 IFf%=6THENRESTORE 2880 2300 ENDPROC 2310 DATA Main Menu.,8 2320 DATA Christmas Card.,CHAIN,:2,SantaLd,0,0,0 2330 DATA About This Issue.,,:0,Thi1,-1,-1,0 2340 DATA Program Documentation.,,:0,ProgDoc,-1,-1,0 2350 DATA Magazine Menu 1.,,,,0,0,2 2360 DATA Magazine Menu 2.,,,,0,0,3 2370 DATA Utilities Menu.,,,,0,0,4 2380 DATA Games and Demos.,,,,0,0,5 2390 DATA ADFS Extra Menu.,,,,0,0,6 2400 : 2410 DATA Magazine Menu 1.,13 2420 DATA General Messages 1.,,:0,Gen1,-1,-1,0 2430 DATA General Messages 2.,,:0,Gen2,-1,-1,0 2440 DATA For Sale/Wanted 1.,,:0,Ads1,-1,-1,0 2450 DATA For Sale/Wanted 2.,,:0,Ads2,-1,-1,0 2460 DATA 8BS Adverts.,,:0,8BSad,-1,-1,0 2470 DATA Help! 1.,,:0,Help1,-1,-1,0 2480 DATA Help! 2.,,:0,Help2,-1,-1,0 2490 DATA Messages to You.,,:0,uu,-1,-1,0 2500 DATA The Reactor.,,:0,Reactor,-1,-1,0 2510 DATA Editorial.,,:2,Editori,-1,-1,0 2520 DATA Suggested Contacts.,,:0,Contact,-1,-1,0 2530 DATA Magazine Menu 2.,,,,0,0,3 2540 DATA Return to Main Menu.,,,,0,0,1 2550 : 2560 DATA Magazine Menu 2.,8 2570 DATA 8BS Messaging System Info.,,:0,QMesInf,-1,-1,0 2580 DATA Merge.,,:0,Merge,-1,0,0 2590 DATA Dual Print Info.,,:0,DualInf,-1,0,0 2600 DATA My Early Days. Part 4.,,:0,Early4,-1,0,0 2610 DATA Short Story.,,:0,Story1,-1,0,0 2615 DATA Modems.,,:0,Modem,-1,-1,0 2620 DATA Magazine Menu 1.,,,,0,0,2 2630 DATA Return to Main Menu.,,,,0,0,1 2640 : 2650 DATA Utilities Menu.,9 2660 DATA 8BS Messaging System. V 1.07,CHAIN,:2,SendMes,0,0,0 2670 DATA REM Tip.,CHAIN,:2,REM,0,0,0 2680 DATA Merge Program.,CHAIN,:2,Merge,0,0,0 2690 DATA Dual Print.,CHAIN,:2,Print_2,0,0,0 2700 DATA Printout BBC-8 Manual.,CHAIN,:2,Pmanual,0,0,0 2710 DATA Palindromic Numbers. Reprise.,CHAIN,:2,LAPPY2,0,0,0 2720 DATA OS_Map.,CHAIN,:2,OS_MAP,0,0,0 2730 DATA 8BS Catalogue.,CHAIN,:2,ViewOne,0,0,0 2750 DATA Return to Main Menu.,,,,0,0,1 2760 : 2770 DATA Games and Demos Menu.,9 2780 DATA Spirograph.,CHAIN,:2,Spiro,0,0,0 2790 DATA Lottery. Select Numbers.,CHAIN,:2,Lottery,0,0,0 2800 DATA Lottery. Game.,CHAIN,:2,Lotter2,0,0,0 2810 DATA The Snowmen.,CHAIN,:2,Snowmen,0,0,0 2820 DATA Count With Teddy.,CHAIN,:2,Teddy,0,0,0 2830 DATA Pyramid Patience. Master Only.,CHAIN,:2,Pyramid,0,0,0 2840 DATA Twelve Days Of Christmas.,CHAIN,:2,Twelve,0,0,0 2850 DATA Orbit Game.,CHAIN,:2,Orbit1,0,0,0 2860 DATA Return to Main Menu.,,,,0,0,1 2870 : 2880 DATA ADFS Menu.,1 2890 DATA Return to Main Menu.,,,,0,0,1