CP Codes for ROM-based Systems

Source: Internet, primary source unknown. Modified by Tomáš Slavotínek.

00?CPU tested with pattern FFAA0055
01CPU 32 register tested
02BIOS ROM checksum tested
03System port 94 enabled and checked
04POS registers port 102 enabled and checked
05POS registers port 96 enabled and tested
06CMOS shutdown byte 0F tested (CMOS rolling bit test)
07CMOS extended port 74-76 enabled and tested (NVRAM rolling bit test)
08DMA and page registers tested (ports 2, 18, 1A and 1C)
09DMA initialized
0AMemory refresh tested
0B8042 keyboard controller buffers tested (ports 61 and 64)
0C8042 keyboard controller internal test (port 60)
0D8042 keyboard controller internal test continued
0E8042 keyboard controller self test error
0FMemory sized and setup
10First 512K base memory tested
11Base memory error, system halted
12Protected mode instructions tested; Keyboard commands tested
13PIC Interrupt controller 1 (master) tested
14PIC Interrupt controller 2 (slave) tested
15Initialize 120 Interrupt vectors
16Initialize 16 extended vectors
17CMOS/RTC tested; CMOS byte 0D tested
18CMOS/RTC checksum tested
19CMOS/RTC battery tested
1ACheck for soft or hard reset
1BProtected mode initialization
1CProtected mode stack set; Pointer to end of first 64K set
1DLow memory size tested in protected mode
1EMemory size information saved
1FMemory split address setup
20Check for extended memory beyond 64MB
21Test memory-address bus lines
22Clear parity error and channel lock
23Initialize interrupt 0
24Check CMOS RAM validity
25Write keyboard-controller command byte
40Check valid CMOS RAM and video system
41Display error code 160
42Test registers in both interrupt controllers
43Test interrupt controller registers
44Test interrupt mask registers
45Test NMI
46NMI error has been detected
47Test system timer 0
48Check system speaker clock
49Test system timer 0 count
4ATest system timer 1 count
4BCheck if timer interrupt occurred
4CTest timer 0 for improper operation (too fast or too slow)
4DVerify timer interrupt 0
4ECheck 8042 keyboard controller
4FCheck for soft reset
50Prepare for shutdown
51Start protected mode test
52Test memory in 64KB increments
53Check if memory test done
54Return to real mode
55Test for regular or manufacturing mode
56Disable the keyboard
57Check for keyboard self test
58Keyboard test passed
59Test the keyboard controller
5AConfigure the mouse
5BDisable the mouse
5CInitialize interrupt vectors
5DInitialize interrupt vectors
5EInitialize interrupt vectors
60Save DDNIL status
61Reset floppy drive
62Test floppy drive
63Turn floppy-drive motor off
64Set up serial ports
65Enable real time clock interrupt
66Configure floppy drives
67Configure hard drives
68Enable system CPU arbitration
69Scan for adapter ROMs
6AVerify serial and parallel ports
6BSet up equipment byte
6CSet up configuration
6DSet keyboard-typematic rate
6ECall Int. 19 boot loader

Content created and/or collected by:
Louis Ohland, Peter Wendt, William Walsh, Kevin Bowling, Jim Shorney, Tim Clarke, David Beem, Tatsuo Sunagawa, Tomáš Slavotínek, and many others.

Ardent Tool of Capitalism - MAD Edition! is maintained by Tomáš Slavotínek.
Last update: 12 Jun 2021 - Changes & Credits | Legal Info & Contact