• Please review our updated Terms and Rules here

How to read parallel-port POST diagnostic codes?

Trixter

Veteran Member
Joined
Aug 31, 2006
Messages
7,478
Location
Chicagoland, Illinois, USA
There are many cheap diagnostic cards available on ebay that read the codes output to port 80h during POST and display them on a standard 7-seg LED. But what if you have a board that outputs to 378h (ie. LPT)?

I was trying to help someone with a dead AT&T 6300 (it boots up to a "0" on the monitor before dying) by disassembling the 1.43 ROM BIOS (using the 6300 Plus BIOS as a guide, as I'm not aware of the 1.43 BIOS source published anywhere). I was surprised to see that there are clear "Check Points" output at various points in the POST code:

Code:
seg000:DB8F i_powerup:                              ; CODE XREF: seg000:E05Bj
seg000:DB8F                                         ; seg000:EA73j
seg000:DB8F                 cli
seg000:DB90                 mov     al, 40h ; '@'   ; checkpoint #0
seg000:DB92                 mov     dx, 378h
seg000:DB95                 out     dx, al          ; Printer Data Latch:
seg000:DB95                                         ; send byte to printer
(The codes range from 40h to 4Fh, which I'm assuming are common printer control codes that don't print anything, as I don't remember my 6300 printing characters every time it booted.)

How would someone read these codes? Is there are relatively straightforward way to, for example, wire up a cable from the 6300 to something else, or is there an easier method I'm missing?
 
On one of my systems, the parallel port is connected (on board) to an 8-LED DIP display. You just read the code right off the board. You could do the same thing with a bunch of LEDs soldered onto a DB25M plug.
 
(The codes range from 40h to 4Fh, which I'm assuming are common printer control codes that don't print anything, as I don't remember my 6300 printing characters every time it booted.)

40h to 4Fh are just common ASCII codes from '@' (as depicted in your code) followed by 'A' up to 'O' (check any ASCII table)

If there is no strobe puls generated the printer will ignore those bytes but you can check them on the data pins of the LPT port.
 
Assuming you don't mind spending a bit of cash and waiting a month for delivery from China why not just get a POST reader for a LPT? They are commonly available on eBay.
 
40h to 4Fh are just common ASCII codes from '@' (as depicted in your code) followed by 'A' up to 'O' (check any ASCII table)

If there is no strobe puls generated the printer will ignore those bytes but you can check them on the data pins of the LPT port.

In which case installing a switch to pull the strobe line will cause the printer to print the status characters.
 
Many of the Olivetti PCs are using parallel port to output POST diagnostics. We can say, all of them which are using Olivetti own BIOS. That also includes AT&T 6300, Xerox 6060 and many PCs from Triumph Adler while that company was owned by Olivetti. It should be all Olivetti PCs and laptops up to about 1992. Then they started to use AMI BIOS on their own boards or buying boards from elsewhere, there a classic ISA/PCI POST diag card works fine.

Unfortunatelly I could not find anywhere a POST code list for such Olivetti PCs until yet. But it is still usefull, you can see this way if the processor does something sensefull or not before display comes up.

But you can buy ready made test modules from ebay which are working just fine on Olivetti PCs for just a few bucks.

Example, it's also available from vendors in US, Europe or China: http://www.ebay.com/itm/Motherboard...916185?hash=item5af2d229d9:g:kxwAAOxyiOxR1PY6

It has USB port, just for power supply. But on Olivetti PC not needed, the PC powers this module, I have tested it already and it works fine.
 
I wonder if you can't peruse the AT&T 6300 Plus BIOS listing and dig the codes and their meanings out of there.

I do know that the Plus was an 80286 system, but I suspect that the basic POST codes are either very similar or the same.
 
It's really odd to see the parallel port POST analyzer being sold on eBay. How many current desktops and laptops even have a traditional printer port on them?
 
It's really odd to see the parallel port POST analyzer being sold on eBay. How many current desktops and laptops even have a traditional printer port on them?

How many current desktops and laptops even have a traditional ISA bus on them? :) I suspect there is a niche market for them. I personally have a couple of ISA, PCI, PCI-E, and LPT ones squirreled away for just in case. At <$5 delivered it seems like cheap insurance.
 
Many of the Olivetti PCs are using parallel port to output POST diagnostics. We can say, all of them which are using Olivetti own BIOS. That also includes AT&T 6300, Xerox 6060 and many PCs from Triumph Adler while that company was owned by Olivetti.

Do you know if any of them released BIOS source?

But you can buy ready made test modules from ebay which are working just fine on Olivetti PCs for just a few bucks.

I received mine Saturday and will be giving it a shot soon and will report back.

I wonder if you can't peruse the AT&T 6300 Plus BIOS listing and dig the codes and their meanings out of there.

That's what I did for a few hours a week ago; I disassembled the 6300 1.43 BIOS, and then annotated some of it using the 6300 Plus BIOS source as a reference. They are about 80-90% similar. I already have all of the parallel-port POST codes identified in the 6300 1.43 BIOS:

Code:
seg000:DB90                 mov     al, 40h ; '@'   ; Checkpoint #0
seg000:DBDE                 mov     al, 41h ; 'A'   ; Checkpoint #1
seg000:DBF9                 mov     al, 42h ; 'B'   ; Checkpoint #2
seg000:DC16                 mov     al, 43h ; 'C'   ; Checkpoint #3
seg000:DCA9                 mov     al, 44h ; 'D'   ; Checkpoint #4
seg000:DD55                 mov     al, 45h ; 'E'   ; Checkpoint #5
seg000:DE1C                 mov     al, 4Bh ; 'K'   ; Checkpoint #B
seg000:DF40                 mov     al, 48h ; 'H'   ; Checkpoint #8

These output as 40h, 41h, etc. although the 6300 Plus source refers to them as "#0", "#1", etc. In the 6300 1.43 ROM BIOS disassembly, they translate to:

  • Checkpoint #40h: POST has started
  • Checkpoint #41h: CPU test OK
  • Checkpoint #42h: ROM checksum OK
  • Checkpoint #43h: DMA timer test OK
  • Checkpoint #44h: DMA channel test OK
  • Checkpoint #45h: PIC (programming interrupt controller) test OK
  • Checkpoint #4Bh: RAM size and test OK
  • Checkpoint #48h: Realtime Clock OK
 
I wonder if this would work with a Toshiba T-1000. I have one that won't POST, and the service manual shows troubleshooting codes for the parallel port.
 
Hey Trixter. If you are the same as me right now and considering using this to figure out what the battery leak killed on the machine I'll grab the adapter above on ebay and report back what's happening from my machine.
 
I wonder if this would work with a Toshiba T-1000. I have one that won't POST, and the service manual shows troubleshooting codes for the parallel port.

Are you sure the codes are output through the parallel port? I looked at the maintenance manual and couldn't see anything but codes that are output by the test diagnostics program, not the POST. I disassembled the T1000 BIOS ROM and couldn't see any obvious POST codes output there either. I've attached the disassembly if someone would like to check my work.

I'll grab the adapter above on ebay and report back what's happening from my machine.

That's up to you -- I haven't tested the adapter with mine yet. I'll try to make time tonight.
 

Attachments

  • Toshiba T1000 - BIOS ROM - V4.10 - listing.zip
    82.1 KB · Views: 4
Example, it's also available from vendors in US, Europe or China: http://www.ebay.com/itm/Motherboard...916185?hash=item5af2d229d9:g:kxwAAOxyiOxR1PY6

Well, I had to order one of these today, because I tried to connect the one I had to the parallel port and one edge is about 3mm too long and won't fit (it is butting up against the external fan housing). So when I get the new one (which fits, looking at the photo), I'll report back. The 6300 I'm testing doesn't fully POST (the keyboard lights flash, which is a good sign), so this will be a good test case for it.

There was something odd inside this particular 6300, but I'll start another thread for it.
 
Well, I had to order one of these today, because I tried to connect the one I had to the parallel port and one edge is about 3mm too long and won't fit (it is butting up against the external fan housing). So when I get the new one (which fits, looking at the photo), I'll report back. The 6300 I'm testing doesn't fully POST (the keyboard lights flash, which is a good sign), so this will be a good test case for it.

There was something odd inside this particular 6300, but I'll start another thread for it.

Trixter,

Have you considered using and extension cable (i.e. a straight through 25pin to 25pin)?
 
I wonder if this would work with a Toshiba T-1000. I have one that won't POST, and the service manual shows troubleshooting codes for the parallel port.
Are you sure the codes are output through the parallel port? I looked at the maintenance manual and couldn't see anything but codes that are output by the test diagnostics program, not the POST.
The name that Toshiba gave to their parallel port monitoring device was 'Printer Port LED'.
The Printer Port LED is illustrated in some later Toshiba manuals:

ppl862rrghf.jpg


In the T1000 maintenance manual, use of the Printer Port LED is covered on page 2-12.
 
This Toshiba thing looks very similar to the original Olivetti one in it simple version. It was also just binary LEDs and you had to calculate decimal by yourself. The eBay thing is even more than luxury. On M24 I use it with simple flat cable extension, I forgot to tell you.
 
Back
Top