Microid Research/Mr. BIOS Post Procedures
 Reset   See if warm boot (Ctrl+Alt+Del) or a cold boot (Reset) is needed 
 Chipset Initialization   Reset the support chips (8259) DMA's and timers to defaults before proceeding 
 Disable Chips   Disable NMI, DMA and Video (6845) to get accurate results later.  Failure here is normally a NMI generated by one of these disabled chips 
 ROM BIOS Checksum   Perform checksum test on the ROM BIOS.   Add a preset value stored in BIOS to create a value of 00 
 DMA Test   Perform a test of the page registers in the DMA controller 
 Keyboard Controller Test   Send a command to the 8042 keyboard controller to perform a selftest.  The keyboard controller will return a buffer and error buffer address 
 Chipset Initialization   Initialize the DMA (8237), PIC (8259), PIT (8254) and RTC chips 
 DMA Test   Test the registers of the master 16-bit and slave 8-bit DMA controllers by writing bit patterns and reading the results 
 Cache and Shadow Disable   Disable cache and shadow RAM before proceeding with POST 
 Refresh   Test interval in which PIT (8254) chip sends a refresh signal to the DMA chips 
 Base 64K Memory Test   Test the first 64K of system memory with a walking bit pattern 
 PIC Test   Test the mask registers of the master and slave interrupt controllers by setting the mask-bit in the registers and generating an interrupt to see if the interrupt is trapped.  Then test the additional registers in the PIC's with a walking bit pattern 
 PIT Test   Test the interrupt timer channels 0-2 and initialize if no failures occur 
 RTC   Perform a read/write test of RTC portion of the CMOS and initialize the RTC if no failures occur 
 Video   Test and initialize the video adapter, which will perform an internal diagnostic and sign on before returning an OK status 
 CMOS Checksum   Perform a checksum on the system RAM 
 Keyboard Initialization   Initialize the keyboard and read the buffer address for errors 
OEM Specific Post Procedures
 Base Memory Test   Test memory addresses between 64K and 640K with a walking bit pattern.  There may be a hex display of the failing bit 
 Keyboard 2nd Interrupt   Tries again if the first attempt failed 
 Protected Mode Test   Test the ability of the keyboard controller address line 20 to respond to commands that switch the CPU in and out of protected mode 
 Extended Memory Test   Test addresses above 1MB in 64K blocks and perform pattern tests 
 OEM Memory   Normally test the cache controller and shadow RAM 
 RTC Time Test   Test the write active line of the CPU through I/O ports reserved for RS232 devices.  Failure to see a device could be the device itself or more than one set of the same port.  Checks are only made for two devices 
 Parallel;   Check for parallel devices.   Failure to see a device could be the device itself or more than one using the same port.  Checks are only made for three 
 NPU Test   Perform a register test on the NPU then initialize if passed 
 Floppy Test   Test floppy controller and drive 
 Fixed Disk   Test fixed disk controller and drive and compare the results against the CMOS setting.  This is skipped if no drive is installed 
 CMOS Update   Update information in CMOS RAM based on the previous results 
Microid Research/Mr. BIOS Non-Fatal Errors
 Lock Check   Check if a system lock-byte is set and wait for user response if an error is generated.  Check the panel lock or circuitry 
 Numlock/Password/Setup   Set Numlock on (if set) and ask for password (if set) and display setup message 
 Typematic Rate   Set the typematic rate 
 Floppy Disk   Perform any further initialization needed 
 Hard Disk   Perform any further initialization needed 
 Video Mode   Set primary video mode and display any errors found during initialization routines 
 Shadow and Cache Enable   The shadow RAM and cache are enabled 
 Adapter ROM   Initialize adapters with a ROM signature of 55AA.  Self tests will be performed by the equipment concerned before handing back control to the POST 
 Video Monitor Mode   Set the video mode based on the information in the CMOS and update the time variables from the RTC 
 Parity/NMI Enable   Enable NMI by setting bit 7 of CMOS address 41 and enable parity.  There should be no failures during this 
 Set Stack   Set the last significant byte of the stack pointer and install the shadow RAM at E000 if set by CMOS 
 Acknowledge   Acknowledge errors and set primary video mode before calling Int 19 bootloader.  Errors reported will await a keyboard repines before proceeding.  Errors beyond this point are normally software related 
