Previous Log Entry Back to Log Index

Wang 600 ROM Emulator Next Log Entry

Microcode ROM emulated with UVEPROM

The original wire ROM requires challenging repairs, but accurate dumps of 600 series ROMs are available and later numbers of the 600 series had IC ROMs rather than wire braid.

This suggests the possibility of designing a modern replacement ROM. Such a replacement could hold multiple ROM images that could be hot-swapped to serve up ROMs for different models of machine.

The main design challenge was similar to the ROM reader - providing 42 bits of ROM output. The 600 series wire ROM board has S-R latches to capture and hold the ROM output for the duration of a microcode cycle and an emulator must do the same. A simple design was developed with six 27C256 UVEPROMs providing up to 48 bits of ROM output together with logic to tristate the EPROM outputs during the address update period and enable them for the remaining duration of each microcode cycle. This provided stable microcode data for the required duration.

A microcode image has 2048 rows and 27C256 chips can accommodate 16 sets of 2048 rows, thus the emulator can hold up to 16 distinct microcode images. A 16-position switch allows the active image to be selected. Changing this switch and pressing Prime will activate the new image. This allows alternative microcodes to be used, including newly written code e.g. for hardware testing.

An emulator of this kind offers the possibility of restoring 600 and 700 machines with faulty wire ROMs and also allows different ROM microcodes to be loaded so as to emulate different machine models.

ROM Toolchain

The ROM emulator PCB was designed for ease of routing and this led to the microcode bits being scattered throughout six EPROMs according to the output routing requirements. A software tool was written to accept binary ROM dumps or hexadecimal human-readable dumps, translate these into the correct bit distributions across six EPROMS and then write the result into Intel HEX format as used by EPROM programmers. The tool can repeat this process up to 16 times so as to pack up to 16 microcode images into one set of EPROMS.

The previously developed ROM reader with associated software can be used to extract images from real ROMs or from the emulator. Reading the wire ROM (including defects), processing the data and writing to emulator EPROM, and then reading the emulator allowed a comparison between the data initially read from the wire ROM and that returned after a full trip through the emulator. These files were indeed the same, helping to confirm that the reader and emulator were working correctly.

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