The following sample program defines a custom character on the Apple Dot
Matrix Printer, using Apple Business BASIC and a parallel driver named ".DMP".
$30_$78_$FC_$FC_$FE_$FD_$49_$00
wire #1 |___|___|___|___|___|_*_|_*_|___| (LSB no descenders)
wire #2 |___|___|___|___|_*_|___|___|___| (LSB with descenders)
wire #3 |___|___|_*_|_*_|_*_|_*_|___|___|
wire #4 |___|_*_|_*_|_*_|_*_|_*_|_*_|___|
wire #5 |_*_|_*_|_*_|_*_|_*_|_*_|___|___|
wire #6 |_*_|_*_|_*_|_*_|_*_|_*_|___|___|
wire #7 |___|_*_|_*_|_*_|_*_|_*_|_*_|___|
wire #8 |___|___|_*_|_*_|_*_|_*_|___|___| (MSB no descenders)
wire #9 |___|___|___|___|___|___|___|___| (MSB with descenders)
10 esc$=CHR$(27):REM Escape
12 OPEN#1,".dmp":OUTPUT#1
14 PRINT esc$;"Z";CHR$(0);CHR$(32):
REM Set 8 bit format on printer
16 PRINT esc$;"-":REM Declare as 8x8 character
18 PRINT esc$;"I";:REM Load Character Generator command
20 PRINT"!";:REM Assign new character to "!"
22 PRINT CHR$(8);:REM No descender in character
24 PRINT CHR$(TEN("0030"));CHR$(TEN("0078"));CHR$(TEN("00FC"));
CHR$(TEN("00FC"));CHR$(TEN("00FE"));CHR$(TEN("00FD"));
CHR$(TEN("0049"));CHR$(TEN("0000"));
26 PRINT CHR$(4):REM End of character
28 PRINT esc$;"D";CHR$(0);CHR$(32):
REM Reset 7 bit format on printer
30 PRINT esc$;"'":REM Select alternate character set
32 PRINT"!":REM Try new character
34 PRINT esc$;"$":REM Return to pre-set character set
36 CLOSE:END
38 REM By Grover Nunnery - Apple Computer - Charlotte, NC