Not all tests are performed by all AMI BIOSes. Those below refer to the 2 Feb 91 BIOS.
|
Procedure |
Explanation |
|
NMI Disable |
NMI interrupt line to the CPU is disabled by setting bit 7 I/O port 70h (CMOS). |
|
Power On Delay |
Once the keyboard controller gets power, it sets the hard and soft reset bits. Check the keyboard controller or clock generator. |
|
Initialise Chipsets |
Check the BIOS, CLOCK or chipsets. |
|
Reset Determination |
The BIOS reads the bits in the keyboard controller to see if a hard or soft reset is required (a soft reset will not test memory above 64K). Failure could be the BIOS or keyboard controller. |
|
ROM BIOS Checksum |
The BIOS performs a checksum on itself and adds a preset factory value that should make it equal 00. Failure is due to the BIOS chips. |
|
Keyboard Test |
A command is sent to the 8042 (keyboard controller) which performs a test and sets a buffer space for commands. After the buffer is defined the BIOS sends a command byte, writes data to the buffer, checks the high order bits (Pin 23) of the internal keyboard controller and issues a No Operation (NOP) command. |
|
CMOS |
Shutdown byte in CMOS RAM offset 0F is tested, the BIOS checksum calculated and diagnostic byte (0E) updated before the CMOS RAM area is initialised and updated for date and time. Check RTC/CMOS chip or battery. |
|
8237/8259 Disable |
The DMA and Interrupt Controller are disabled before the POST proceeds any further. Check the 8237 or 8259 chips. |
|
Video Disable |
The video controller is disabled and Port B initialised. Check the video adapter if you get problems here. |
|
Chipset Init/Memory Detect |
Memory addressed in 64K blocks; failure would be in the chipset. If all memory is not seen, failure could be in a chip in the block after the last one seen. |
|
PIT test |
The timing functions of the 8254 interrupt timer are tested. The PIT or RTC chips normally cause problems here. |
|
Memory Refresh |
PIT's ability to refresh memory tested (if an XT, DMA controller #1 handles this). Failure is normally the PIT (8254) in ATs or the 8237 (DMA #1) in XTs. |
|
Address Lines |
Test the address lines to the first 64K of RAM. An address line failure. |
|
Base 64K |
Data patterns are written to the first 64K, unless there is a bad RAM chip in which case you will get a failure. |
|
Chipset Initialisation |
The PIT, PIC and DMA controllers are enabled. |
|
Set Interrupt Table |
Interrupt vector table used by PIC is installed in low memory, the first 2K. |
|
8042 check |
The BIOS reads the buffer area of the keyboard controller I/O port 60. Failure here is normally the keyboard controller. |
|
Video Tests |
The type of video adapter is checked for then a series of tests is performed on the adapter and monitor. |
|
BIOS Data Area |
The vector table is checked for proper operation and video memory verified before protected mode tests are entered into. This is done so that any errors found are displayed on the monitor. |
|
Protected Mode Tests |
Perform reads and writes to all memory below 1 Mb. Failures at this point indicate a bad RAM chip, the 8042 chip or a data line. |
|
DMA Chips |
The DMA registers are tested using a data pattern. |
|
Final Initialisation |
These differ with each version. Typically, the floppy and hard drives are tested and initialised, and a check made for serial and parallel devices. The information gathered is then compared against the contents of the CMOS, and you will see the results of any failures on the monitor. |
|
Boot |
The BIOS hands over control to the Int 19 bootloader; this is where you would see error messages such as non-system disk. |
|
Code |
Meaning |
|
01 |
NMI disabled & 286 reg. test about to start |
|
02 |
286 register test over |
|
03 |
ROM checksum OK |
|
04 |
8259 initialization OK |
|
05 |
CMOS pending interrupt disabled |
|
06 |
Video disabled & system timer counting OK |
|
07 |
CH-2 of 8253 test OK |
|
08 |
CH-2 delta count test OK |
|
09 |
CH-1 delta count test OK |
|
0A |
CH-0 delta count test OK |
|
0B |
Parity status cleared |
|
0C |
Refresh & system timer OK |
|
0D |
Refresh link toggling OK |
|
0E |
Refresh period ON/OFF 50% OK |
|
10 |
Confirmed refresh ON & about to start 64K memory |
|
11 |
Address line test OK |
|
12 |
64K base memory test OK |
|
13 |
Interrupt vectors initialized |
|
14 |
8042 keyboard controller test OK |
|
15 |
CMOS read/write test OK |
|
16 |
CMOS checksum/battery check OK |
|
17 |
Monochrome mode set OK |
|
18 |
Colour mode set OK |
|
19 |
About to look for optional video ROM |
|
1A |
Optional video ROM control OK |
|
1B |
Display memory read/write test OK |
|
1C |
Display memory read/write test for alt display OK |
|
1D |
Video retrace check OK |
|
1E |
Global equipment byte set for video OK |
|
1F |
Mode set call for Mono/Colour OK |
|
20 |
Video test OK |
|
21 |
Video display OK |
|
22 |
Power on message display OK |
|
30 |
Virtual mode memory test about to begin |
|
31 |
Virtual mode memory test started |
|
32 |
Processor in virtual mode |
|
33 |
Memory address line test in progress |
|
34 |
Memory address line test in progress |
|
35 |
Memory below 1MB calculated |
|
36 |
Memory size computation OK |
|
37 |
Memory test in progress |
|
38 |
Memory initialization over below 1MB |
|
39 |
Memory initialization over above 1MB |
|
3A |
Display memory size |
|
3B |
About to start below 1MB memory test |
|
3C |
Memory test below 1MB OK |
|
3D |
Memory test above 1MB OK |
|
3E |
About to go to real mode (shutdown) |
|
3F |
Shutdown successful and entered in real mode |
|
40 |
About to disable gate A-20 address line |
|
41 |
Gate A-20 line disabled successfully |
|
42 |
About to start DMA controller test |
|
4E |
Address line test OK |
|
4F |
Processor in real mode after shutdown |
|
50 |
DMA page register test OK |
|
51 |
DMA unit-1 base register test about to start |
|
52 |
DMA unit-1 channel OK; about to begin CH-2 |
|
53 |
DMA CH-2 base register test OK |
|
54 |
About to test f/f latch for unit-1 |
|
55 |
f/f latch test both unit OK |
|
56 |
DMA unit 1 & 2 programmed OK |
|
57 |
8259 initialization over |
|
58 |
8259 mask register check OK |
|
59 |
Master 8259 mask register OK; about to start slave |
|
5A |
About to check timer and keyboard interrupt level |
|
5B |
Timer interrupt OK |
|
5C |
About to test keyboard interrupt |
|
5D |
ERROR! timer/keyboard interrupt not in proper level |
|
5E |
8259 interrupt controller error |
|
5F |
8259 interrupt controller test OK |
|
70 |
Start of keyboard test |
|
71 |
Keyboard BAT test OK |
|
72 |
Keyboard test OK |
|
73 |
Keyboard global data initialization OK |
|
74 |
Floppy setup about to start |
|
75 |
Floppy setup OK |
|
76 |
Hard disk setup about to start |
|
77 |
Hard disk setup OK |
|
79 |
About to initialize timer data area |
|
7A |
Verify CMOS battery power |
|
7B |
CMOS battery verification done |
|
7D |
About to analyze diagnostic test results for memory |
|
7E |
CMOS memory size update OK |
|
7F |
About to check optional ROM C000:0 |
|
80 |
Keyboard sensed to enable setup |
|
81 |
Optional ROM control OK |
|
82 |
Printer global data initialization OK |
|
83 |
RS-232 global data initialization OK |
|
84 |
80287 check/test OK |
|
85 |
About to display soft error message |
|
86 |
About to give control to system ROM E000:0 |
|
87 |
System ROM E000:0 check over |
|
00 |
Control given to Int-19; boot loader |
|
Code |
Meaning |
|
01 |
NMI disabled and 286 register test about to start. |
|
02 |
286 register test passed. |
|
03 |
ROM BIOS checksum (32K at F800:0) passed. |
|
04 |
Keyboard controller test with and without mouse passed. |
|
05 |
Chipset initialization over; DMA and Interrupt controller disabled. |
|
06 |
Video disabled and system timer test begin. |
|
07 |
CH-2 of 8254 initialization half way. |
|
08 |
CH-2 of timer initialization over. |
|
09 |
CH-1 of timer initialization over. |
|
0A |
CH-0 of timer initialization over. |
|
0B |
Refresh started. |
|
0C |
System timer started. |
|
0D |
Refresh link toggling passed. |
|
10 |
Refresh on and about to start 64K base memory test. |
|
11 |
Address line test passed. |
|
12 |
64K base memory test passed. |
|
15 |
Interrupt vectors initialized. |
|
17 |
Monochrome mode set. |
|
18 |
Colour mode set. |
|
19 |
About to look for optional video ROM at C000 and give control to ROM if present. |
|
1A |
Return from optional video ROM. |
|
1B |
Shadow RAM enable/disable completed. |
|
1C |
Display memory read/write test for main display type as set in the CMOS setup program over. |
|
1D |
Display memory read/write test for alternate display type complete if main display memory read/write test returns error. |
|
1E |
Global equipment byte set for proper display type. |
|
1F |
Video mode set call for mono/colour begins. |
|
20 |
Video mode set completed. |
|
21 |
ROM type 27256 verified. |
|
23 |
Power on message displayed. |
|
30 |
Virtual mode memory test about to begin. |
|
31 |
Virtual mode memory test started. |
|
32 |
Processor executing in virtual mode. |
|
33 |
Memory address line test in progress. |
|
34 |
Memory address line test in progress. |
|
35 |
Memory below 1MB calculated. |
|
36 |
Memory above 1MB calculated. |
|
37 |
Memory test about to start. |
|
38 |
Memory below 1MB initialized. |
|
39 |
Memory above 1MB initialized. |
|
3A |
Memory size display initiated. Will be updated when BIOS goes through memory test. |
|
3B |
About to start below 1MB memory test. |
|
3C |
Memory test below 1MB completed; about to start above 1MB test. |
|
3D |
Memory test above 1MB completed. |
|
3E |
About to go to real mode (shutdown). |
|
3F |
Shutdown successful and processor in real mode. |
|
40 |
Cache memory on and about to disable A20 address line. |
|
41 |
A20 address line disable successful. |
|
42 |
486 internal cache turned on. |
|
43 |
About to start DMA controller test. |
|
50 |
DMA page register test complete. |
|
51 |
DMA unit-1 base register test about to start. |
|
52 |
DMA unit-1 base register test complete. |
|
53 |
DMA unit-2 base register test complete. |
|
54 |
About to check F/F latch for unit-1 and unit-2. |
|
55 |
F/F latch for both units checked. |
|
56 |
DMA unit 1 and 2 programming over; about to initialize 8259 interrupt controller. |
|
57 |
8259 initialization over. |
|
70 |
About to start keyboard test. |
|
71 |
Keyboard controller BAT test over. |
|
72 |
Keyboard interface test over; mouse interface test started. |
|
73 |
Global data initialization for keyboard/mouse over. |
|
74 |
Display 'SETUP' prompt and about to start floppy setup. |
|
75 |
Floppy setup over. |
|
76 |
Hard disk setup about to start. |
|
77 |
Hard disk setup over. |
|
79 |
About to initialize timer data area. |
|
7A |
Timer data initialized and about to verify CMOS battery power. |
|
7B |
CMOS battery verification over. |
|
7D |
About to analyze POST results. |
|
7E |
CMOS memory size updated. |
|
7F |
Look for <DEL> key and get into CMOS setup if found. |
|
80 |
About to give control to optional ROM in segment C800 to DE00. |
|
81 |
Optional ROM control over. |
|
82 |
Check for printer ports and put the addresses in global data area. |
|
83 |
Check for RS232 ports and put the addresses in global data area. |
|
84 |
Coprocessor detection over. |
|
85 |
About to display soft error messages. |
|
86 |
About to give control to system ROM at segment E000. |
|
00 |
System ROM control at E000 over now give control to Int 19h boot loader. |
|
Code |
Meaning |
|
01 |
Processor register test about to start and NMI to be disabled. |
|
02 |
NMI is Disabled. Power on delay starting. |
|
03 |
Power on delay complete. Any initialization before keyboard BAT is in progress. |
|
04 |
Init before keyboard BAT complete. Reading keyboard SYS bit to check soft reset/ power-on. |
|
05 |
Soft reset/ power-on determined. Going to enable ROM. i. e. disable shadow RAM/Cache. |
|
06 |
ROM enabled. Calculating ROM BIOS checksum, waiting for KB controller input buffer to be free. |
|
07 |
ROM BIOS Checksum passed. KB controller I/B free. Going to issue BAT comd to kboard controller. |
|
08 |
BAT command to keyboard controller issued. Going to verify BAT command. |
|
09 |
Keyboard controller BAT result verified. Keyboard command byte to be written next. |
|
0A |
Keyboard command byte code issued. Going to write command byte data. |
|
0B |
Keyboard controller command byte written. Going to issue Pin-23 & 24 blocking/unblocking command |
|
0C |
Pin 23 & 24 of keyboard controller is blocked/unblocked. NOP command of keyboard controller to be issued next. |
|
0D |
NOP command processing done. CMOS shutdown register test to be done next. |
|
0E |
CMOS shutdown register R/W test passed. Going to calculate CMOS checksum, update DIAG byte. |
|
0F |
CMOS checksum calculation is done DIAG byte written. CMOS init. to begin (If INIT CMOS IN EVERY BOOT is set). |
|
10 |
CMOS initialization done (if any). CMOS status register about to init for Date and Time. |
|
11 |
CMOS Status register initialised. Going to disable DMA and Interrupt controllers. |
|
12 |
DMA Controller #1 & #2, interrupt controller #1 & #2 disabled. About to disable Video display and init port-B. |
|
13 |
Video display disabled and port-B initialized. Chipset init/auto mem detection about to begin. |
|
14 |
Chipset initialization/auto memory detection over. 8254 timer test about to start. |
|
15 |
CH-2 timer test halfway. 8254 CH-2 timer test to be complete. |
|
16 |
Ch-2 timer test over. 8254 CH-1 timer test to be complete. |
|
17 |
CH-1 timer test over. 8254 CH-0 timer test to be complete. |
|
18 |
CH-0 timer test over. About to start memory refresh. |
|
19 |
Memory Refresh started. Memory Refresh test to be done next. |
|
1A |
Memory Refresh line is toggling. Going to check 15 microsecond ON/OFF time. |
|
1B |
Memory Refresh period 30 microsec test complete. Base 64K memory test about to start. |
|
20 |
Base 64k memory test started. Address line test to be done next. |
|
21 |
Address line test passed. Going to do toggle parity. |
|
22 |
Toggle parity over. Going for sequential data R/W test. |
|
23 |
Base 64k sequential data R/W test passed. Setup before Interrupt vector init about to start. |
|
24 |
Setup before vector initialization complete. Interrupt vector initialization about to begin. |
|
25 |
Interrupt vector initialization done. Going to read I/O port of 8042 for turbo switch (if any). |
|
26 |
I/O port of 8042 is read. Going to initialize global data for turbo switch. |
|
27 |
Global data initialization is over. Any initialization after interrupt vector to be done next. |
|
28 |
Initialization after interrupt vector is complete. Going for monochrome mode setting. |
|
29 |
Monochrome mode setting is done. Going for Colour mode setting. |
|
2A |
Colour mode setting is done. About to go for toggle parity before optional ROM test. |
|
2B |
Toggle parity over. About to give control for any setup before optional video ROM check. |
|
2C |
Processing before video ROM control is done. About to look for optional video ROM and give control. |
|
2D |
Optional video ROM control done. About to give control to do any processing after video ROM returns control. |
|
2E |
Return from processing after the video ROM control. If EGA/VGA not found then do display memory R/W test. |
|
2F |
EGA/VGA not found. Display memory R/W test about to begin. |
|
30 |
Display mem R/W test passed. About to look for retrace checking. |
|
31 |
Display mem R/W test/ retrace check failed. About to do alternate Display memory R/W test. |
|
32 |
Alternate Display memory R/W test passed. About to look for alternate display retrace checking. |
|
33 |
Video display checking over. Verification of display with switch setting and card to begin. |
|
34 |
Verification of display adapter done. Display mode to be set next. |
|
35 |
Display mode set complete. BIOS ROM data area about to be checked. |
|
36 |
BIOS ROM data area check over. Going to set cursor for power on message. |
|
37 |
Cursor setting for power on message id complete. Going to display the power on message. |
|
38 |
Power on message display complete. Going to read new cursor position. |
|
39 |
New cursor position read and saved. Going to display the reference string. |
|
3A |
Reference string display is over. Going to display the Hit <Esc> message. |
|
3B |
Hit <Esc> message displayed. Virtual mode memory test about to start. |
|
40 |
Preparation for virtual mode test started. Going to verify from video memory. |
|
41 |
Returned after verifying from display memory. Going to prepare the descriptor tables. |
|
42 |
Descriptor tables prepared. Going to enter in virtual mode for memory test. |
|
43 |
Entered in the virtual mode. Going to enable interrupts for diagnostics mode. |
|
44 |
Interrupts enabled (if diagnostics switch is on). Going to initialize data to check memory wrap around at 0:0. |
|
45 |
Data initialized. Going to check for memory wrap around at 0:0and finding the total system memory size. |
|
46 |
Memory wrap around test done. Memory size calculation over. About to go for writing patterns to test memory. |
|
47 |
Pattern to be tested written in extended memory. Going to write patterns in base 640k. |
|
48 |
Patterns written in base memory. Going to find out amount of memory below 1Mb. |
|
49 |
Amount of memory below 1Mb found and verified. Going to find out amount of memory above 1M memory. |
|
4A |
Amount of memory above 1Mb found and verified. Going for BIOS ROM data area check. |
|
4B |
BIOS ROM data area check over. Going to check <Esc> and clear mem below 1Mb for soft reset. |
|
4C |
Memory below 1M cleared. (SOFT RESET). Going to clear memory above 1M. |
|
4D |
Memory above 1M cleared.(SOFT RESET). Going to save the memory size. |
|
4E |
Memory test started. (NO SOFT RESET). About to display the first 64k memory test. |
|
4F |
Memory size display started. This will be updated during memory test. Going for sequential and random memory test. |
|
50 |
Memory test below 1Mb complete. Going to adjust memory size for relocation/ shadow. |
|
51 |
Memory size adjusted due to relocation/shadow. Memory test above 1Mb to follow. |
|
52 |
Memory test above 1Mb complete. Going to prepare to go back to real mode. |
|
53 |
CPU registers are saved including memory size. Going to enter in real mode. |
|
54 |
Shutdown successful. CPU in real mode. Going to restore registers saved during preparation for shutdown. |
|
55 |
Registers restored. Going to disable gate A20 address line. |
|
56 |
A20 address line disable successful. BIOS ROM data area about to be checked. |
|
57 |
BIOS ROM data area check halfway. BIOS ROM data area check to be complete. |
|
58 |
BIOS ROM data area check over. Going to clear Hit <Esc>message. |
|
59 |
Hit <Esc> message cleared. WAIT. . . message displayed. About to start DMA and interrupt controller test. |
|
60 |
DMA page register test passed. About to verify from display memory. |
|
61 |
Display memory verification over. About to go for DMA #1 base register test. |
|
62 |
DMA #1 base register test passed. About to go for DMA #2 base register test. |
|
63 |
DMA #2 base register test passed. About to go for BIOS ROM data area check. |
|
64 |
BIOS ROM data area check halfway. BIOS ROM data area check to be complete. |
|
65 |
BIOS ROM data area check over. About to program DMA unit 1 and 2. |
|
66 |
DMA unit 1 and 2 programming over. About to initialize 8259 interrupt controller |
|
67 |
8259 initialization over. About to start keyboard test. |
|
80 |
Keyboard test started. Clearing output buffer, checking for stuck key. About to issue keyboard reset |
|
81 |
Keyboard reset error/stuck key found. About to issue keyboard controller i/f test command. |
|
82 |
Keyboard controller interface test over. About to write command byte and init circular buffer. |
|
83 |
Command byte written Global data init done. About to check for lock-key. |
|
84 |
Lock-key checking over. About to check for memory size mismatch with CMOS. |
|
85 |
Memory size check done. About to display soft error; check for password or bypass setup. |
|
86 |
Password checked. About to do programming before setup. |
|
87 |
Programming before setup complete. Going to CMOS setup program. |
|
88 |
Returned from CMOS setup and screen cleared. About to do programming after setup. |
|
89 |
Programming after setup complete. Going to display power on screen message. |
|
8A |
First screen message displayed. About to display WAIT. . . message. |
|
8B |
WAIT. . . message displayed. About to do Main and Video BIOS shadow. |
|
8C |
Main/Video BIOS shadow successful. Setup options programming after CMOS setup about to start. |
|
8D |
Setup options are programmed, mouse check and init to be done next |
|
8E |
Mouse check and initialisation complete. Going for hard disk floppy reset. |
|
8F |
Floppy check returns that floppy is to be initialized. Floppy setup to follow. |
|
90 |
Floppy setup is over. Test for hard disk presence to be done. |
|
91 |
Hard disk presence test over. Hard disk setup to follow. |
|
92 |
Hard disk setup complete. About to go for BIOS ROM data area check. |
|
93 |
BIOS ROM data area check halfway. BIOS ROM data area check to be complete. |
|
94 |
BIOS ROM data area check over. Going to set base and extended memory size. |
|
95 |
Memory size adjusted due to mouse support hdisk type 47. Going to verify from display memory. |
|
96 |
Returned after verifying from display memory. Going to do any init before C800 optional ROM control. |
|
97 |
Any init before C800 optional ROM control is over. Optional ROM check and control next. |
|
98 |
Optional ROM control is done. About to give control to do any required processing after optional ROM returns control. |
|
99 |
Any initialization required after optional ROM test over. Going to setup timer data area and printer base address. |
|
9A |
Return after setting timer and printer base address. Going to set the RS-232 base address. |
|
9B |
Returned after RS-232 base address. Going to do any initialization before Copro test. |
|
9C |
Required initialization before coprocessor is over. Going to initialize the coprocessor next. |
|
9D |
Coprocessor initialized. Going to do any initialization after Coprocessor test. |
|
9E |
Initialization after co-pro test complete. Going to check extd keyboard; ID and num-lock. |
|
9F |
Extd keyboard check done ID flag set. num-lock on/off. Keyboard ID command to be issued. |
|
A0 |
Keyboard ID command issued. Keyboard ID flag to be reset. |
|
A1 |
Keyboard ID flag reset. Cache memory test to follow. |
|
A2 |
Cache memory test over. Going to display any soft errors. |
|
A3 |
Soft error display complete. Going to set the keyboard typematic rate. |
|
A4 |
Keyboard typematic rate set. Going to program memory wait states. |
|
A5 |
Memory wait states programming over. Screen to be cleared next. |
|
A6 |
Screen cleared. Going to enable parity and NMI. |
|
A7 |
NMI and parity enabled. Going to do any initialization required before giving control to optional ROM at E000. |
|
A8 |
Initialization before E000 ROM control over. E000 ROM to get control next. |
|
A9 |
Returned from E000 ROM control. Going to do any initialization required after E000 optional ROM control. |
|
AA |
Initialization after E000 optional ROM control is over. Going to display system configuration. |
|
00 |
System configuration is displayed. Going to give control to INT 19h boot loader. |
|
Code |
Meaning |
|
01 |
Processor register test about to start and NMI to be disabled. |
|
02 |
NMI is Disabled. Power on delay starting. |
|
03 |
Power on delay complete. Any initialization before keyboard BAT is in progress next. |
|
04 |
Any init before keyboard BAT is complete. Reading keyboard SYS bit, to check soft reset/power on. |
|
05 |
Soft reset/ power-on determined. Going to enable ROM; i.e. disable shadow RAM/Cache if any. |
|
06 |
ROM is enabled. Calculating ROM BIOS checksum and waiting for 8042 keyboard controller input buffer to be free. |
|
07 |
ROM BIOS checksum passed; KB controller input buffer free. Going to issue BAT command to the keyboard controller. |
|
08 |
BAT command to keyboard controller is issued. Going to verify the BAT command. |
|
09 |
Keyboard controller BAT result verified. Keyboard command byte to be written next. |
|
0A |
Keyboard command byte code is issued. Going to write command byte data. |
|
0B |
Keyboard controller command byte is written. Going to issue Pin-23 & 24 blocking/unblocking command. |
|
0C |
Pin-23 & 24 of keyboard controller is blocked/ unblocked. NOP command of keyboard controller to be issued next. |
|
0D |
NOP command processing is done. CMOS shutdown register test to be done next. |
|
0E |
CMOS shutdown register R/W test passed. Going to calculate CMOS checksum and update DIAG byte. |
|
0F |
CMOS checksum calculation is done; DIAG byte written. CMOS init to begin (If "INIT CMOS IN EVERY BOOT" is set). |
|
10 |
CMOS initialization done (if any). CMOS status register about to init for Date and Time. |
|
11 |
CMOS Status register initialised. Going to disable DMA and Interrupt controllers. |
|
12 |
DMA controller #1 & #2, interrupt controller #1 & #2 disabled. About to disable Video display and init port-B. |
|
13 |
Disable Video display and initialise port B. Chipset init/auto memory detection about to begin. |
|
14 |
Chipset initialization/auto memory detection over. 8254 timer test about to start. |
|
15 |
CH-2 timer test halfway. 8254 CH-2 timer test to be complete. |
|
16 |
Ch-2 timer test over. 8254 CH-1 timer test to be complete. |
|
17 |
CH-1 timer test over. 8254 CH-0 timer test to be complete. |
|
18 |
CH-0 timer test over. About to start memory refresh. |
|
19 |
Memory Refresh started. Memory Refresh test to be done next. |
|
1A |
Memory Refresh line is toggling. Going to check 15 microsecond ON/OFF time. |
|
1B |
Memory Refresh period 30 microsecond test complete. Base 64K memory test about to start. |
|
20 |
Base 64k memory test started. Address line test to be done next. |
|
21 |
Address line test passed. Going to do toggle parity. |
|
22 |
Toggle parity over. Going for sequential data R/W test. |
|
23 |
Base 64k sequential data R/W test passed. Any setup before Interrupt vector init about to start. |
|
24 |
Setup required before vector initialization complete. Interrupt vector initialization about to begin. |
|
25 |
Interrupt vector initialization done. Going to read I/O port of 8042 for turbo switch (if any). |
|
26 |
I/O port of 8042 is read. Going to initialize global data for turbo switch. |
|
27 |
Global data initialization is over. Any initialization after interrupt vector to be done next. |
|
28 |
Initialization after interrupt vector is complete. Going for monochrome mode setting. |
|
29 |
Monochrome mode setting is done. Going for Colour mode setting. |
|
2A |
Colour mode setting is done. About to go for toggle parity before optional ROM test. |
|
2B |
Toggle parity over. About to give control for any setup required before optional video ROM check. |
|
2C |
Processing before video ROM control is done. About to look for optional video ROM and give control. |
|
2D |
Optional video ROM control done. About to give control for processing after video ROM returns control. |
|
2E |
Return from processing after video ROM control. If EGA/VGA not found do display memory R/W test. |
|
2F |
EGA/VGA not found. Display memory R/W test about to begin. |
|
30 |
Display memory R/W test passed. About to look for the retrace checking. |
|
31 |
Display memory R/W test or retrace checking failed. About to do alternate Display memory R/W test. |
|
32 |
Alternate Display memory R/W test passed. About to look for the alternate display retrace checking. |
|
33 |
Video display checking over. Verification of display type with switch setting and actual card to begin. |
|
34 |
Verification of display adapter done. Display mode to be set next. |
|
35 |
Display mode set complete. BIOS ROM data area about to be checked. |
|
36 |
BIOS ROM data area check over. Going to set cursor for power on message. |
|
37 |
Cursor setting for power on message complete. Going to display power on message. |
|
38 |
Power on message display complete. Going to read new cursor position. |
|
39 |
New cursor position read and saved. Going to display the reference string. |
|
3A |
Reference string display over. Going to display the Hit <ESC> message. |
|
3B |
Hit <ESC> message displayed. Virtual mode memory test about to start. |
|
40 |
Preparation for virtual mode test started. Going to verify from video memory. |
|
41 |
Returned after verifying from display memory. Going to prepare descriptor tables. |
|
42 |
Descriptor tables prepared. Going to enter in virtual mode for memory test. |
|
43 |
Entered in virtual mode. Going to enable interrupts for diagnostics mode. |
|
44 |
Interrupts enabled (if diags switch on). Going to initialize data to check mem wrap around at 0:0. |
|
45 |
Data initialized. Going to check for memory wrap around at 0:0 and finding total memory size. |
|
46 |
Mem wrap around test done. Size calculation over. About to go for writing patterns to test memory. |
|
47 |
Pattern to be tested written in extended memory. Going to write patterns in base 640k memory. |
|
48 |
Patterns written in base memory. Going to find out amount of memory below 1M b. |
|
49 |
Amount of memory below 1Mb found and verified. Going to find amount of memory above 1Mb. |
|
4A |
Amount of memory above 1Mb found and verified. Going for BIOS ROM data area check. |
|
4B |
BIOS ROM data area check over. Going to check <ESC> and clear mem below 1 Mb for soft reset. |
|
4C |
Memory below 1Mb cleared. (SOFT RESET). Going to clear memory above 1 Mb. |
|
4D |
Memory above 1Mb cleared. (SOFT RESET). Going to save memory size. |
|
4E |
Memory test started. (NO SOFT RESET). About to display first 64K memory test. |
|
4F |
Memory size display started. This will be updated during memory test. Going for sequential and random memory test. |
|
50 |
Memory test below 1Mb complete. Going to adjust memory size for relocation/shadow. |
|
51 |
Memory size adjusted due to relocation/shadow. Memory test above 1Mb to follow. |
|
52 |
Memory test above 1Mb complete. Preparing to go back to real mode. |
|
53 |
CPU registers saved including memory size. Going to enter real mode. |
|
54 |
Shutdown successful; CPU in real mode. Going to restore registers saved during prep for shutdown. |
|
55 |
Registers restored. Going to disable gate A20 address line. |
|
56 |
A20 address line disable successful. BIOS ROM data area about to be checked. |
|
57 |
BIOS ROM data area check halfway. BIOS ROM data area check to be complete. |
|
58 |
BIOS ROM data area check over. Going to clear Hit <ESC> message. |
|
59 |
Hit <ESC> message cleared. <WAIT...> message displayed. About to start DMA and PIC test. |
|
60 |
DMA page register test passed. About to verify from display memory. |
|
61 |
Display memory verification over. About to go for DMA #1 base register test. |
|
62 |
DMA #1 base register test passed. About to go for DMA #2 base register test. |
|
63 |
DMA #2 base register test passed. About to go for BIOS ROM data area check. |
|
64 |
BIOS ROM data area check halfway. BIOS ROM data area check to be complete. |
|
65 |
BIOS ROM data area check over. About to program DMA unit 1 and 2. |
|
66 |
DMA unit 1 and 2 programming over. About to initialize 8259 interrupt controller. |
|
67 |
8259 initialization over. About to start keyboard test. |
|
80 |
Keyboard test started. Clearing output buffer, checking for stuck key. About to issue keyboard reset. |
|
81 |
Keyboard reset error/stuck key found. About to issue keyboard controller interface command. |
|
82 |
Keyboard controller interface test over. About to write command byte and init circular buffer. |
|
83 |
Command byte written, Global data init done. About to check for lock-key. |
|
84 |
Lock-key checking over. About to check for memory size mismatch with CMOS. |
|
85 |
Memory size check done. About to display soft error and check for password or bypass setup. |
|
86 |
Password checked. About to do programming before setup. |
|
87 |
Programming before setup complete. Going to CMOS setup program. |
|
88 |
Returned from CMOS setup program, screen is cleared. About to do programming after setup. |
|
89 |
Programming after setup complete. Going to display power on screen message. |
|
8A |
First screen message displayed. About to display <WAIT...> message. |
|
8B |
<WAIT...> message displayed. About to do Main and Video BIOS shadow. |
|
8C |
Main/Video BIOS shadow successful. Setup options programming after CMOS setup about to start. |
|
8D |
Setup options programmed; mouse check and initialisation to be done next. |
|
8E |
Mouse check and initialisation complete. Going for hard disk and floppy reset. |
|
8F |
Floppy check returns that floppy is to be initialized. Floppy setup to follow. |
|
90 |
Floppy setup is over. Test for hard disk presence to be done. |
|
91 |
Hard disk presence test over. Hard disk setup to follow. |
|
92 |
Hard disk setup complete. About to go for BIOS ROM data area check. |
|
93 |
BIOS ROM data area check halfway. BIOS ROM data area check to be complete. |
|
94 |
BIOS ROM data area check over. Going to set base and extended memory size. |
|
95 |
Mem size adjusted due to mouse support, hard disk type 47. Going to verify from display memory. |
|
96 |
Returned after verifying from display memory. Going to do any init before C800 optional ROM control |
|
97 |
Any init before C800 optional ROM control is over. Optional ROM check and control will be done next. |
|
98 |
Optional ROM control is done. About to give control to do any required processing after optional ROM returns control. |
|
99 |
Any init required after optional ROM test over. Going to setup timer data area and printer base address. |
|
9A |
Return after setting timer and printer base address. Going to set the RS-232 base address. |
|
9B |
Returned after RS-232 base address. Going to do any initialization before coprocessor test |
|
9C |
Required initialization before co-processor over. Going to initialize the coprocessor next. |
|
9D |
Coprocessor initialized. Going to do any initialization after coprocessor test. |
|
9E |
Initialization after coprocessor test complete. Going to check extd keyboard |
| |
keyboard ID and num lock. |
|
9F |
Extd keyboard check is done, ID flag set. num lock on/off. Keyboard ID command to be issued. |
|
A0 |
Keyboard ID command issued. Keyboard ID flag to be reset. |
|
A1 |
Keyboard ID flag reset. Cache memory test to follow. |
|
A2 |
Cache memory test over. Going to display soft errors. |
|
A3 |
Soft error display complete. Going to set keyboard typematic rate. |
|
A4 |
Keyboard typematic rate set. Going to program memory wait states. |
|
A5 |
Memory wait states programming over. Screen to be cleared next. |
|
A6 |
Screen cleared. Going to enable parity and NMI. |
|
A7 |
NMI and parity enabled. Going to do any initi before giving control to optional ROM at E000. |
|
A8 |
Initialization before E000 ROM control over. E000 ROM to get control next. |
|
A9 |
Returned from E000 ROM control. Going to do any initialisation after E000 optional ROM control. |
|
AA |
Initialization after E000 optional ROM control is over. Going to display the system configuration. |
|
00 |
System configuration is displayed. Going to give control to INT 19h boot loader. |
|
Code |
Meaning |
|
01 |
Processor register test about to start; disable NMI next. |
|
02 |
NMI is Disabled. Power on delay starting. |
|
03 |
Power on delay complete (to check soft reset/power-on). |
|
05 |
Soft reset/power-on determined, going to enable ROM (i.e. disable shadow RAM cache, if any). |
|
06 |
ROM is enabled. Calculating ROM BIOS checksum. |
|
07 |
ROM BIOS checksum passed. CMOS shutdown register test to be done next. |
|
08 |
CMOS shutdown register test done. CMOS checksum calculation next. |
|
09 |
CMOS checksum calculation done; CMOS diag byte written; CMOS initialisation to begin. |
|
0A |
CMOS initialization done (if any). CMOS status register about to init for Date and Time. |
|
0B |
CMOS status register init done. Any initialization before keyboard BAT to be done next. |
|
0C |
KB controller I/B free. Going to issue the BAT command to keyboard controller. |
|
0D |
BAT command to keyboard controller is issued. Going to verify the BAT command. |
|
0E |
Keyboard controller BAT result verified. Any initialization after KB controller BAT next. |
|
0F |
Initialisation after KB controller BAT done. Keyboard command byte to be written next. |
|
10 |
Keyboard controller command byte is written. Going to issue Pin-23 & 24 blocking/unblocking command. |
|
11 |
Keyboard controller Pin-23 & 24 blocked/unblocked; check press of <INS> key during power-on . |
|
12 |
Checking for pressing of <INS> key during power-on done. Going to disable DMA/Interrupt controllers. |
|
13 |
DMA controller #1 and #2 and Interrupt controller #1 and #2 disabled; video display disabled and port B initialised; chipset init/auto memory detection next. |
|
14 |
Chipset init/auto memory detection over. To uncompress the POST code if compressed BIOS. |
|
15 |
POST code is uncompressed. 8254 timer test about to start. |
|
19 |
8254 timer test over. About to start memory refresh test. |
|
1A |
Memory Refresh line is toggling. Going to check 15 micro second ON/OFF time. |
|
20 |
Memory Refresh 30 microsecond test complete. Base 64K memory/address line test about to start. |
|
21 |
Address line test passed. Going to do toggle parity. |
|
22 |
Toggle parity over. Going for sequential data R/W test on base 64k memory. |
|
23 |
Base 64k sequential data R/W test passed. Going to set BIOS stack and do any setup before Interrupt |
|
24 |
Setup required before vector initialization complete. Interrupt vector initialization about to begin. |
|
25 |
Interrupt vector initialization done. Going to read Input port of 9042 for turbo switch (if any) and clear password if POST diag switch is ON next. |
|
26 |
Input port of 8042 is read. Going to initialize global data for turbo switch. |
|
27 |
Global data initialization for turbo switch is over. Any initialization before setting video mode to be done next. |
|
28 |
Initialization before setting video mode is complete. Going for mono mode and colour mode setting. |
|
2A |
Monochrome and colour mode setting is done. About to go for toggle parity before optional ROM test. |
|
2B |
Toggle parity over. About to give control for any setup required before optional video ROM check next. |
|
2C |
Processing before video ROM control is done. About to look for optional video ROM and give control. |
|
2D |
Optional video ROM control is done. About to give control to do any processing after video RON returns control. |
|
2E |
Return from processing after video ROM control. If EGA/VGA not found do display memory R/W test. |
|
2F |
EGA/VGA not found. Display memory R/W test about to begin. |
|
30 |
Display memory R/W test passed. About to look for the retrace checking. |
|
31 |
Display mem R/W test or retrace checking failed. About to do alternate Display memory R/W test. |
|
32 |
Alternate Display memory R/W test passed. About to look for the alternate display retrace checking. |
|
34 |
Video display checking over. Display mode to be set next. |
|
37 |
Display mode set. Going to display the power on message. |
|
39 |
New cursor position read and saved. Going to display the Hit <DEL> message. |
|
3B |
Hit <DEL> message displayed. Virtual mode memory test about to start. |
|
40 |
Going to prepare the descriptor tables. |
|
42 |
Descriptor tables prepared. Going to enter in virtual mode for memory test. |
|
43 |
Entered in virtual mode. Going to enable interrupts for diagnostics mode. |
|
44 |
Interrupts enabled (if diags switch is on). Going to initialize data to check memory wrap around at 0:0. |
|
45 |
Data initialized. Going to check for memory wrap around at 0:0 and find total system memory size. |
|
46 |
Memory wrap around test done. Memory size calculation over. About to go for writing patterns to test memory. |
|
47 |
Pattern to be tested written in extended memory. Going to write patterns in base 640k memory. |
|
48 |
Patterns written in base memory. Going to find amount of memory below 1Mb. |
|
49 |
Amount of memory below 1Mb found and verified. Going to find out amount of memory above 1Mb memory. |
|
4B |
Amount of memory above 1Mb found and verified. Check for soft reset and going to clear memory below 1Mb for soft reset next (if power on go to POST # 4Eh). |
|
4C |
Memory below 1Mb cleared.(SOFT RESET) |
|
4D |
Memory above 1Mb cleared.(SOFT RESET); save memory size next (go to POST # 52h). |
|
4E |
Memory test started. (NOT SOFT RESET); display first 64K memory size next. |
|
4F |
Memory size display started. This will be updated during memory test; sequential and random memory test next. |
|
50 |
Memory testing/initialisation below 1Mb complete. Going to adjust displayed memory size for relocation/ shadow. |
|
51 |
Memory size display adjusted due to relocation/ shadow. Memory test above 1Mb to follow. |
|
52 |
Memory testing/initialisation above 1Mb complete. Going to save memory size information. |
|
53 |
Memory size information is saved. CPU registers are saved. Going to enter real mode. |
|
54 |
Shutdown successful, CPU in real mode, disable gate A20 line next. |
|
57 |
A20 address line disable successful. Going to adjust memory size depending on relocation/shadow. |
|
58 |
Memory size adjusted for relocation/shadow. Going to clear Hit <DEL> message. |
|
59 |
Hit <DEL> message cleared. <WAIT...> message displayed. About to start DMA and interrupt controller test. |
|
60 |
DMA page register test passed. About to go for DMA #1 base register test. |
|
62 |
DMA #1 base register test passed. About to go for DMA #2 base register test. |
|
65 |
DMA #2 base register test passed. About to program DMA unit 1 and 2. |
|
66 |
DMA unit 1 and 2 programming over. About to initialize 8259 interrupt controller. |
|
67 |
8259 initialization over. About to start keyboard test. |
|
F4 |
Extended NMI sources enabling is in progress (EISA). |
|
80 |
Keyboard test started. Clear output buffer; check for stuck key; issue reset keyboard command next. |
|
81 |
Keyboard reset error/stuck key found. About to issue keyboard controller interface test command. |
|
82 |
Keyboard controller interface test over. About to write command byte and init circular buffer. |
|
83 |
Command byte written; global data init done; check for lock-key next. |
|
84 |
Lock-key checking over. About to check for memory size mismatch with CMOS. |
|
85 |
Memory size check done. About to display soft error and check for password or bypass setup. |
|
86 |
Password checked. About to do programming before setup. |
|
87 |
Programming before setup complete. Uncompress SETUP code and execute CMOS setup. |
|
88 |
Returned from CMOS setup and screen is cleared. About to do programming after setup. |
|
89 |
Programming after setup complete. Going to display power on screen message. |
|
8B |
First screen msg displayed. <WAIT...> message displayed. About to do Main/Video BIOS shadow. |
|
8C |
Main and Video BIOS shadow successful. Setup options programming after CMOS setup about to start. |
|
8D |
Setup options are programmed; mouse check and init next. |
|
8E |
Mouse check and initialisation complete. Going for hard disk controller reset. |
|
8F |
Hard disk controller reset done. Floppy setup to be done next. |
|
91 |
Floppy setup complete. Hard disk setup to be done next. |
|
94 |
Hard disk setup complete. Going to set base and extended memory size. |
|
96 |
Memory size adjusted due to mouse support, hard disk type 47; any init before C800, optional ROM control next. |
|
97 |
Init before C800 optional ROM control is over. Optional ROM check and control next. |
|
98 |
Optional ROM control done. About to give control for any required processing after optional ROM returns control next. |
|
99 |
Any initialization required after optional ROM test over. Going to setup timer data area and printer base address. |
|
9A |
Return after setting timer and printer base address. Going to set the RS-232 base address. |
|
9B |
Returned after RS-232 base address. Going to do any initialization before coprocessor test. |
|
9C |
Required initialization before co-processor is over. Going to initialize the coprocessor next. |
|
9D |
Coprocessor initialized. Going to do any initialization after coprocessor test. |
|
9E |
Init after coprocessor test complete. Going to check extd keyboard; keyboard ID and NumLock. |
|
9F |
Extd keyboard check is done; ID flag set; NumLock on/off, issue keyboard ID command next. |
|
A0 |
Keyboard ID command issued. Keyboard ID flag to be reset. |
|
A1 |
Keyboard ID flag reset. Cache memory test to follow. |
|
A2 |
Cache memory test over. Going to display any soft errors. |
|
A3 |
Soft error display complete. Going to set the keyboard typematic rate. |
|
A4 |
Keyboard typematic rate set. Going to program memory wait states. |
|
A5 |
Memory wait states programming over. Going to clear the screen and enable parity/NMI. |
|
A7 |
NMI and parity enabled. Going to do any initialization required before giving control to optional ROM at E000 next. |
|
A8 |
Initialization before E000 ROM control over. E000 ROM to get control next. |
|
A9 |
Returned from E000 ROM control. Going to do init required. |
|
AA |
Init after E000 optional ROM control is over. Going to display the system configuration. |
|
B0 |
System configuration is displayed. Going to uncompress SETUP code for hot-key setup. |
|
B1 |
Uncompressing of SETUP code is complete. Going to copy any code to specific area. |
|
00 |
Copying of code to specific area done. Going to give control to INT 19h boot loader. |