Parent


Ruuds Diagnostic ROM  -  Breakdown  -  Version 2019-07-23


Below, 'Checkpoint' means send the specified byte (which is in hex) to I/O ports 80h, 378h, and 278h.

I/O ports 378h and 278h are parallel (printer) ports.  If you have a parallel (printer) port at either of those ports, then the device shown at here can be used to view bytes sent to the port.

WARNING:  Note that the parallel (printer) port on an MDA (monochrome) card is typically at 3BCh, and is therefore, unusable.

On an IBM 5150 or 5160, rarely does a POST card work to monitor bytes sent to I/O port 80h.  Do not expect it to work.



For version 2019-07-23

The information in the following table was sourced from file DiagROM.asm



Step
Video
enabled ?

           Action

           Comment
1 No Checkpoint 00  
2 No Part 1 of CPU test.  If an error, send checkpoint 80 then halt.  
3 No Checkpoint 01  
4 No Part 2 of CPU test.  If an error, send checkpoint 80 then halt.  
5 No Checkpoint 02  
6 No See if 8-bit checksum of ROM is 00h.  If not 00h, send checkpoint 81 then halt.  Ruuds Diagnostic ROM
7 No Checkpoint 03  
8 No Quote: 'Initialise the 8255 multi-port chip'  
9 No Quote: 'Make sure that turbo is off and disable memory parity'  
10 No Quote: 'Disable NMI interrupts'  
11 No Quote: 'Enable the expansion unit'  Extender card for IBM 5161
12 No Quote: 'Disable the CGA and MDA video system ...'  
13 Yes Quote: 'Initialise the MDA port'  
14 Yes Quote: 'Initialise the CGA port'  
15 Yes Checkpoint 04  
16 Yes Quote: 'Clear MDA screen', then 'Set the correct mode'  
17 Yes Quote: 'Clear CGA screen', then 'Set the correct mode'  
18 Yes Checkpoint 05  
19 Yes Quote: 'Make the cursor invisible for MDA'  
20 Yes Quote: 'Make the cursor invisible for CGA'  
21 Yes Checkpoint 06  
22 Yes Quote: 'Prepare the RAM for storage'  
23 Yes Checkpoint 07  
24 Yes On-screen, display the name of the program and the version.  
25 Yes Beep the speaker.  A single beep.
26 Yes Checkpoint 08  
27 Yes Display "Testing CPU"  
28 Yes Checkpoint 09  
29 Yes Part 1 of CPU test.  If an error, send checkpoint 82 then halt.  
30 Yes Checkpoint 09  
31 Yes Checkpoint 10  
32 Yes Part 2 of CPU test.  If an error, send checkpoint 82 then halt.  
33 Yes Checkpoint 12  
34 Yes Display "Diagnostic ROM checksum"  
35 Yes Checkpoint 14  
36 Yes See if 8-bit checksum of ROM is 00h.  If not 00h, send checkpoint 83 then halt.  ROM = Ruuds Diagnostic ROM
37 Yes Checkpoint 18  
38 Yes Display "8253 timer channel 0"  
39 Yes Checkpoint 20  
40 Yes Quote: 'Disable the DMA controller'  
41 Yes Quote: 'Disable the speakers and enable timer 2'  
42 Yes Checkpoint 22  
43 Yes Test 8253 timer channel 0.  
44 Yes Display "8253 timer channel 1"  
45 Yes Checkpoint 26  
46 Yes Test 8253 timer channel 1.  
  ...  
  ...  
  ...  
  ...  
  ...  
  ...  
  ...