Microid Research BIOS Post Codes 1.0A
 01   Chipset problem 
 02   Disable NMI and DMA 
 03   Check BIOS ROM checksum 
 04   Test DMA page register 
 05   Keyboard controller test 
 06   Initialize the RTC, 8237, 8254, and 8259 
 07   Check memory refresh 
 08   DMA master test 
 09   OEM specific test 
 0A   Test memory bank 0 
 0B   Test PIC units 
 0C   Test PIC conditions 
 0D   Initialize PIT channel 0 
 0E   Initialize PIT channel 2 
 0F   Test CMOS RAM battery 
 10   Check video ROM 
 11   Test RTC 
 12   Test keyboard controller 
 13   OEM specific test 
 14   Run memory test 
 15   Keyboard controller 
 16   OEM specific test 
 17   Test keyboard controller 
 18   Run memory test 
 19   Execute OEM memory test 
 1A   Update RTC contents 
 1B   Initialize serial ports 
 1C   Initialize parallel ports 
 1D   Test math coprocessor 
 1E   Test floppy disk 
 1F   Test hard disk 
 20   Validate CMOS contents 
 21   Check keyboard lock 
 22   Set NUM lock on keyboard 
 23   OEM specific test 
 29   Test adapter ROM's 
 2F   Call interrupt 19 boot loader 
Microid Research Contemporary BIOS Post Codes
 03   ROM BIOS checksum failure 
 04   DMA page register failure 
 05   Keyboard controller selftest failure 
 08   Memory refresh circuitry failure 
 09   Master 16-bit DMA controller failure 
 09   Slave 8-bit DMA controller failure 
 0A   Base 64K pattern test failure 
 0A   Base 64K parity circuitry failure 
 0A   Base 64K parity error 
 0A   Base 64K data bus failure 
 0A   Base 64K address bus failure 
 0A   Base 64K block access read failure 
 0A   Base 64K block access write failure 
 0B   Master 8259 failure 
 0B   Slave 8259 failure 
 0C   Master 8259 interrupt address failure 
 0C   Slave 8259 interrupt address failure 
 0C   8259 interrupt address error 
 0C   Master 8259 stuck interrupt error 
 0C   Slave 8259 stuck interrupt error 
 0C   System timer 8254 channel 0/IRQ 0 failure 
 0D   8254 channel 0, speaker detect, failure 
 0E   8254 channel 2 speaker failure 
 0E   8254 OUT2, speaker detect, failure 
 0F   CMOS RAM read/write test failure 
 0F   CMOS read/write test failure 
 0F   RTC periodic interrupt / IRQ 8 failure 
 10   Video ROM checksum failure 
 11   RTC battery discharged or CMOS contents corrupt 
 12   Keyboard controller failure 
 12   Keyboard error, stuck key 
 14   Memory parity error 
 14   I/O channel error 
 14   RAM pattern test failed 
 15   Keyboard failure or no keyboard present 
 17   A20 test failure caused by 8042 timeout 
 17   A20 gate stuck in disabled state 
 17   A20 gate stuck in asserted state 
 18   Parity circuit failure 
 19   Data bus test failure, address line test failed, block access read failure, block access read/write failure, or banks decode to same location 
 1A   Real time clock is not updating 
 1A   Real time clock settings are invalid 
 1E   Diskette CMOS configuration invalid, diskette controller failure, or diskette drive A: failure or diskette drive B: failure 
 1F   FDD CMOS configuration invalid, fixed disk C: failure, or fixed disk D: failure 
 20   Fixed disk configuration change, diskette configuration change, serial port configuration change, parallel port configuration change, video configuration change, memory configuration change, or coprocessor configuration change 
 21   System key is in locked position 
 29   Adapter ROM checksum failure 
