Reverse Engineering An Ancient SBC With An Apple ][

We spend a lot of time in our community discussing the many home computers from the 8-bit era, while almost completely ignoring their industrial equivalents. While today a designer of a machine is more likely than not to reach for a microcontroller, four decades ago they would have used a single-board computer which might have shared a lot of silicon with the one you used to play Pac Man.

[Epooch] recently came into possession of a CMS 9619A Advanced Single Board Microcomputer, a rather unique Programmable Logic Controller intended for industrial applications. It’s powered by a Motorola 6809 CPU and features the usual array of peripheral chips. To unlock its secrets he reached not for an array of tools from 2019 but for a venerable Apple ][e microcomputer.

In this type of 8-bit machine the various peripherals are enabled through address decoding logic that toggles their chip select line when a particular I/O address is called. Sometimes this task is performed by a set of 74 or similar logic chips, but in the case of the CMS 9619A it falls upon a Programmable Array Logic (PAL). These chips, which could be thought of as a simple precursor to today’s FPGAs, were ideal for creating custom decoding logic.

As you might expect though, a PAL is an opaque device, so to deduce the address map it was necessary to reverse engineer it using the Apple ][‘s printer card and a bit of BASIC code. It then remained to do some ROM disassembly work and wire up the serial ports, before some ROM patching with the Apple ][ as an EPROM programmer to finally access the machine’s debugger.

The 6809 is famous as the brains of Radio Shack’s CoCo and the Dragon computers, but this isn’t the first time we’ve seen it in an SBC.