
15
SWTPC 6800/PR-40 Printer Diagnostic PRNTST-1
This printer diagnostic has been written to test and/or debug the SWTPC PR-
40 printer when it has been interfaced to the SWTPC 6800 Computer System thru one
of the MP-L parallel interface boards. It is assumed that before loading this
program, the rest of the system is functioning normally with no problems. The
program itself uses 6010 words and is loaded within the 128 word RAM used by the
MIKBUG operating system on the MP-A Microprocessor/ System Board. A program may
reside in external RAM memory simultaneously with the diagnostic loaded within
the 128 word RAM, or the diagnostic may be run with no MP-M memory boards
installed on the system at all. The diagnostic may be loaded either from tape or
instruction by instruction using MIKBUG starting from address A014 thru A024 and
then from address A048 thru A072. The address of the MP-L parallel interface
board feeding the printer must be set using MIKBUG R to load the hexadecimal
address of the selected port into memory locations A002 and A003 with the most
significant byte going into A002 and the least significant byte going into A003.
The starting address locations of the interface ports are given below:
Port
Address in Hex
I/0 #0
8000
I/0
#1
8004 (reserved for control interface)
I/0 #2
8008
I/0 #3
800C
I/0 #4
8010
I/0 #5
8014
I/0 #6
8018
I/0 #7
801C
Since the program counter is set when the program is initially loaded, the
diagnostic is initiated as described in the "Go to User's Program" section of the
Engineering Note 100. Once initiated, the program can be stopped only by
depressing the "RESET" button. The program may then be re-started after resetting
the program counter to A04A as described in the "Display contents of MPU
registers Function" section of Engineering Note 100.
The diagnostic works by sending out an ASCII carriage return (0D16)
followed by ASCII characters 2116 thru 3F16 followed by a carriage return (0D16),
followed by ASCII characters 4016 thru 5E inclusive, repeating itself until
stopped with the RESET switch.
Each character is output to the printer by first storing the ASCII
character's bits 0 thru 6 on output lines 00 thru 06 of the selected MP-L
Parallel Interface port, then bringing the normally high "Data Ready" line low
via interface output control line C2 for at least one microsecond then returning
the line high again. The data must be held stable on the interface output lines
however until the printer acknowledges data receipt by bringing its normally high
"Data Accepted" line momentarily low and then high again. This latter low to high
transition signifies that the printer has accepted the character. The MP-L
control line C1 fed by this line has been programmed to see the low to high "Data