
IBM PS/2 BIOS


POSTcode       TEST-DESCRIPTION

  00           CPU self test, FF-AA-00-55 pattern test.
  
  01           32 bit CPU register test, setup system timer.
       
  02           BIOS system ROM checksum.
  
  03           Test system enable/setup port (94h).
  
  04           Test system POS registers (port 102h enable check).
    
  05           Test adaptor setup port 96h (enable check).
   
  06           Test RTC/CMOS shutdown byte 0F (NMI disable).
  
  07           Test extended CMOS location (ports 74h - 76h test).
  
  08           Test DMA & page register channels (ports 2h, 18h, 1Ah, 1Ch).
   
  09           Initialize DMA command and mode registers.
       
  0A           Test refresh.
     
  0B           Test keyboard controller (8042) buffers (port 61h, 64h).
  
  0C           Keyboard controller (8042) self test (port 60h).
  
  0D           Continue 8042 internal test.
  
  0E           Keyboard controller (8042) error indicated (port 64h).
    
  0F           Setup system memory configuration.
  
  10           Test base memory in real mode.
                   
  11           Base memory error, system halted.
  
  12           Verify LDDT/SGDR LIDT/SIDT.
  
  13           Initialize programmable interrupt controller (8259) PIC #1.
  
  14           Initialize programmable interrupt controller PIC #2 (slave).
            
  15           Initialize vector table (A20 interrupt).
  
  16           Initialize extended vector table.
   
  17           Check battery power (CMOS byte 0D).
               
  18           Check CMOS checksum.
     
  19           Bad battery (CMOS byte 0D < 80h).
                 
  1A           Check Soft/Hard Reset, skip memory test in protected mode
               if warm reset.    
               
  1B           Protected mode initialization, prepare for shutdown.
   
  1C           Set stack for protected mode (stack pointer point to 
               end of first 64k).
               
  1D           Decide base memory size in protected mode.
  
  1E           Save memory size detected.          
  
  1F           Setup system memory split address.
  
  20           Determine memory above 640k (check for extended memory).
     
  21           Test memory address bus line.
  
  22           Clear parity error and I/O channel check (disable NMI).
  
  23           Initialize system timer (interrupt 00).
  
  24           Determine CMOS validity.
  
  25           Write keyboard controller (8042) command byte.
  
  40           Check valid CMOS and video.
               
  41           Display error code 160.
                
  42           Test PIC #1 (master) and PIC #2 (slave) registers.
         
  43           Continue PIC #1 and PIC #2 test.
  
  44           Check for NMI interrupt with NMI masked (NMI disabled).
       
  45           NMI test.
                       
  46           NMI error detected.
                
  47           Test system timer 0.
                
  48           Check speaker clock bitstuck.
  
  49           Test timer 0 (count).           
  
  4A           Test timer 2 (output).                      
  
  4B           Check if timer interrupt occurred.
  
  4C           Test timer 0 count for to fast or slow.
  
  4D           Verify timer 0 interupt.
  
  4E           Check keyboard controller (8042) buffer free 
               (ready for command).
                              
  4F           Check for soft reset.
             
  50           Prepare shutdown for protected mode.
         
  51           Enter protected mode and start protected mode test.
              
  52           Protected mode memory test (64k increments). 
         
  53           Check if memory test is complete.
  
  54           Shutdown system and return to real mode.
               
  55           Test for manufacturer or regular test loop
               (if MFG-jumper is set to loop).
               
  56           Disable keyboard.
                     
  57           Check for keyboard self test.
  
  58           Keyboard test passed, check for errors.
  
  59           Test keyboard interface.
                  
  5A           Configure and initialize mouse.
                  
  5B           Disable mouse.
       
  5C - 5E      Initialize BIOS interupt vectors.
  
  5F           Initialize BIOS data area.
                    
  60           Determine diskette rate data.
         
  61           Reset floppy disk controller (FDC).          
  
  62           Floppy drive test.
 
  63           Turn floppy motor off.
  
  64           Serial port (RS232) setup.
  
  65           Enable real time clock (RTC) interrupt.
  
  66           Configure floppy drives.
  
  67           Configure hard drives.
  
  68           Enable system CPU arbitration (initialize CPU wait states).
  
  69           Optional ROMs scan.
         
  6A           Determine and verify serial and parallel ports.
      
  6B           Setup equipment bytes.
               
  6C           Report setup configuration error.
  
  6D           Set keyboard typematic rate.
                 
  6E           Reset page register, bootup system via INT 19 bootloader.
  
***************************************************************************  
                   
  70           Reset disk (hard disk failed initialization).
  
  71           Read bootcode for E6/E9.
             
  72           Control to bootcode.
                 
  73           Jump into bootcode or ROM Basic.                
