100 '*** PRINTER BIT IMAGE GRAPHICS DEMONSTRATION *** 105 '*** PROVIDED BY DAVE BROWNING 1/10/83 *** 110 'SET UP BASIC TO SUPPRESS AUTOMATIC LINE FEEDS 120 WIDTH "LPT1:",255 130 OPEN "LPT1:" AS #1 140 GOTO 1000 200 'SUBROUTINE TO OUTPUT ONE CHARACTER TO PRINTER 210 PRINT #1, CHR$(X); 220 RETURN 1000 ' *** PRINTER TEST PROGRAM ***** 1010 DEFINT A-Z 'RUNS FASTER USING INTEGERS 1020 CHRSTART = 0 'FIRST GRAPHICS CHARACTER TO PRINT 1030 CHREND = 255 'LAST GRAPHICS CHARACTER TO PRINT 1040 PRTLENGTH = 50 'NUMBER OF TIMES TO REPEAT THE 1045 ' GRAPHICS CHAR 1050 PRTLEN1 = PRTLENGTH MOD 256 1055 'PRINTER EXPECTS TWO NUMBERS-FIRST REMAINDER 1060 PRTLEN2 = PRTLENGTH \ 256 1065 'THEN NUMBER OF "256'S" 2000 FOR GRAFCHAR = CHRSTART TO CHREND 2005 'REPEATS FOR GRAPHICS CHARACTERS 2010 X = 27 : GOSUB 200 'SENDS CHARACTER 2020 X = 75 : GOSUB 200 2025 'SENDS CHAR K TO SHIFT PRINTER TO GRAPHICS 2040 X = PRTLEN1 : GOSUB 200 2045 'SENDS N1 (# BIT IMAGES MODULO 256) 2060 X = PRTLEN2 : GOSUB 200 2065 'SENDS N2 (# BIT IMAGES TIMES 256)(N2 MAX IS 7) 2070 FOR I = 1 TO PRTLENGTH 'SEND SAME CHARACTER PRTLENGTH TIMES 2080 X = GRAFCHAR : GOSUB 200 'SEND THE CHARACTER 2090 NEXT I 3000 PRINT #1, " X = ";X;CHR$(10); 3005 'NOTES WHICH GRAPHICS CHARACTER WAS 3010 'PRINTED, AND SENDS LINE FEED. 3015 ' THIS FLUSHES THE PRINTER BUFFER AND 3020 'RETURNS THE PRINT HEAD TO THE 3025 ' BEGINNING OF THE NEXT LINE. 3030 NEXT GRAFCHAR 'LOOP BACK FOR NEXT CHARACTER 3040 CLOSE #1 'RESETS THE WIDTH STATEMENT TO DEFAULT 3050 END 65399 '** DONE - PRESS ENTER TO RETURN TO MENU **