DECLARE SUB Fonts () DECLARE SUB Colors () DECLARE SUB Printf () DECLARE SUB Scrnsvr () COMMON SHARED m% LPRINT CHR$(27); CHR$(84); CHR$(48); CHR$(27); CHR$(80); CHR$(27); CHR$(15); CHR$(27); CHR$(54) LET m = 0 SCREEN 9 1 CLS COLOR 15 t = TIMER LOCATE 10, 29 PRINT "Printer Options Menu" PRINT TAB(29); "--------------------" PRINT PRINT TAB(33); "1. Fonts" PRINT TAB(33); "2. Colors" PRINT TAB(33); "3. Print" PRINT TAB(33); "4. Exit" PRINT LOCATE 18, 31 2 l$ = INKEY$ IF (t + 5) < TIMER THEN CALL Scrnsvr: GOTO 1 IF l$ = CHR$(49) THEN choice% = 1: GOTO 3 IF l$ = CHR$(50) THEN choice% = 2: GOTO 3 IF l$ = CHR$(51) THEN choice% = 3: GOTO 3 IF l$ = CHR$(52) THEN choice% = 4 ELSE GOTO 2 3 SELECT CASE choice% CASE 1 GOSUB 4 CASE 2 GOSUB 5 CASE 3 GOSUB 6 CASE 4 GOSUB 100 CASE ELSE GOSUB 1 END SELECT 4 CALL Fonts: GOTO 1 5 CALL Colors: GOTO 1 6 CALL Printf GOTO 1 100 SYSTEM SUB Colors 20 t = TIMER CLS LOCATE 7, 33 COLOR 15 PRINT "Print Colors" PRINT TAB(32); "--------------" PRINT COLOR 4 PRINT TAB(33); "1. Red " COLOR 14 PRINT TAB(33); "2. Yellow" COLOR 2 PRINT TAB(33); "3. Green" COLOR 1 PRINT TAB(33); "4. Blue" COLOR 5 PRINT TAB(33); "5. Magenta" COLOR 13 PRINT TAB(33); "6. Violet" COLOR 8 PRINT TAB(33); "7. Black *" COLOR 15 PRINT PRINT TAB(32); " * Default" PRINT LOCATE 20, 32 21 l$ = INKEY$ IF (t + 5) < TIMER THEN CALL Scrnsvr: GOTO 20 IF l$ = CHR$(49) THEN choice% = 1: GOTO 22 IF l$ = CHR$(50) THEN choice% = 2: GOTO 22 IF l$ = CHR$(51) THEN choice% = 3: GOTO 22 IF l$ = CHR$(52) THEN choice% = 4: GOTO 22 IF l$ = CHR$(53) THEN choice% = 5: GOTO 22 IF l$ = CHR$(54) THEN choice% = 6: GOTO 22 IF l$ = CHR$(55) THEN choice% = 7: GOTO 22 ELSE GOTO 21 22 SELECT CASE choice% CASE 1 GOSUB 23 CASE 2 GOSUB 24 CASE 3 GOSUB 25 CASE 4 GOSUB 26 CASE 5 GOSUB 27 CASE 6 GOSUB 28 CASE 7 GOSUB 29 CASE ELSE GOSUB 20 END SELECT 23 LPRINT CHR$(27); CHR$(84); CHR$(49): GOTO 30 24 LPRINT CHR$(27); CHR$(84); CHR$(51): GOTO 30 25 LPRINT CHR$(27); CHR$(84); CHR$(50): GOTO 30 26 LPRINT CHR$(27); CHR$(84); CHR$(52): GOTO 30 27 LPRINT CHR$(27); CHR$(84); CHR$(53): GOTO 30 28 LPRINT CHR$(27); CHR$(84); CHR$(54): GOTO 30 29 LPRINT CHR$(27); CHR$(84); CHR$(48): GOTO 30 30 END SUB SUB Fonts 40 CLS COLOR 15 t = TIMER LOCATE 8, 30 PRINT "Printer Fonts Menu" PRINT TAB(29); "--------------------" PRINT PRINT TAB(31); "1. 4:3 *" PRINT TAB(31); "2. 1:1 " PRINT TAB(31); "3. Large width" PRINT TAB(31); "4. Normal width" PRINT TAB(31); "5. Single Space" PRINT TAB(31); "6. Double Space *" PRINT TAB(31); "7. Main Menu " PRINT PRINT TAB(33); "* Default" LOCATE 21, 32 41 l$ = INKEY$ IF (t + 5) < TIMER THEN CALL Scrnsvr: GOTO 40 IF l$ = CHR$(49) THEN choice% = 1: GOTO 42 IF l$ = CHR$(50) THEN choice% = 2: GOTO 42 IF l$ = CHR$(51) THEN choice% = 3: GOTO 42 IF l$ = CHR$(52) THEN choice% = 4: GOTO 42 IF l$ = CHR$(53) THEN choice% = 5: GOTO 42 IF l$ = CHR$(54) THEN choice% = 6: GOTO 42 IF l$ = CHR$(55) THEN choice% = 7 ELSE GOTO 41 42 SELECT CASE choice% CASE 1 GOSUB 43 CASE 2 GOSUB 44 CASE 3 GOSUB 45 CASE 4 GOSUB 46 CASE 5 GOSUB 47 CASE 6 GOSUB 48 CASE 7 GOSUB 49 CASE ELSE GOSUB 40 END SELECT 43 LPRINT CHR$(27); CHR$(80): GOTO 40 44 LPRINT CHR$(27); CHR$(78): GOTO 40 45 LPRINT CHR$(27); CHR$(14): LET m% = 1: GOTO 40 46 LPRINT CHR$(27); CHR$(15): LET m% = 0: GOTO 40 47 LPRINT CHR$(27); CHR$(56): GOTO 40 48 LPRINT CHR$(27); CHR$(54): GOTO 40 49 END SUB SUB Printf 60 CLS COLOR 15 t = TIMER LOCATE 10, 35 PRINT "Print File Menu" PRINT TAB(29); "----------------------------" PRINT PRINT TAB(30); "1. Print from CON Center" PRINT TAB(30); "2. Print from CON Right" PRINT TAB(30); "3. Print Special Character" PRINT TAB(30); "4. See Characters & Codes" PRINT TAB(30); "5. Form Feed" PRINT TAB(30); "6. Main Menu" LOCATE 20, 35 61 l$ = INKEY$ IF (t + 5) < TIMER THEN CALL Scrnsvr: GOTO 60 IF l$ = CHR$(49) THEN choice% = 1: GOTO 62 IF l$ = CHR$(50) THEN choice% = 2: GOTO 62 IF l$ = CHR$(51) THEN choice% = 3: GOTO 62 IF l$ = CHR$(52) THEN choice% = 4: GOTO 62 IF l$ = CHR$(53) THEN choice% = 5: GOTO 62 IF l$ = CHR$(54) THEN choice% = 6: GOTO 62 ELSE GOTO 61 62 SELECT CASE choice% CASE 1 GOSUB 63 CASE 2 GOSUB 64 CASE 3 GOSUB 65 CASE 4 GOSUB 66 CASE 5 GOSUB 67 CASE 6 GOSUB 68 CASE ELSE GOSUB 60 END SELECT 63 LINE INPUT " Text to be printed ?"; F$ LET r = LEN(F$) IF m% = 1 THEN LET s = CINT(45 - r) / 2 ELSE LET s = CINT(90 - r) / 2 IF s < 0 THEN GOTO 60 LPRINT CHR$(28); CHR$(s); " "; F$ GOTO 60 64 LINE INPUT " Text to be printed ?"; F$ LET r = LEN(F$) IF m% = 1 THEN LET s = 45 - r ELSE LET s = 90 - r IF s < 0 THEN GOTO 60 LPRINT CHR$(28); CHR$(s); " "; F$ GOTO 60 65 INPUT "Character code to print"; c% INPUT "Position to place character"; p% IF c% < 50 THEN c% = c% + 100 LPRINT TAB(p%); CHR$(100 + c%) GOTO 60 66 CLS COLOR 15 t = TIMER PRINT PRINT PRINT CHR$(9); CHR$(9); CHR$(9); "Extended Character Codes" PRINT PRINT PRINT CHR$(9); 0; CHR$(9); 1; CHR$(9); 2; CHR$(9); 3; CHR$(9); 4; CHR$(9); 5; CHR$(9); 6; CHR$(9); 7 COLOR 3 PRINT CHR$(9); CHR$(32); CHR$(160); CHR$(9); CHR$(32); CHR$(161); CHR$(9); CHR$(32); CHR$(162); CHR$(9); CHR$(32); CHR$(163); CHR$(9); CHR$(32); CHR$(173); CHR$(9); CHR$(32); CHR$(164); CHR$(9); CHR$(32); "a~"; CHR$(9); CHR$(32); "e~" COLOR 15 PRINT CHR$(9); 8; CHR$(9); 9; CHR$(9); 10; CHR$(9); 11; CHR$(9); 13; CHR$(9); 14; CHR$(9); 15; CHR$(9); 16 COLOR 3 PRINT CHR$(9); CHR$(32); CHR$(146); CHR$(9); CHR$(32); "ae"; CHR$(9); CHR$(32); CHR$(143); CHR$(9); CHR$(32); CHR$(134); CHR$(9); CHR$(32); CHR$(237); CHR$(9); CHR$(32); CHR$(165); CHR$(9); CHR$(32); CHR$(144); CHR$(9); CHR$(32); "A'" COLOR 15 PRINT CHR$(9); 17; CHR$(9); 18; CHR$(9); 19; CHR$(9); 20; CHR$(9); 21; CHR$(9); 22; CHR$(9); 23; CHR$(9); 24 COLOR 3 PRINT CHR$(9); CHR$(32); "I'"; CHR$(9); CHR$(32); "O'"; CHR$(9); CHR$(32); "U'"; CHR$(9); CHR$(32); CHR$(168); CHR$(9); CHR$(32); "`U"; CHR$(9); CHR$(32); "`E"; CHR$(9); CHR$(32); "`A"; ; CHR$(9); CHR$(32); CHR$(228) COLOR 15 PRINT CHR$(9); 61; CHR$(9); 62; CHR$(9); 63; CHR$(9); 65; CHR$(9); 66; CHR$(9); 67; CHR$(9); 68; CHR$(9); 69 COLOR 3 PRINT CHR$(9); CHR$(32); CHR$(133); CHR$(9); CHR$(32); CHR$(135); CHR$(9); CHR$(32); CHR$(156); CHR$(9); CHR$(32); CHR$(230); CHR$(9); CHR$(32); CHR$(248); CHR$(9); CHR$(32); CHR$(249); CHR$(9); CHR$(32); CHR$(197); CHR$(9); CHR$(32); CHR$(21) COLOR 15 PRINT CHR$(9); 74; CHR$(9); 75; CHR$(9); 76; CHR$(9); 77; CHR$(9); 78; CHR$(9); 79; CHR$(9); 80; CHR$(9); 82 COLOR 3 PRINT CHR$(9); CHR$(32); "_"; CHR$(9); CHR$(32); CHR$(20); CHR$(9); CHR$(32); CHR$(157); CHR$(9); CHR$(32); CHR$(142); CHR$(9); CHR$(32); CHR$(148); CHR$(9); CHR$(32); CHR$(154); CHR$(9); CHR$(32); CHR$(155); CHR$(9); CHR$(32); CHR$(132) COLOR 15 PRINT CHR$(9); 83; CHR$(9); 84; CHR$(9); 85; CHR$(9); 87; CHR$(9); 88; CHR$(9); 89; CHR$(9); 90; CHR$(9); 91 COLOR 3 PRINT CHR$(9); CHR$(32); CHR$(148); CHR$(9); CHR$(32); CHR$(129); CHR$(9); CHR$(32); CHR$(225); CHR$(9); CHR$(32); CHR$(130); CHR$(9); CHR$(32); CHR$(151); CHR$(9); CHR$(32); CHR$(138); CHR$(9); CHR$(32); CHR$(249); CHR$(249); CHR$(9); CHR$(32); CHR$(159) COLOR 15 PRINT CHR$(9); 92; CHR$(9); 93; CHR$(9); 94; CHR$(9); 95; CHR$(9); 96; CHR$(9); 97; CHR$(9); 98; CHR$(9); 99 COLOR 3 PRINT CHR$(9); CHR$(32); CHR$(131); CHR$(9); CHR$(32); CHR$(136); CHR$(9); CHR$(32); CHR$(140); CHR$(9); CHR$(32); CHR$(147); CHR$(9); CHR$(32); CHR$(150); CHR$(9); CHR$(32); CHR$(94); CHR$(9); CHR$(32); CHR$(137); CHR$(9); CHR$(32); CHR$(139) PRINT PRINT COLOR 15 PRINT CHR$(9); CHR$(9); CHR$(9); "Press Esc to exit..." DO IF (t + 5) < TIMER THEN CALL Scrnsvr: GOTO 66 LOOP UNTIL INKEY$ = CHR$(27) GOTO 60 67 LPRINT CHR$(27); CHR$(10) GOTO 60 68 END SUB SUB Scrnsvr y = 10 80 CLS : COLOR (y + 1) PRINT "Press Esc to exit" 81 t = 0: g = 0: n = 0: l = l + 1 IF l = 2 THEN l = 0: IF l = 1 THEN m = 1 ELSE m = 0 IF m = 1 THEN z = 1 ELSE z = 9: IF z = 1 THEN y = 2 ELSE y = 10 82 CIRCLE (320, 175), 120, z: PAINT (320, 175), z, z CIRCLE (320, 175), 120, y, 12 / 12, 7 / 3: LINE (320, 175)-(385, 101), y LINE (320, 175)-(237, 118), y: LINE (237, 118)-(237, 111), y PAINT (315, 165), y, y: LINE (260, 170)-(255, 130), y LINE (260, 170)-(300, 200), y: LINE (300, 200)-(305, 200), y LINE (270, 170)-(305, 200), y: LINE (270, 170)-(275, 170), y LINE (275, 170)-(325, 210), y: LINE (325, 210)-(335, 210), y CIRCLE (363, 225), 35, y: PAINT (363, 225), y, y LINE (345, 207)-(320, 200), y: LINE (320, 200)-(322, 180), y LINE (322, 180)-(337, 180), y: LINE (337, 180)-(347, 190), y LINE (347, 190)-(350, 192), y: LINE (350, 192)-(353, 188), y LINE (353, 188)-(345, 177), y: LINE (345, 177)-(351, 160), y LINE (351, 160)-(355, 100), y: PAINT (320, 177), y, y LINE (337, 225)-(349, 260), y: LINE (399, 225)-(393, 245), y CIRCLE (320, 175), 120, y, 119 / 24, 43 / 8: PAINT (350, 254), y, y 83 RANDOMIZE TIMER: IF INKEY$ = CHR$(27) GOTO 93 84 o% = INT(RND * 23) + 1: p% = INT(RND * 78) + 2: q% = CINT(RND * 15) + 1 IF q% = 7 THEN z% = 1: GOTO 85 IF q% = 6 THEN z% = 4: GOTO 85 IF q% = 5 THEN z% = 7: GOTO 85 IF q% = 4 THEN z% = 12: GOTO 85 IF q% = 3 THEN z% = 14: GOTO 85 IF q% = 2 THEN z% = 15: GOTO 85 IF q% = 1 THEN z% = 15 ELSE z% = 0 85 IF o% <= 2 THEN GOTO 86 ELSE GOTO 87 86 IF p% <= 18 GOTO 84 ELSE GOTO 88 87 IF o% < 7 GOTO 88 IF o% > 19 GOTO 88 IF p% < 23 GOTO 88 IF p% > 57 GOTO 88 ELSE GOTO 84 88 LOCATE o%, p%: COLOR z% 89 w% = CINT(RND * 75) + 1 IF w% < 15 THEN y% = 4: GOTO 90: IF w% < 30 THEN y% = 15: GOTO 90 IF w% < 45 THEN y% = 42: GOTO 90: IF w% < 60 THEN y% = 248: GOTO 90 IF w% < 75 THEN y% = 249: GOTO 90: IF w% = 76 THEN y% = 197: GOTO 90 IF q% <> 0 GOTO 88 ELSE GOTO 90 90 d = CINT(RND * 20) + 1: IF d = 6 GOTO 91 ELSE GOTO 92 91 PRINT CHR$(y%) 92 g = g + 1: IF g >= 7500 GOTO 80 ELSE GOTO 83 93 COLOR 15: END SUB