Raspberry Pi RP2040 Emulates Vintage Video Processor
A Raspberry Pi RP2040 is now a TMS9918A
Developer and retro computing enthusiast Shiela Dixon is ambitiously melding old and new tech. Her project involves making a Raspberry Pi RP2040 microcontroller emulate the Texas Instruments TMS9918A video display processor, as was used first in the Texas Instruments TI-99/4A Home Computer, and later on the MSX platform.Lose the Low-Quality Composite Video
The twist? No composite video output, but, because the prototype is based on the Adafruit Feather RP2040 with DVI, it outputs a modern DVI-over-HDMI video output.Engineering Challenges
Dixon, a seasoned user of the TMS9918A chip, knew its limitations and targeted some improvements. She visualized a module capable of accepting USB keyboard input and managing the serial output. As challenging as the task is, Dixon manages to use the Raspberry Pi RP2040 to emulate the TMS9918A, plus incorporate the DVI enhancement.She had no difficulty activating the 40-column text mode. With the TMS chip’s limited resolution (256×192 pixels), there was sufficient room within a 320×240 display with 8-bit color. After this initial success, Dixon added TMS Graphics Mode 1, offering a bit more pixel and color diversity than text mode.
However, Graphics Mode 2 posed a significant challenge. This bitmap mode supports a 15-color palette with two pixel colors selectable per 8×1 block. Certain registers in this mode behaved unpredictably!
Dixon’s prototype now supports text and both graphics modes, and can connect a USB keyboard to a serial console. Moreover, she has designed a board to house these features in a module for her RC2014 modular Z80 computer. This new board includes additional logic and the ability to read the TMS9918A status register, which is essential for running demos.
Follow the Project
For those interested in this fascinating blend of vintage and modern tech, visit the project's Hackaday.io page for Dixon's detailed project log.