If you're looking for a basic functionality POST
card, I did a quickie web
search and came up with several. Check out:
These three products are hardwired to show only port
0x80. That's good enough for technicians, but engineers
need more. You might be able to change the port number by
cutting address lines and inserting inverters.
This card can be set for *any* ISA port 0x0 to 0x3ff,
although the web page doesn't explain how. Unfortunately,
this company's phone number has been disconnected.
Here's why having POST cards on two or three different
ports is so important:
; Print a word value to ports 300h/84h and an optional
; tag to 80h. Give the user two seconds to read it.
%macro print 1-2
mov ax, %1
out 84h, al
mov dx, 300h
mov al, ah
out dx, al
%if %0 > 1
mov al, %2
out 80h, al
mov eax, 600000 ; Change this to adjust delay
%%loop: dec eax
When writing code, you insert something like this:
print ax,0xaa ; Print 16-bit values
ror ebx,16 ; Print a 32-bit register
It takes some trial and error to get the delay count
right. It depends on your CPU, and whether the BIOS is
running from ROM or RAM (RAM is about 30 times faster).
Early POST code runs with no stack, because DRAM is
not yet ready. Any print statements made in stackless
code will destroy EAX and DX.
Dave Coffin 3/11/99
David Coffin Evening: 781-397-9932
967 Salem Street Daytime: 978-686-6468x341
Malden, MA 02148-4515 E-mail: dcoffin(a)shore.net