STEP |
Video enabled ? |
ACTION |
IF ERROR |
COMMENT |
---|---|---|---|---|
1 | No | checkpoint 00 | ||
2 | No | Part 1 of CPU test. | If an error, send checkpoint 80 (hex) then halt. | |
3 | No | checkpoint 01 | ||
4 | No | Part 2 of CPU test. | If an error, send checkpoint 80 (hex) then halt. | |
5 | No | checkpoint 02 | ||
6 | No | See if 8-bit checksum of ROM is 00h. | If not 00h, send checkpoint 81 (hex) 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 0A | ||
32 | Yes | Part 2 of CPU test. | If an error, send checkpoint 82 then halt. | |
33 | Yes | checkpoint 0C | ||
34 | Yes | Display "Diagnostic ROM checksum" | ||
35 | Yes | checkpoint 0E | ||
36 | Yes | See if 8-bit checksum of ROM is 00h. | If not 00h, send checkpoint 83 (hex) then halt. | Checkpoint 83 (hex) will never occur, because this check was done earlier at step 6. |
37 | Yes | checkpoint 12 (hex) | ||
38 | Yes | Display "8253 timer channel 0" | ||
39 | Yes | checkpoint 14 (hex) | ||
40 | Yes | Quote: 'Disable the DMA controller' | ||
41 | Yes | Quote: 'Disable the speakers and enable timer 2' | ||
42 | Yes | checkpoint 16 (hex) | ||
43 | Yes | Test 8253 timer channel 0. | If an error, send checkpoint 84. | |
44 | Yes | Display "8253 timer channel 1" | ||
45 | Yes | checkpoint 18 (hex) | ||
46 | Yes | Test 8253 timer channel 1. | If an error, send checkpoint 86. | |
47 | Yes | Display "8253 timer channel 2" | ||
48 | Yes | checkpoint 1A | ||
49 | Yes | Test 8253 timer channel 2. | If an error, send checkpoint 88. | |
50 | Yes | checkpoint 1C | ||
51 | Yes | Display "8237A DMA controller" | ||
52 | Yes | checkpoint 1E | ||
53 | Yes | Test the 8237A DMA controller. checkpoint 22 will be output many times during this test. |
If an error, send checkpoint 8A then halt. | |
54 | Yes | checkpoint 24 (hex) | ||
55 | Yes | Quote: 'Init the DMA and 8253 so the DRAM will be refreshed from now on' | ||
56 | Yes | checkpoint 26 (hex) | ||
57 | Yes | Quote: 'Check if a parity error occurs even if the parity check has been disabled' | ||
58 | Yes | Parity error? | If a parity error, send checkpoint 8C. | |
59 | Yes | checkpoint 2A | ||
60 | Yes | Display "Check first 2 KB of RAM" | ||
61 | Yes | checkpoint 2E | ||
62 | Yes | Check the first 2 KB of RAM. | If an error, send checkpoint 8E then put error details on-screen, then halt the CPU. | |
... | ||||
... | ||||
... | ||||
... | ||||
... | ||||
... | ||||
... |