10 : 20 : 30 : 40 : 50 : 60 *|" …PROGRAM BY RUSHDEN ROY … (A 'L' PLATE PROGRAMMER) … FOR 8-BIT SOFTWARE 70 MODE7 80 *FX21 90 VDU23,1,0;0;0;0; 100 CLS 110 PRINT' 120 PROCROY 130 PROCdblht("This is a collection of small",3,10) 140 PROCdblht("utility programs that can be ",3,12) 150 PROCdblht("used with the function keys.",3,14) 160 PROCredkeys 170 *FX15,1 180 REPEAT:UNTIL GET =32:CLS 190 PROCTITLEDOUBLE("Programs for the fKEYS",0,0) 200 PRINTTAB(0,23)" „ƒPress the SHIFT key to scroll œ " 210 VDU 28,0,22,39,6 220 VDU14 230 PRINT'" This main program contains some short programs that may be used with the red function keys." 240 PRINT" A function key can hold small programs so that when the key is pressed it will produce words or symbols." 250 PRINT" One short program that is used a lot is †*K.0MO.7|M|NL.|M ‡so that when thef0 key is pressed it will list the program in mode 7 and stop the screen scrolling." 260 PRINT" Also if a word or two will be used a lot you could have †*K.1Joe Bloggs ‡so that every time thef1‡key is pressed Joe Bloggs will be printed onto the screen." 270 PRINT" With these small programs that are in this collection I suggest that when you have reached the end of this text you hitƒspace‡to list them, thenƒshift‡to scroll." 280 PRINT" If you find one that you would like to try then pressƒescape‡and use theƒcopy ‡key to put it in yourfkey‡." 290 : 300 *FX15,1 310 PRINT'TAB(3)"”ˆ_‰ƒNOW PRESS SPACE TO LIST”ˆ0" 320 REPEAT UNTIL GET =32 330 VDU14 340 PROClist 350 END 360 DEFPROCROY 370 PRINT"“7`+47``57k`5 ````` PROGRAM BY ````````" 380 PRINT"’5b(55( 5m h%7`+4757`k 7k`57`k 7e757`k" 390 PRINT"‘uzp5upp5jpz 5( 5555js05 n15bs550!5u0`5" 400 PRINT"“ppppppppppp upp5u5upp5uzp5upp5u7t5upp5" 410 PRINT 420 PRINT"‚ FOR 8-BIT SOFTWARE" 430 PRINT"‚1 Oakwood Drive Heaton BOLTON BL1 5EE"' 440 ENDPROC 450 DEFPROCdblht(x$,x,y):PRINTTAB(x,y);CHR$(141);CHR$(134);x$:PRINTTAB(x,y+1);CHR$(141);CHR$(135);x$ 460 ENDPROC 470 DEF PROCTITLEDOUBLE(TITLE$,x,y) 480 LOCAL 490 IFLEN(TITLE$)MOD2=1THENTITLE$=TITLE$+CHR$32 500 LL%=LEN(TITLE$):RR%=(24-LL%)/2:TITLE$=STRING$(RR%," ")+TITLE$+STRING$(RR%-1," ") 510 PRINTTAB(x,y)" ” _pppppppppppppppppppppppppppppppp" 520 PRINTTAB(x,y+1)" ”j7sssssssssssssssssssssssssssssk"CHR$(255) 530 PRINTTAB(x,y+2)CHR$(141)" ”j55ƒ"TITLE$" ”j j" 540 PRINTTAB(x,y+3)CHR$(141)" ”j55ƒ"TITLE$" ”j j" 550 PRINTTAB(x,y+4)" ” ju3```````````````````````````` j" 560 PRINTTAB(x,y+5)" ”*////////////////////////////////" 570 ENDPROC 580 DEF PROCredkeys 590 PRINT''''"„  ‘špp ąpp ąpp ąpp ąpp ąpp ąpp ąpp "CHR$(156) 600 PRINT" „‡H”j‡I”j‡T”j‡S”j‡P”j‡A”j‡C”j‡E”j"CHR$(156) 610 PRINT" ”‘ £`` ¢`` ¢`` ¢`` ¢`` ¢`` ¢`` "CHR$162"`` "CHR$(156) 620 ENDPROC 630 DEF PROClist 640 VDU23,1,1;0;0;0; 650 VDU 28,0,22,39,6 660 CLS 670 *FX138,0,76 680 *FX138,0,73 690 *FX138,0,83 700 *FX138,0,84 710 *FX138,0,55 720 *FX138,0,55 730 *FX138,0,48 740 *FX138,0,44 750 *FX138,0,13 760 ENDPROC 770 780 REM"…___________________________ 790 *|"ƒWILL MERGE A SPECIFIED BASIC 800 *|"ƒWILL MERGE A SPECIFIED BASIC 810 *|"ƒ PROG. ONTO END OF ONE IN MEM. ˆAND‰RENUMBER 820 *|"†(By B.Roberts) 830 *K.9V.7:I."MERGE",P$:P$="*L."+P$+" "+STR$~(TOP-2)+CHR$13+"REN."+CHR$13:A%=138:X%=0:F.C=0TOLENP$:Y%=ASC(M.P$,C)):CA.&FFF4:N.|M 840 : 850 REM"…__________________________ 860 *|"ƒWILL MERGE A SPECIFIED BASIC ƒ ƒWILL MERGE A SPECIFIED BASIC ƒPROG. ONTO END OF ONE IN MEM. WILLˆNOT‰RENUMBER 870 880 *K.9V.7:I.'"MERGE",P$:P$="*L."+P$+" "+STR$~(TOP-2):A%=138:X%=0:F.C=0TOLENP$:Y%=ASC(M.P$,C)):CA.&FFF4:N.|M 890 : 900 REM"…__________________________ 910 *|"ƒWILL PRINT CAT.OF DISC 920 *|"ƒWILL PRINT CAT.OF DISC ƒ IN SMALL PRINT FOR A LABEL 930 *|" ƒ(OR TWO IF LARGE CATALOGUE) 940 *|"†(By NOT KNOWN) 950 *KEY9 |B|A|O|A|[|AS|A|@|A|[|A3|A|R|C*CAT|B|M|C 960 : 970 REM"…__________________________ 980 *|"ƒWILL AUTO SAVE WITH NEW NO 990 *|"ƒWILL AUTO SAVE WITH NEW NO. 1000 *|"“ƒi.e. Prog1,Prog2,Prog3 etc. 1010 *|"†(By J Carnell) 1020 *KEY9V.7:Z%=Z%+1|MSA."Prog"+STR$(Z%)|M 1030 REM"‚Warning:This will copy to disc ‚with name Prog1 etc.Make sure that ‚you do not overwrite if there is a ‚Prog1 already on disc! 1040 REM"…__________________________ 1050 *|"ƒWILL SEARCH FOR STRING 1060 *|"ƒWILL SEARCH FOR STRING 1070 *|"ƒPRESSf KEYƒTHEN TYPE STRING 1080 *|"†(By David Jupe) 1090 *K.9|N|!hLINEN$:P=PA.+1:@%=5:|!uN=256*?P+P?1:M=P+3:P=P+P?2:|!g|!'$M,N$)|!qN;:|!uA%=?M:|!V&B50E:M=M+1:U.A%=13:|!q:U.?P=255EL.U.?P=255|M 1100 REM"‚Warning: When copying this ‚cut off clean at end of M ‚i.e. no trailing spaces. 1110 REM"…__________________________ 1120 *|"ƒWILL LET YOU KNOW THE TAB 1130 *|"ƒWILL LET YOU KNOW THE TAB 1140 *|" ƒTO CENTRE TEXT 1150 *|"ƒ TO CENTRE TEXT 1160 *|"†(By NOT KNOWN) 1170 *K.9I."Tab :40/80cols";s:I."Enter text:"t$:tp=INT(((s-(LEN(t$)))/2)-1):P.;"P.TAB(";tp")""";t$"""":|M 1180 : 1190 REM"…__________________________ 1200 *|"ƒWILL GIVE VDU28 FOR WINDOW ƒ ƒWILL GIVE VDU28 FOR WINDOW 1210 *|"ƒPRESSf KEY,ƒMOVE CURSOR TO ƒBOTTOM LEFT CORNER ƒTHEN TOP RIGHT CORNER ƒ THE VDU28 REQUIRED WILL BE SHOWN 1220 *|"†(By NOT KNOWN) 1230 *K.9X=POS:Y=VP.:G=GET:P=POS:V=VP.:V.31,P,V,46:G=GET:W=POS:Z=VP.:V.31,W,Z,46,31,X,Y:P."VDU28,";P;",";V;",";W;",";Z|L|M 1240 : 1250 REM"…___________________________ 1260 *|"ƒCHECKS FILE WITH ONE IN MEM 44010*ƒ CHECKS FILE WITH ONE IN MEM. 1270 *|"f KEY,ƒTYPE FILE NAME (BASIC) ƒIT LETS YOU KNOW IF NOT THE SAME 1280 *|"†(By D.Reisenberger) 1290 *K.9I.N$:CH=OP.(N$):E%=TRUE:F.Q%=PAGE TO TOP-1:P.~Q%:V.11:IF?Q%<>BGET#CH TH.E%=FA.:P."Error at &";~Q%:N.:CLO.#CH EL. N.:P.'"All OK":CLO.#CH|M 1300 REM"…___________________________ 1310 *|"“A SET OF F KEYS FOR GRAPHICS 1111290“A SET OF F KEYS FOR GRAPHICS 1320 REM"Use with the Teletext control codes ie. CTRL+fKEY or SHIFT+fKEY 1330 REM"ƒFULL‘’ƒGRAPHIC BLOCK 1340 1350 *KEY0"’" 1360 REM"…__________________________ 1370 REM"ƒNORMAL HEIGHT 1380 1390 *KEY1|!|L 1400 REM"…__________________________ 1410 REM"ƒDOUBLE HEIGHT 1420 REM"ƒDOUBLE HEIGHT 1430 1440 *KEY2|!|M 1450 REM"…__________________________ 1460 REM"ƒCONTIGUOUS‘’’’ƒ GRAPHICS 1470 1480 *KEY3|!|Y 1490 REM"…__________________________ 1500 REM"ƒSEPARATED‘š’’’ƒ GRAPHICS 1510 1520 *KEY4|!|Z 1530 REM"…__________________________ 1540 REM"ƒBLACK BACKGROUND 1550 1560 *KEY5|!|\ 1570 REM"…__________________________ 1580 REM"‘ƒNEW BACKGROUND šœ 1590 1600 *KEY6|!|] 1610 REM"…__________________________ 1620 REM"ƒHOLDž ’’’•’’“’’’ GRAPHICS 1630 1640 *KEY7|!|^ 1650 REM"…__________________________ 1660 REM"ƒRELEASE ’’’•’’“’’ GRAPHICS 1670 1680 *KEY8|!|- 1690 REM"…__________________________ 1700 REM"ƒCONCEAL GRAPHICS 1710 1720 *KEY9|!|X 1730 REM"…__________________________ 1740 1750 1760 1770 *|"ƒINTERWORD KEYS 11REƒ INTERWORD KEYS 1780 *|"”,,,,,,,,,,,,,,,, 1790 REM"†(By R Sharman) 1800 *|"With Interword wordprocessor To use press CTRLSHIFT‰f4,f5,f6 or f7 1810 REM"ƒTHIS WILL UNDERLINE WORD 1820 1830 *KEY4|!,|Z|!|D|!- 1840 REM"…__________________________ 1850 REM"ƒTHIS WILL GIVE BOLD WORD 1860 1870 *KEY5|!,|Z|!|E|!- 1880 REM"…__________________________ 1890 REM"ƒTHIS WILL GIVE ITALICS WORD 1900 1910 *KEY6|!,|Z|!|F|!- 1920 REM"…__________________________ 1930 REM"ƒTHIS WILL GIVE NORMAL WORD 1940 1950 *KEY7|!,|Z|!|G|!- 1960 REM"…__________________________ 1970 1980 1990 REM"…TO SEE THIS AGAIN TYPE RUN …THEN PRESS RETURN 2000 REM"‚CREDITS:‡Thanks to Steven Flintham for his help in showing me how to window and LIST from a program, explained in the '8-BIT Software' issue No.22 (TitlTop)