Jeff Epler's Adafruit Feather RP2040 Adapter Gets Vintage TTL Computers Talking Modern HDMI
Designed for the Xerox 820, this CircuitPython-powered display adapter provides a crisp and clear digital output from old TTL hardware.
Developer and vintage computing enthusiast Jeff Epler has penned a guide to getting a crisp and clean HDMI-compatible signal out of computers with analog video capabilities β connecting a classic Xerox 820 to modern displays using an Adafruit Feather RP2040 and CircuitPython.
"There are a zillion vintage computers out there, and most of them are designed to connect to CRTs [Cathode Ray Tube displays]," Epler explains of the problem his project seeks to solve. "Just before the arrival of the IBM PC, Xerox created the 'Xerox 820 Information Processor.' In 2023, I was at an estate sale where I bought a complete system and four additional CPU boards. I'd like my additional CPU boards to be usable, but in order to be usable as CP/M computers they need power, a display, keyboard, and a floppy drive."
The Xerox 820, an eight-bit machine launched in 1981 and designed to run Digital's CP/M 2.2 on a Zilog Z80 processor running at 2.5MHz, predates most modern display standards. Its only video output is a monochrome transistor-transistor logic (TTL) signal designed for use with analog CRT monitors and entirely incompatible with any port you're likely to find on modern monitors, meaning the only way to get those spare CPU boards up and running is to find a similarly-vintage TTL display or convert it into something more modern.
Epler's project takes the latter approach, feeding the TTL signal from the Xerox β the documentation for which details a 560Γ240 active display area β to an Adafruit Feather RP2040 with DVI Output Port, a microcontroller board that is built around the Raspberry Pi RP2040 dual-core chip but with the added bonus of an uncertified-but-compatible HDMI display connector at one end.
Programmed in a mixture of CircuitPython and Arm assembly, Epler's adapter uses the RP2040's Programmable Input/Output (PIO) blocks to set up state machines capable of reading the incoming video signals and finding set pixels β aided by the Xerox 820's monochrome nature, meaning a given pixel is either on or off rather than having multiple possible color values. This map of the display is then used to create a digital clone that is rendered and output over the HDMI connector to a modern monitor or TV.
Epler has written up the project on the Adafruit Learn portal; "with further work," he suggests, "these techniques may be applicable to other vintage computers as well."