Diagnostic Board - Nakazoto/CenturionComputer GitHub Wiki
Diagnostic Board
The diagnostic board is a custom board built by Centurion technicians to make troubleshooting systems on site easier. It was designed to be compatible with CPU5 and CPU6 systems, as well as be capable of being expanded for future CPU7+ systems. However, the company went bankrupt before any further revisions could me made. As such, only one revision exists. The board documented here is serial number P02. All of the test code is stored in the four ROMs in the sockets. See the ROM Backups page or scroll to the bottom for copies of the ROM data.
Right click and "Save As..." or "Open Image in New Tab" for full resolution.
Diagnostic Tests
The Diagnostic Board features up to 16 tests, though we have only been able to confirm operation of 13 of these. The Diagnostic board features two hexadecimal LED displays to display the current test selected, error codes, or indicate a pass/fail condition. The four decimal points on the hexadecimal displays give information about the test.
-
Bottom Right only: Test running
-
Bottom Left and Bottom Right: Test passed
-
Top Right and Bottom Right: Test failed
To initiate a test, use the DIP switch to select the test, then press the button below the DIP switch.
Test | Notes | |
---|---|---|
00 | Blank | |
01 | DMA Register Read/Write Test | |
02 | Basic Memory Test | Writes corresponding address value to memory location |
03 | DMA Related Test? | |
04 | MUX Transmit Test | Continuously write U on terminal |
05 | MUX Receive Test | Echoes back whatever is typed and shows parity errors on hexadecimal display |
06 | MUX Receive Interrupt Test | Same as Test 05 but utilizes daisy chain interrupt, card must be placed next to CPU card |
07 | Hawk Drive Test | |
08 | Hawk Drive Seek Test | Seeks up through the tracks in powers of 2 before doing an RTZ and repeating |
09 | Hawk Drive Read Test | Seeks up through the tracks in powers of 2, reading and checking for errors |
0A | TOS - Test Operating System | Click here for more details |
0B | Copy of Bootstrap ROM | Only includes support for Hawk and Finch drives |
0C | DIAG Board Self Test | 1C if checksum fails, 2C if RAM fails, all LEDs on if passes |
0D | Auxiliary Tests | See below for more details |
0E | Blank? | |
0F | Blank? |
Test 0D - Auxiliary Tests
These are higher level tests that are displayed in a Menu on the data terminal and selected/run using the keyboard. The Auxiliary Tests also use the hexadecimal displays to indicate pass/fail or show specific hex values, however they are used slightly differently than the previous tests.
-
Top Left and Bottom Right: Test running
-
Top Left, Bottom Left and Bottom Right: Test passed
-
Top Left, Top Right and Bottom Right: Test failed
Test | Notes | |
---|---|---|
01 | CUP Instruction Test | |
02 | CPU-6 Mapping RAM Test | Test may need to be run for a very long time |
03 | ROM Self Test | |
04 | CMD AUX Memory Test | |
05 | CMD Seek Test | |
06 | CMD Read Test | |
07 | Floppy Command Buffer Test | |
08 | Floppy Seek Test | |
09 | Floppy Read Test | |
0A | ROM Self Test | |
0B | 01133 CMD AUX Memory Test | |
0C | 01133 CMD Seek Test | |
0D | 01133 CMD Read Test | |
0E | Finch AUX Memory Test | |
0F | Finch Seek Test | |
10 | Finch Read Test | |
11 | ROM Self Test |
Schematic
This schematic was reverse engineered by tracing out each individual line on the board itself. We are fairly confident it is mostly correct, but there could be errors still present.
Logic Design
Here is an in-depth logic diagram for the "wait state" logic. In short, the clock speed of the computer is 5MHz, which updates every 200ns. However, the PROMs on the DIAG board require 450ns before data is ready. Pins 6, 7, and 8 on the card edge connector have to do with informing the CPU whether the Data is ready or not.
Here is the Logisim file for download.
ROM Backups
The DIAG board has four ROMs that hold the code for the diagnostic tests as well as the Test Operating System (TOS). ROM F1 contains all the standard tests that show through the hex displays as well as TOS. ROMs F2, F3 and F4 contain all the Auxiliary Tests (0D) that are run through the terminal.
Board | Location | Virtual Address | Usage | IC | Link |
---|---|---|---|---|---|
DIAG | F1 | 0x8000 | Diagnostic and TOS | MM2716 | Link |
DIAG | F2 | 0x8800 | Auxiliary Tests | MM2716 | Link |
DIAG | F3 | 0x9000 | Auxiliary Tests | MM2716 | Link |
DIAG | F4 | 0x9800 | Auxiliary Tests | MM2716 | Link |
TOS entry point appears to be 0x8001.