Een Raspberry Pi RP2040 is nu een TMS9918A

Ontwikkelaar en retro computer liefhebber Shiela Dixon is vol enthousiasme over de mix van oude en nieuwe technologie. Ze gebruikt in dit project een Raspberry Pi RP2040 microcontroller als Texas Instruments TMS9918A video display processor, deze werd voor het eerst gebruikt in de Texas Instruments TI-99/4A Home Computer, en later in het MSX platform.
 
De TMS9918A is eerst gebruikt in de Texas Instruments TI-99/4A Home Computer
De TMS9918A is eerst gebruikt in de Texas Instruments TI-99/4A Home Computer.

 

Weg met de lage kwaliteit Composiet Video

De onverwachte wending? Geen composiet video uitgang, maar omdat het prototype is gebaseerd op de Adafruit Feather RP2040 met DVI, werd de uitgang, heel modern, DVI-over-HDMI video.
Dixon’s prototype op breadboard, gebaseerd op een Adafruit Feather RP2040 met DVI uitgang
Dixon’s prototype op breadboard, gebaseerd op een Adafruit Feather RP2040 met DVI uitgang. Bron:  hackaday.io


Ontwerpuitdagingen

Dixon, een ervaren gebruiker van de TMS9918A, kende de beperkingen van deze chip en streefde naar verbeteringen. Ze stelde zich een module voor die USB keyboard invoer kan verwerken en als een seriële uitvoer kan verwerken. Een uitdagende klus, maar Dixon slaagde erin de Raspberry Pi RP2040 een TMS9918A te laten emuleren, en zelfs DVI te laten genereren.
 

Ze had weinig problemen de  traditionele 40-kolommen tekst mode te implementeren. De beperkte resolutie (256×192 pixels) van de TMS chip bood voldoende ruimte voor een 320×240 display met 8-bit kleuren. Na dit succes ging Dixon verder met TMS Graphics Mode 1, dat meer pixel- en kleurenmogelijkheden bood dan alleen tekst.

 

Graphics Mode 2 stelde haar voor een grotere uitdaging. Deze bitmap mode ondersteunt een 15-kleuren palet met twee selecteerbare pixelkleuren voor elk 8×1 blok. Sommige registers bleken zich nogal onvoorspelbaar te gedragen in deze mode!

Op dit moment ondersteunt Dixon’s prototype zowel tekst als grafische modes en kan daarnaast een USB toetsenbord aan een seriële console koppelen. Ze heeft een print ontworpen al deze zaken integreert in een module voor haar RC2014 modulaire Z80 computer. Deze print heeft daarnaast logica aan boord om het TMS9918A status register uit te lezen, essentieel bij het uitvoeren van onder meer demo’s.

Raspberry Pi RP2040
Dixon heeft zelfs de weinig gebruikte multicolor mode gerepliceerd, waarbij elk van de 15 kleuren gebruikt kan worden in een 64×48-pixel bitmap. Bron:  hackaday.io


Volg dit project

Voor wie meer wil weten over de fascinerende mix van vintage en moderne technologieën, is er Dixon’s uitgebreide projectlog op haar Hackaday.io pagina.