Derives from AMI BIOS and uses
port 80h. Certain codes come up if a copy is made without AMI's
copyright notice.
| 01 |
Disable the NMI and
test CPU registers |
| 02 |
Verify the BIOS ROM
checksum (32KB at F8000h) |
| 03 |
Initialize the keyboard
controller and CMOS RAM communication |
| 04 |
Disable the DMA and
PIT; test the CMOS RAM interrupt |
| 05 |
Reset the video controller |
| 06 |
Test the 8254 programmable
interrupt timer |
| 07 |
Test delta count timer
channel 2 (speaker) |
| 08 |
Test delta count timer
channel 1 (memory refresh) |
| 09 |
Test delta count timer
channel 0 (system timer) |
| 0A |
Test parity circuit
and turn on refresh |
| 0B |
Enable parity check
and test system timer |
| 0C |
Test refresh trace
link toggle |
| 0D |
Test refresh timing
synchronization |
| 10 |
Disable cache and shadow
memory; test the 64KB base memory |
| 11 |
Perform 64KB memory
read/write test |
| 12 |
Initialize interrupt
vector table in lower 1KB of RAM |
| 14 |
Test CMOS RAM shutdown
register...disable DMA and interrupt controllers |
| 15 |
Test CMOS RAM battery
and checksum |
| 16 |
Test for floppy drive,
based on CMOS setup...initialize monochrome video |
| 17 |
Initialize CGA video |
| 18 |
Clear the parity status
(if any) |
| 19 |
Test for EGA/VGA video
BIOS at C0000h and pass control |
| 1A |
Return from video ROM |
| 1B |
Test primary video
adapter...test video memory |
| 1C |
Test secondary video
adapter...test video memory |
| 1D |
Compare CMOS settings
to video adapter |
| 1E |
Set video mode according
to CMOS settings |
| 20 |
Display CMOS RAM read/write
errors and halt |
| 21 |
Set cursor and call
interrupt 10 to display status message |
| 22 |
Display power on message;
"386 BIOS"; check if CPU speed is 25Mhz or 33Mhz |
| 23 |
Read new cursor position |
| 24 |
Display AMI copyright
message at the bottom of the screen |
| 25 |
Test shadow RAM |
| F0 |
Shadow RAM test failed |
| 30 |
Ready to enter protected
mode |
| 31 |
Enter protected mode
(A20 gate) and enable timer interrupt (IRQ 0) |
| 32 |
Get memory size above
1MB |
| 33 |
Get memory size below
640KB |
| 34 |
Test memory above 1MB |
| 35 |
Test memory below 1MB |
| 37 |
Clear memory below
1MB |
| 38 |
Clear memory above
1MB |
| 39 |
Use CMOS shutdown byte
and return to real mode |
| 3A |
Test 64KB read/write |
| 3B |
Test RAM below 1MB
and show the area being tested |
| 3C |
Test RAM above 1MB
and show the area being tested |
| 3D |
RAM test complete OK |
| 3E |
Ready to return to
real mode |
| 3F |
Back in real mode |
| 40 |
Disable A20 gate |
| 41 |
Check for AMI copyright
message in ROM |
| 42 |
Display the AMI copyright
message, if found |
| 43 |
Test cache memory;
Clear <Esc> message |
| 4E |
Process shutdown 1;
Return to real mode |
| 4F |
Restore interrupt vectors
and data in BIOS RAM area |
| 50 |
Test DMA controller |
| 51 |
Initialize DMA controller |
| 52 |
Test the DMA controller
with patterns |
| 54 |
Test DMA controller
latches |
| 55 |
Initialize and enable
DMA controllers 1 and 2 |
| 56 |
Initialize 8259 programmable
interrupt controllers |
| 57 |
Test 8259 programmable
interrupt controllers and setup interrupt mask registers |
| 61 |
Check DDNIL status
bit and display message |
| 70 |
Perform keyboard (BAT)
basic assurance test |
| 71 |
Program keyboard to
AT type |
| 72 |
Disable keyboard and
initialize keyboard circular buffer |
| 73 |
Display message and
initialize floppy controller and drive |
| 74 |
Attempt to access the
floppy drive |
| 75 |
If the CMOS RAM is
good, check and initialize the hard disk controller and drive |
| 76 |
Attempt to access the
hard disk drive |
| 77 |
Shuffle and internal
error codes |
| 79 |
Check CMOS RAM battery
and checksum...clear parity status |
| 7A |
Compare size of base/extended
memory to CMOS information |
| 7B |
Unknown AMI function |
| 7C |
Display AMI copyright |
| 7D |
Set AT memory expansion
bit |
| 7E |
Verify the ROM contains
and AMI copyright |
| 7F |
Clear the <Del>
message from the display...check if <Del> was pressed |
| 80 |
Locate option ROM at
C800h to DE00h and pass control to any found |
| 81 |
Return from option
ROM and initialize timer and data area |
| 82 |
Setup parallel and
serial ports |
| 83 |
Test for math coprocessor |
| 84 |
Check if keyboard is
locked |
| 85 |
Display any soft error
messages |
| 86 |
Test for option ROM
at E0000h |
| A0 |
Error found in 256KB
or 1MB RAM IC in lower 640KB |
| A1 |
Base 64KB random access
and data pattern test (only in 386APR and Presto 386SX BIOS) |
| A9 |
Initialize on board
VGA controller (Presto 386SX BIOS) |
| B0 |
Error in 256KB RAM
IC in 640KB |
| B1 |
Base 64KB random access
and data pattern test (only in Presto 386SX BIOS) |
| E0 |
Return to real mode
and initialize base 64KB RAM (Presto) |
| E1 |
Initialize 640KB RAM
(Presto) |
| EF |
Configuration memory
error - can't find memory |
| F0 |
Test shadow RAM from
04000h |
| 00 |
Call the interrupt
19 boot loader |