10 REM *********************************************************************** * PROGRAM1 * 20 REM * by Phil Grier * * Laurel Maryland * 30 REM * (301) 498-2226 * *********************************************************************** 43 DEF SEG:POKE 106,0:FALSE=0:TRUE=NOT FALSE:RESET 44 CLS:PRINT"MUSIC? (Y OR N)" 46 MUSIC$=INKEY$ 47 FOR I=1 TO 2:IF MUSIC$=MID$("Yy",I,1) THEN MUSIC=TRUE:GOTO 50 ELSE NEXT 48 IF MUSIC$="" THEN 46 49 MUSIC=FALSE 50 IF MUSIC=FALSE THEN 61 60 S$="O3L16B.L16AL16G.L8GL16GL16AL16BO4L16CL8DDDO3B.":PLAY "XS$;" 61 DEF SEG:POKE 106,0:SCREEN 0,1,0,0:COLOR 7,0,0:WIDTH 80:CLS:FOR I=1 TO 20:A$=INKEY$:NEXT 70 KEY OFF:KEY 1,"LIST ":KEY 2,"RUN"+CHR$(13):KEY 3,"LOAD"+CHR$(34)+"B:":KEY 4,"SAVE"+CHR$(34)+"B:":KEY 5,"GOSUB ":KEY 9,"CLS":KEY 7,"FILES "+CHR$(34)+"B:*.*":KEY 8,"EDIT ":KEY 6,"RETURN":KEY 10,"SYSTEM" 79 GOTO 100 100 LOCATE 2,30:PRINT "Phil Grier's":LOCATE 4,31,0:COLOR 0,15:PRINT "PROGRAM 1":COLOR 7,0:FOR I=1 TO 3000:NEXT 110 PRINT:PRINT 120 PRINT"THE ";:COLOR 1,0:PRINT "COLOR";:COLOR 7,0:PRINT " STATEMENT IN MONOCHROME: 130 PRINT:PRINT"THE NORMAL COLOR SETTING IS 7,0";:LOCATE ,50:PRINT"NORMAL 140 PRINT "REVERSE COLOR IS 0,7";:COLOR 0,7:LOCATE ,50:PRINT"REVERSE 150 COLOR 7,0:PRINT "UNDERSCORE IS 1,0";:LOCATE ,50:COLOR 1,0:PRINT"UNDERSCORE 160 COLOR 7,0:PRINT "HIGH INTENSITY IS 15,0";:LOCATE ,50:COLOR 15,0:PRINT"HI-INTEN 170 COLOR 7,0:PRINT"BLINKING IS 18,0";:LOCATE ,50:COLOR 18,0:PRINT"BLINK 180 COLOR 7,0:PRINT "BLINKING UNDERLINED IS 17,0";:LOCATE ,50:COLOR 17,0:PRINT "BLINK & UNDERSCORE 190 COLOR 7,0:PRINT "HIGH INTENSITY BLINKING IS 26,0";:LOCATE ,50:COLOR 26,0:PRINT "HI-INTEN & BLINK 200 COLOR 7,0:PRINT "BLINK & UNDERSCORE & HI INTENSITY IS 25,0";:LOCATE ,50:COLOR 25,0:PRINT "BLINK & HI & UNDRSCR 210 COLOR 7,0 220 GOSUB 5000:GOSUB 6000:GOSUB 5000 300 CLS:LOCATE 1,25:COLOR 0,7:PRINT " A L T E R N A T I V E S ":COLOR 7,0:PRINT :PRINT "ALT + A = AUTO 310 PRINT "ALT + B = BSAVE 320 PRINT "ALT + C = COLOR 330 PRINT "ALT + D = DELETE 340 PRINT "ALT + E = ELSE 350 PRINT "ALT + F = FOR 360 PRINT "ALT + G = GOTO 370 PRINT "ALT + H = HEX$ 380 PRINT "ALT + I = INPUT 390 PRINT "ALT + K = KEY 400 PRINT "ALT + L = LOCATE 410 PRINT "ALT + M = MOTOR 420 PRINT "ALT + N = NEXT 430 PRINT "ALT + O = OPEN 440 PRINT "ALT + P = PRINT 450 PRINT "ALT + R = RUN 460 PRINT "ALT + S = SCREEN 470 PRINT "ALT + T = THEN 480 PRINT "ALT + U = USING 490 PRINT "ALT + V = VAL 500 PRINT "ALT + W = WIDTH 510 PRINT "ALT + X = XOR"; 520 LOCATE 3,40:PRINT "CTRL + G = BEL 530 LOCATE 5,40:PRINT "CTRL + Break = EXIT PROGRAM - EXIT AUTO 540 LOCATE 7,40:PRINT "Ctrl + Alt + Del = SYSTEM RESET 550 LOCATE 9,40:PRINT "Ctrl + Num Lock = PAUSE 555 LOCATE 10,58:PRINT "(any key to continue) 560 LOCATE 12,40:PRINT "Ctrl + Home = CLEAR SCREEN 570 LOCATE 14,40:PRINT "Ctrl + (CURSOR RIGHT) = NEXT WORD 580 LOCATE 16,40:PRINT "Ctrl + (CURSOR LEFT) = PREVIOUS WORD 590 LOCATE 18,40:PRINT "Ctrl + End = ERASE TO NEXT ENTER 595 GOSUB 5000 600 CLS:LOCATE 1,15:COLOR 0,7:PRINT " B A S I C : G E N E R A L S T A T E M E N T S ";:COLOR 7,0 610 PRINT:PRINT:PRINT"COMMON":LOCATE 3,15:PRINT"var list":LOCATE 3,30:PRINT"statement":LOCATE 3,52:PRINT"pass var to chained pgm 620 PRINT"DATA":LOCATE 4,15:PRINT"data list":LOCATE 4,30:PRINT"statement":LOCATE 4,52:PRINT"create data table 630 PRINT"DATE$":LOCATE 5,30:PRINT"function":LOCATE 5,52:PRINT"set system date 640 PRINT"DEF FN":LOCATE 6,15:PRINT"variable":LOCATE 6,30:PRINT"function":LOCATE 6,52:PRINT"define function 650 PRINT"DEF":LOCATE 7,15:PRINT"variable":LOCATE 7,30:PRINT"function":LOCATE 7,52:PRINT"define variable 660 PRINT"DIM":LOCATE 8,15:PRINT"var list":LOCATE 8,30:PRINT"statement":LOCATE 8,52:PRINT"allocate dimension space 670 PRINT"END":LOCATE 9,30:PRINT"statement":LOCATE 9,52:PRINT"return to command level 680 PRINT"ERASE":LOCATE 10,30:PRINT"statement":LOCATE 10,52:PRINT"eliminate arrays values 690 PRINT"ERROR":LOCATE 11,15:PRINT"number":LOCATE 11,30:PRINT"statement":LOCATE 11,52:PRINT"simulate error 700 PRINT"FOR X=A TO B":LOCATE 12,30:PRINT"statement":LOCATE 12,52:PRINT"program loop 710 PRINT"IF V THEN N ELSE M":LOCATE 13,30:PRINT"statement":LOCATE 13,52:PRINT"decision & transfer 720 PRINT"LET X=V":LOCATE 14,30:PRINT"statement":LOCATE 14,52:PRINT"evaluate expression 730 PRINT"NEXT":LOCATE 15,30:PRINT"statement":LOCATE 15,52:PRINT"terminates a for loop 740 PRINT"OPTION BASE":LOCATE 16,15:PRINT"(0 or 1)":LOCATE 16,30:PRINT"statement":LOCATE 16,52:PRINT"set minimum array subscript 750 PRINT"PEEK":LOCATE 17,30:PRINT"statement & function":LOCATE 17,52:PRINT"observe byte in memory 760 PRINT"POKE":LOCATE 18,30:PRINT"statement & function":LOCATE 18,52:PRINT"put byte in memory 770 PRINT"RANDOMIZE":LOCATE 19,15:PRINT"numeric":LOCATE 19,30:PRINT"statement":LOCATE 19,52:PRINT"generate random number 780 PRINT"RND":LOCATE 20,15:PRINT"(X)":LOCATE 20,30:PRINT"function":LOCATE 20,52:PRINT"random number generation 790 PRINT"READ":LOCATE 21,30:PRINT"statement":LOCATE 21,52:PRINT"read DATA statements 800 PRINT"REM":LOCATE 22,30:PRINT"statement":LOCATE 22,52:PRINT"listing remarks 810 PRINT"RESTORE":LOCATE 23,30:PRINT"statement":LOCATE 23,52:PRINT"reset data pointer 830 GOSUB 5000 850 CLS:PRINT"cont":LOCATE 1,15:COLOR 0,7:PRINT " B A S I C : G E N E R A L S T A T E M E N T S ";:COLOR 7,0 860 LOCATE 5,1:PRINT "STOP":LOCATE 5,30:PRINT"statement":LOCATE 5,50:PRINT"halt program execution 870 LOCATE 7,1:PRINT"SWAP":LOCATE 7,15:PRINT"numeric":LOCATE 7,30:PRINT"statement":LOCATE 7,50:PRINT"exchange values 880 LOCATE 9,1:PRINT"TIME$":LOCATE 9,15:PRINT"string":LOCATE 9,30:PRINT"function":LOCATE 9,50:PRINT"set system time 890 LOCATE 11,1:PRINT"WEND":LOCATE 11,30:PRINT"statement":LOCATE 11,50:PRINT"close while loop 900 LOCATE 13,1:PRINT"WHILE":LOCATE 13,15:PRINT"variable":LOCATE 13,30:PRINT"statement":LOCATE 13,50:PRINT"loop as long as true 950 GOSUB 5000 1000 CLS:LOCATE 1,15:COLOR 0,7:PRINT " B A S I C : C O N T R O L S T A T E M E N T S ";:COLOR 7,0 1010 PRINT:PRINT:PRINT"CALL":LOCATE 3,17:PRINT"(X,X,X)":LOCATE 3,30:PRINT"statement":LOCATE 3,50:PRINT"call M/L subroutine 1020 PRINT"CHAIN":LOCATE 4,17:PRINT"file spec.":LOCATE 4,30:PRINT"statement":LOCATE 4,50:PRINT"overlay programs 1030 PRINT"GOSUB":LOCATE 5,17:PRINT"line #":LOCATE 5,30:PRINT"statement":LOCATE 5,50:PRINT"call BASIC subroutine 1040 PRINT"GOTO":LOCATE 6,17:PRINT"line #":LOCATE 6,30:PRINT"statement":LOCATE 6,50:PRINT"transfer control 1050 PRINT"ON COM N GOSUB":LOCATE 7,17:PRINT"line #":LOCATE 7,30:PRINT"adv. statement":LOCATE 7,50:PRINT"communications trap 1060 PRINT"ON ERR GOSUB":LOCATE 8,17:PRINT"line #":LOCATE 8,30:PRINT"statement":LOCATE 8,50:PRINT"error trap 1070 PRINT"ON V GOTO":LOCATE 9,17:PRINT"line #":LOCATE 9,30:PRINT"statement":LOCATE 9,50:PRINT"conditional branch 1080 PRINT"ON KEY N GOSUB":LOCATE 10,17:PRINT"line #":LOCATE 10,30:PRINT"adv. statement":LOCATE 10,50:PRINT"function key trap 1090 PRINT"ON PEN GOSUB":LOCATE 11,17:PRINT"line #":LOCATE 11,30:PRINT"adv. statement":LOCATE 11,50:PRINT"trap off light pen 1100 PRINT"ON STRIG N GOSUB":LOCATE 12,17:PRINT"line #":LOCATE 12,30:PRINT"adv. statement":LOCATE 12,50:PRINT"trap off joystick 1110 PRINT"RESUME":LOCATE 13,17:PRINT"line #":LOCATE 13,30:PRINT"statement":LOCATE 13,50:PRINT"return from error trap 1120 PRINT"RETURN":LOCATE 14,30:PRINT"statement":LOCATE 14,50:PRINT"return from subroutine 1130 PRINT"USR":LOCATE 15,17:PRINT"var. list":LOCATE 15,30:PRINT"function":LOCATE 15,50:PRINT"call M/L subroutine 1140 PRINT"VARPTR":LOCATE 16,17:PRINT"numeric":LOCATE 16,30:PRINT"function":LOCATE 16,50:PRINT"gives address of variable 1150 GOSUB 5000 1200 CLS:LOCATE 1,17:COLOR 0,7:PRINT " B A S I C : F I L E S T A T E M E N T S ";:COLOR 7,0 1210 PRINT:PRINT:PRINT"CLOSE","numeric",,"statement","close file 1220 PRINT:PRINT"EOF","numeric",,"function","end of file condition 1230 PRINT:PRINT"ERL",,,"function","error line number 1240 PRINT:PRINT"ERR",,,"function","error number code 1250 PRINT:PRINT"FIELD","function: N AS X$","statement","format a buffer 1260 PRINT:PRINT"GET",,,"function","read rand. file record 1270 PRINT:PRINT"LSET","x$ = y$",,"func & stmnt","left justify a field 1280 PRINT:PRINT"OPEN","FS for md as fl#","statement","open file 1290 PRINT:PRINT"PUT",,,"statement","write from rand file rec 1300 PRINT"RSET","x$ = y$",,"func & stmnt","right justify a field 1350 GOSUB 5000 1400 CLS:LOCATE 1,17:COLOR 0,7:PRINT " B A S I C : I / O S T A T E M E N T S ";:COLOR 7,0 1410 PRINT:PRINT:PRINT"BEEP",,"statement","beep speaker (bel) 1420 PRINT"COM N","on/off/stop","statement","on/off comm trap 1430 PRINT"KEY","on/off","statement","function keys display 1440 PRINT"KEY","n,x$","statement","set function key 1450 PRINT"KEY","on/off/stop","statement","on/off function key trap 1460 PRINT"LOC","numeric","function","file pointer position 1470 PRINT"LOF","numeric","function","# of 128 byte blocks in file 1480 PRINT"LPOS","numeric","function","printer carrage position 1490 PRINT"MOTOR","numeric","statement","cassette motor switch 1500 PRINT"OPEN COM","n:parms","statement","open communications file 1510 PRINT"OUT","port,byte","statement","output byte to port 1520 PRINT"PEN","numeric","function","read light pen 1530 PRINT"PEN","on/off/stop","statement","on/off light pen trap 1540 PRINT"SOUND","f:duration","statement","generate speaker sound 1550 PRINT"STICK","(n)","function","joystick coordinates 1560 PRINT"STRIG","(n)","function","state of joystick button 1570 PRINT"WAIT","port/mask","function","suspend port until mask 1580 GOSUB 5000 1600 CLS:LOCATE 1,17:COLOR 0,7:PRINT " B A S I C : K E Y B O A R D & S C R E E N ";:COLOR 7,0 1610 PRINT:PRINT:PRINT"CIRCLE","(x,y),z","statement","draw circle on screen 1620 PRINT"CLS",,"statement","clear screen 1630 PRINT"COLOR","x,y","statement","set screen colors 1640 PRINT"DRAW","x$","statement","draw figure in string 1650 PRINT"GET","(x1,y1)-(x2,y2) statement","read graphics from screen 1660 PRINT"INPUT","x$","statement","read from keyboard 1670 PRINT"LINE","(x1,y1)-(x2,y2) statement","draw line on display 1680 PRINT"LINE INPUT","x$","statement","read entire line from keyboard 1690 PRINT"LOCATE","n,m","statement","position cursor row & column 1700 PRINT"LPRINT","vl","statement","output to printer 1710 PRINT"LPRINT USING","vl","statement","formatted output to printer 1720 PRINT"PAINT","(n,m)x1,x2","statement","color an area on display 1730 PRINT"PRINT","vl","statement","display data on screen 1740 PRINT"PRESET","(n,m) x","statement","display color point background 1750 PRINT"PSET","(n,m) x","statement","display color point 1760 PRINT"PUT","(x1,y1)-(x2,y2) statement","put graphics to screen 1770 PRINT"SCREEN","m,n,pg1,pg2","statement","set screen paramenters 1780 PRINT"WRITE","vl","statement","display to screen 1790 GOSUB 5000 1800 CLS:LOCATE 1,17:COLOR 0,7:PRINT " B A S I C : S T R I N G F U N C T I O N S ";:COLOR 7,0 1810 PRINT:PRINT:PRINT:PRINT:PRINT"ASC","(x$)","function","ASCII code for 1st character 1820 PRINT"CVI$/CVS$/CVD$ (x$)","function","convert value to ASCII 1830 PRINT"CHR$","(x$)","function","character with ASCII code 1840 PRINT"HEX$","x","function","convert to ASCII hex string 1850 PRINT"INSTR","(N,X$,Y$)","statement","compare string & give position 1860 PRINT"LEFT$","(x$,n)","function","left most n characters 1870 PRINT"MID$","(x$,m,n,)","function","n characters in x$ starting at m 1880 PRINT"MKI$/MKS$/MKD$ (x)","function","convert ASCII to value 1890 PRINT"OCT$","(n)","function","convert to octal string 1900 PRINT"RIGHT$","(x$,n)","function","right most n characters 1910 PRINT"SPACE$","(n)","function","string of n spaces 1920 PRINT"STR$","(x)","function","convert to string 1930 PRINT"STRING$","(n,x$)","function","repeat 1st character 1940 GOSUB 5000 2000 CLS:LOCATE 1,17:COLOR 0,7:PRINT " B A S I C : M A T H F U N C T I O N S ";:COLOR 7,0 2010 PRINT:PRINT:PRINT:PRINT"ABS","(x)","function","absolute value 2020 PRINT"ATN","(x)","function","arctangent (radians) 2030 PRINT"COBL","(x)","function","convert to double precision 2040 PRINT"CINT","(x)","function","convert to integer 2050 PRINT"COS","(x)","function","cosine (radians) 2060 PRINT"CSGN","(x)","function","convert to single precision 2070 PRINT"EXP","(x)","function","exponential base e 2080 PRINT"FIX","(x)","function","truncate to integer 2090 PRINT"INT","(x)","function","convert to integer 2100 PRINT"LOG","(x)","function","natural logarithm 2110 PRINT"RND","(x)","function","random number generator 2120 PRINT"SGN","(x)","function","sign of number 2130 PRINT"SQR","(x)","function","square root of number 2140 PRINT"TAN","(x)","function","tangent (radians) 2150 GOSUB 5000 2200 CLS:LOCATE 1,17:COLOR 0,7:PRINT " B A S I C : C O M M A N D S ";:COLOR 7,0 2210 PRINT:PRINT"AUTO","(n,m)","generate automatic line numbers 2220 PRINT"BLOAD","filespec","load binary data file 2230 PRINT"BSAVE","filespec","save binary data file 2240 PRINT"CLEAR",",x,y","clear variables & set memory 2250 PRINT"CONT",,"continue program execution 2260 PRINT"DELETE","n-m","delete lines 2270 PRINT"EDIT","n","display & edit a line 2280 PRINT"FILES","filespec","list files that match 2290 PRINT"KILL","filespec","delete files 2300 PRINT"LIST","n-m","display program lines 2310 PRINT"LLIST","n-m","print program lines 2320 PRINT"LOAD","filespec","load file 2330 PRINT"MERGE","filespec","overlay program from file 2340 PRINT"NAME","fs as fs","rename file 2350 PRINT"NEW",,"delete current program from memory 2360 PRINT"RENUM","i,j,k","renumber lines 2370 PRINT"RESET",,"close all files 2380 PRINT"RUN",,"execute program in memory 2390 PRINT"SAVE","filespec","dump program to disk file 2400 PRINT"SYSTEM",,"end basic & return to DOS 2410 PRINT"TRON",,"turn trace on 2420 PRINT"TROFF",,"turn trace off 2450 GOSUB 5000 2500 CLS:LOCATE 1,19:COLOR 0,7:PRINT " D O S : C O M M A N D S ";:COLOR 7,0 2510 PRINT:PRINT:PRINT"BATCH","(d:) fn param",,"execute batch file 2520 PRINT"CHKDSK","(d:)",,"display disk status 2530 PRINT"COMP","(fs)(d:)fn(ext)","compare files 2540 PRINT"COPY","(fs)(d:)fn(ext)","copy files 2550 PRINT"DATE","mm/dd/yy",,"enter system date 2560 PRINT"DIR","(d:)fn(ext)",,"display disk directory 2570 PRINT"DISKCOMP","(d:)(d:)",,"compare disks 2580 PRINT"DISKCOPY","(d:)(d:)",,"copy disks 2590 PRINT"ERASE","filespec",,"delete file 2600 PRINT"FORMAT","(d:)(/s)",,"format disk 2610 PRINT"MODE","(dev)(,n)(,m)(,t)","set mode for printer & display 2620 PRINT"PAUSE","(rem)",,"system pause 2630 PRINT"REM","(rem)",,"display remarks 2640 PRINT"RENAME","fs fn (ext)",,"rename file 2650 PRINT"SYS",,,"transfer DOS 2660 PRINT"TIME","hr:min:sec.ms",,"enter system time 2670 PRINT"TYPE","filespec",,"display file 2680 PRINT"EDLIN","filespec",,"execute editor 2690 PRINT"LINK",,,"execute linker 2700 PRINT"DEBUG","filespec",,"ececute debug program 2710 GOSUB 5000 2800 CLS:LOCATE 1,19:COLOR 0,7:PRINT " D E B U G : C O M M A N D S ";:COLOR 7,0 2810 PRINT:PRINT:PRINT:PRINT"D(ADR)",,"display address 2820 PRINT"D(RNG)",,"display range of address 2830 PRINT"A ADR(LIST)",,"alter memory 2840 PRINT"F RNG LIST",,"fill range with list 2850 PRINT"G (ADR) (ADR)",,"execute until break point 2860 PRINT"H VAL VAL",,"hex arithmetic 2870 PRINT"I PORT",,"input & display byte 2880 PRINT"L(ADR)(D SECT SECT)","load file or disk sectors 2890 PRINT"M RNG ADR",,"move memory block 2900 PRINT"N FS(FS)",,"define files 2910 PRINT"O PORT BYTE",,"output byte to port 2920 PRINT"Q",,"quit debug program 2930 PRINT"R(REG)",,"display registers & flags 2940 PRINT"S RNG LIST",,"search for characters 2950 PRINT"T(=ADR)(VALUE)","execute instr. & display register 2960 PRINT"U ADR",,"disassemble addresss 2970 PRINT"U RNG",,"disassemble range 2980 PRINT"W(ADR)(D SECT SECT)","write file of disk sector 2990 GOSUB 5000 3000 CLS:LOCATE 1,19:COLOR 0,7:PRINT " E D L I N : C O M M A N D S ";:COLOR 7,0 3010 PRINT:PRINT:PRINT"(N)",:COLOR 0,7:PRINT"A";:COLOR 7,0:PRINT,":append lines 3020 PRINT:PRINT"(LN)(,LN)",:COLOR 0,7:PRINT"D";:COLOR 7,0:PRINT,":delete lines (begin ,end) 3030 PRINT:PRINT,:COLOR 0,7:PRINT"(LN)";:COLOR 7,0:PRINT,":edit line 3040 PRINT:PRINT,:COLOR 0,7:PRINT"E";:COLOR 7,0:PRINT,":end edit (save BAK) 3050 PRINT:PRINT"(LN)",:COLOR 0,7:PRINT"I";:COLOR 7,0:PRINT,":insert line 3060 PRINT:PRINT"(LN)(,LN)",:COLOR 0,7:PRINT"L";:COLOR 7,0:PRINT,":list lines (begin ,end) 3070 PRINT:PRINT,:COLOR 0,7:PRINT"Q";:COLOR 7,0:PRINT,":quit - abort edit 3080 PRINT:PRINT"(LN)(,LN)(?)",:COLOR 0,7:PRINT"R STR F6 STR";:COLOR 7,0:PRINT,":replace text (preceeded with [begin][,end][?] 3090 PRINT:PRINT"(LN)(,LN)(?)",:COLOR 0,7:PRINT"S STR";:COLOR 7,0:PRINT,":search text (preceeded with [begin][,end][?] 3100 PRINT:PRINT"(N)",:COLOR 0,7:PRINT"W";:COLOR 7,0:PRINT,":write lines to disk 3110 GOSUB 5000 3200 CLS:LOCATE ,10:COLOR 0,7:PRINT" E A S Y W R I T E R E M B E D D E D C O M M A N D S ";:COLOR 7,0:PRINT 3210 PRINT:PRINT:PRINT:PRINT".EJECT",,"Page eject 3220 PRINT".EJECTnn",,"Eject page within nn lines from the bottom 3230 PRINT".EOL",,"Programmable end of line character 3240 PRINT".FORMSTOP",,"Stops printer at page breaks 3250 PRINT".FORMSTOPOFF",,"Turns off .FORMSTOP 3260 PRINT".LINESnn",,"Number of printed lines per page 3270 PRINT".MARGINn",,"Sets the left margin 3280 PRINT".PAGErr,cc",,"Page numbering. rr = row, cc = column 3290 PRINT".PAGELINESnn",,"Page length. nn = number of lines per page 3300 PRINT".SPACEn",,"Sets additional spaces between lines 3310 PRINT".TITLEA,nn,text","Sets headers & footers 3320 PRINT".TITLEB,nn,text","Up to 3 titles per page 3330 PRINT".TITLEC,nn,text",," 3340 PRINT".TOPn",,"Sets number of spaces at top of page 3350 PRINT".USER",,"User defined command 3360 GOSUB 5000 3400 CLS:LOCATE ,25:COLOR 0,7:PRINT" P R I N T I N G M O D E S ";:COLOR 7,0:PRINT 3410 LOCATE 8,1:PRINT"COMPRESSED ON",,"CTRL O - CTRL O 3420 PRINT"COMPRESSED OFF","CTRL O - CTRL R 3430 PRINT:PRINT"DOUBLE STRIKE ON","CTRL O - ESC G 3440 PRINT"DOUBLE STRIKE OFF","CTRL O - ESC H 3450 PRINT:PRINT"DOUBLE WIDTH ON","CTRL O - CTRL N 3460 PRINT"DOUBLE WIDTH OFF","CTRL O - CTRL T 3470 PRINT:PRINT"EMPHASIZED ON",,"CTRL O - ESC E 3480 PRINT"EMPHASIZED OFF","CTRL O - ESC F 3490 GOSUB 5000 4090 GOTO 9990 5000 KEY OFF:PN=PN+1:LOCATE 1,72:PRINT"page"PN:LOCATE 25,65:COLOR 18,0:PRINT "PRESS ANY KEY";:COLOR 7,0 5010 A$=INKEY$:IF A$<>"" THEN 5010 5020 A$=INKEY$:IF A$="" THEN 5020 5030 IF A$=CHR$(27) THEN 9990 ELSE CLS:RETURN 6000 CLS:X=0:COLOR ,0 6010 FOR I=0 TO 31 6020 IF X=0 THEN COLOR I:PRINT"COLOR"I",0";:X=1:GOTO 6040 6030 IF X THEN PRINT TAB(40);:COLOR I:PRINT"COLOR"I",0":X=0 6040 NEXT:COLOR 7,0:GOSUB 5000 6050 CLS:X=0:COLOR ,7 6060 FOR I=0 TO 31 6070 IF X=0 THEN COLOR I:PRINT"COLOR"I",7";:X=1:GOTO 6090 6080 IF X THEN PRINT TAB(40);:COLOR I:PRINT"COLOR"I",7":X=0 6090 NEXT:COLOR 7,0:RETURN 9990 IF MUSIC=FALSE THEN 9997 9995 S$="O3L8GD16D-16D16D+DP4L8F+.L8G.":PLAY "XS$;" 9997 CLS:COLOR 7,0:KEY ON:END 10000 SAVE"B:PROGRAM1 10010 GOTO 9997