Wang 600 ROM Readout and Verify
Next Log Entry
Read and verify the entire ROM to determine if microcode is valid
With suspicion now firmly on the ROM being likely to have a dead bit it seemed like the time to bite the bullet and construct a ROM reader that could be used to read out any 600 (or 700) series ROM. This offers two benefits:
- verification of the entire ROM by comparison with ROM dumps that are available
- preservation of ROM contents if different models or microcode levels are encountered.
Design of ROM Reader
Reading wire ROMs is a dynamic process requiring that the address be presented and then the sense circuits be clocked in a fairly tight time frame to reset the output latches and then apply a pulse of well-defined duration to stimulate the output transformers and generate ROM data. The pulse must be long enough to generate an output but not so long as to damage the fine ROM wires by excessive current.
The minimum timing resolution was around 15nS and this is within what a mid-range PIC microcontroller can achieve. Reading 40+ bits of ROM output directly requires an unfeasible number of input bits, but the 600 series ROM has output latches that hold the ROM data between successive access cycles. The reader could therefore employ six 74HC244 8-way tristate drivers to read the ROM output in groups of 8 and reduce the requirement to 8 input bits and 3 output bits to select the drivers. Host interface is over RS232 serial with a simple protocol to read one or more locations and output the ROM data as raw hex, raw octal or in a basic text disassembly. A few jumpers were provided for configuration to enable the reader to extended later for 700 series ROMs. The entire design fitted onto a small PCB that could be manufactured quickly and cheaply at one of the Chinese volume PCB fabs.
ROM Reader Output
The ROM reader worked first time and the entire ROM was dumped.
Dead ROM Rows
Examination of the dump showed zeros at locations 85, 584, 850, 1298 and 2048.
Comparing with known ROM dumps shows that the first four locations are meant to return data. This suggests a broken ROM wire or faulty steering diode for each of these locations. Both are challenging to repair but clearly stringing new ROM wires is probably the most challenging of all!
Dead ROM Column
The entire ROM dump was then put through a frequency analysis to see the relative use of all microcode combinations. This is shown below - some fields such as AC, BC, SUB and highJAD are single-bit and so can only take values of 0 or 1. Other fields are three- or four- bit and so can take values from 0-7 or 0-F.
Inspection of the KK field shows a fault pattern, KK never returns 2 or 3, 6 or 7, A or B, E or F. That is, KK field bit 1 with binary value of 2 is always returning zero. So it appears that in addition to three dead rows, there is also one dead column in this ROM which can occur if the column sense IC is faulty. Fortunately this is not so challenging a repair and spare ICs are available.
Val AI BI ZO AOP AC BC MOP KK ST SUB JAD JAD JAD JH JL
0 1280 1256 581 1468 1319 1740 1373 1001 1533 1848 804 199 175 928 945
1 26 675 65 254 729 308 72 209 26 200 1244 108 111 842 690
2 25 4 128 65 - - 128 0 7 - - 138 119 65 77
3 208 7 445 70 - - 127 0 62 - - 100 101 82 77
4 103 47 205 33 - - 79 128 68 - - 103 135 1 180
5 62 23 138 52 - - 82 99 5 - - 106 126 124 1
6 337 35 486 106 - - 147 0 6 - - 102 144 5 17
7 7 1 0 0 - - 4 0 40 - - 98 123 1 61
8 - - - - - - 3 131 37 - - 146 117 - -
9 - - - - - - 0 107 7 - - 177 123 - -
A - - - - - - 7 0 19 - - 189 128 - -
B - - - - - - 1 0 29 - - 152 157 - -
C - - - - - - 3 216 26 - - 121 140 - -
D - - - - - - 3 157 121 - - 105 138 - -
E - - - - - - 3 0 3 - - 106 103 - -
F - - - - - - 16 0 59 - - 98 108 - -
Conclusion - Multiple ROM Faults
This looks like pretty convincing evidence that the ROM has three local faults affecting three individual locations as well as a global fault affecting a single bit of the KK field in every location.
No progress can be made towards bringing the 600 back to life until the ROM is repaired, or substituted.
The minimum order from the PCB fab house was five boards. Surplus boards and associated software are available on request, please use the Contact link above
Previous Log Entry Back to Log Index Next Log Entry