Mr. BIOS Post Codes Version 3.4x
 00   Cold start 
 01   Initialize KBD controller, Disable CPU cache, Initialize onboard I/O chipset, Test RAM size 
 02   Disable critical I/O 
 03   Checksum the BIOS ROM 
 04   Test page register 
 05   Enable A20 gate, issue 8042 keyboard controller self test 
 06   Initialize ISA I/O 
 07   Warm initialize KBD controller & I/O chipset 
 08   Refresh toggle test 
 09   Test DMA master & slave registers 
 0A   Test first 64KB of base memory 
 0B   Test master 8259 mask, test slave 8259 mask 
 0C   Test 8259 slave, initialize interrupt vectors 00-77h, initialize keyboard buffer variables 
 0D   Test timer 0, 8254 channel 0 
 0E   Test 8254 channel 2, speaker channel 
 10   Turn on monitor, show error messages 
 11   Read and checksum the CMOS 
 12   Call video ROM initialization routines 
 13   Set 8Mhz AT-bus 
 14   Size and test memory, stuck NMI check 
 15   No keyboard and power on, retry keyboard initialization 
 16   Size and test CPU cache 
 17   Test A20 off and on gates 
 18   External memory size, stuck NMI check 
 19   System memory size, stuck NMI check 
 1A   Test RTC time 
 1B   Determine serial ports 
 1C   Determine parallel ports 
 1D   Initialize numeric coprocessor 
 1E   Determine floppy diskette drive controllers 
 1F   Determine IDE controllers 
 20   Display CMOS configuration changes 
 21   Clear screens 
 22   Set/reset numlock LED, security functions 
 23   Final onboard serial and parallel ports check 
 24   Set keyboard typematic rate 
 25   Initialize floppy controller 
 26   Initialize ATA discs 
 27   Set video mode for primary adapter` 
 28   Cyrix WB-CPU support, purge 8259 slave 
 29   Reset A20 to OFF, Install adapter ROM's 
 2A   Clear primary screen, convert RTC to system ticks, set final DOS timer variable 
 2B   Enable NMI and latch 
 2E   Fast A20, fix A20 
 2F   Purge 8259 slave, control to interrupt 19 boot 
 32   Test CPU burst 
 34   Determine 8042, set warm boot flag STS 2 
 35   Test high memory area wrap, verify A20 via F000:10 high memory area 
 37   CPU step NZ, CPUID, disable CPU features 
 38   Set 8042 pins 
 39   PCI bus 
 3A   Scan PCI bus 
 3B   Initialize PCI bus with intermediate defaults 
 3C   Initialize PCI OEM: OEM bridge 
 3D   PCI bus and Plug & Play: initialize AT slotman from AT bus CDE usage 
 3E   Find phantom CDE ROM PCI cards 
 3F   PCI bus: final fast back-to-back state 
 40   OEM post initialization, hook audio 
 41   Allocate I/O on PCI bus, logs in PCI-IDE 
 42   Hook PCI-ATA chips 
 43   Allocate IRQ's to PCI bus, enable ATA IRQ's 
 44   Allocate and enable PCI memory/ROM space 
 45   Determine PS/2 mouse 
 46   Map IRQ's to PCI bus, enable ATA IRQ's 
 47   PCI-ROM install, note user CMOS 
 48   If setup conditions: execute setup utility 
 49   Test F000, transfer EPROM to shadow RAM 
 4A   Hook VLATA chip 
 4B   Identify and spin up all drives 
 4C   Detect secondary IRQ, if VL/AT bus IDE exists but it's IRQ not known yet 
 4D   Detect /log 32-bit I/O ATA devices 
 4E   Atapi drive M/S bitmap to shadow RAM, set interrupt 13 vector 
 4F   Finalize shadow RAM 
 50   Chain interrupt 13 
 51   Load Plug & Play, processor vector initialized, BIOS vector initialized, OEM vector initialized 
 52   Scan for Plug & Play, update Plug & Play device count 
 53   Supplement IRQ usage, AT IRQ's 
 54   Conditionally assign everything Plug & Play wants 
 58   OEM custom boot sequence just prior to interrupt 19 boot 
 59   Pass control to interrupt 19 boot 
 5A   Display MR BIOS logo 
 88   Dead motherboard and/or BIOS ROM 
 FF   BIOS POST finished