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.
 
An oversized TMS9918ANL integrated circuit hovers above a Texas Instruments TI-99/4A Home Computer
The TMS9918A was first used in the Texas Instruments TI-99/4A Home Computer.

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.
Raspberry Pi RP2040 acts as a TMS9918A in this prototype.
Dixon’s breadboarded prototype is based on an Adafruit Feather RP2040 with DVI Output Port. Source: hackaday.io

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.

4930021689151049727.jpg
Dixon has even replicated the rarely-used multicolor mode, where you can use any of the 15 colors in a 64×48-pixel bitmap. Source: hackaday.io

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.

Subscribe
Tag alert: Subscribe to the tag RP2040 and you will receive an e-mail as soon as a new item about it is published on our website!