Un Raspberry Pi RP2040 devient un TMS9918A


Shiela Dixon, développeuse et passionnée d'informatique rétro, a l'ambition de faire fusionner l'ancienne et la nouvelle technologie. Son projet consiste à faire en sorte qu'un microcontrôleur Raspberry Pi RP2040 émule le processeur d'affichage vidéo Texas Instruments TMS9918A, utilisé tout d'abord dans l'ordinateur domestique Texas Instruments TI-99/4A, puis sur la plateforme MSX.
 
Un circuit intégré TMS9918ANL surdimensionné plane au-dessus d'un ordinateur domestique TI-99/4A de Texas Instruments.
Le TMS9918A a été utilisé pour la première fois dans l'ordinateur domestique TI-99/4A de Texas Instruments.

Oubliez la vidéo composite de mauvaise qualité


L'astuce ? Pas de sortie vidéo composite, mais, parce que le prototype est basé sur le Adafruit Feather RP2040 avec DVI, il fournit une sortie vidéo moderne DVI-sur-HDMI.
 
Le Raspberry Pi RP2040 fait office de TMS9918A dans ce prototype.
Le prototype de Dixon est basé sur Adafruit Feather RP2040 avec un port de sortie DVI. Source : hackaday.io

Défis techniques


Dixon, une utilisatrice expérimentée de la puce TMS9918A, connaissait ses limites et visait quelques améliorations. Elle a imaginé un module capable d'accepter l'entrée d'un clavier USB et de gérer la sortie série. Malgré la difficulté de la tâche, elle a réussi à utiliser le Raspberry Pi RP2040 pour émuler le TMS9918A et incorporer l'amélioration DVI.

Elle n'a eu aucune difficulté à activer le mode texte à 40 colonnes. Avec la résolution limitée de la puce TMS (256×192 pixels), il y avait suffisamment de place pour un affichage 320×240 avec des couleurs 8 bits. Après ce succès initial, Dixon a ajouté le mode graphique 1 du TMS, offrant un peu plus de diversité de pixels et de couleurs que le mode texte.

Cependant, le mode graphique 2 a posé un défi de taille. Ce mode bitmap prend en charge une palette de 15 couleurs avec deux couleurs de pixels sélectionnables par bloc 8×1. Certains registres de ce mode se comportaient de manière imprévisible !

Le prototype de Dixon prend désormais en charge le texte et les deux modes graphiques, et peut connecter un clavier USB à une console série. De plus, elle a conçu une carte pour intégrer ces fonctions dans un module pour son ordinateur modulaire Z80 RC2014. Cette nouvelle carte comprend une logique supplémentaire et la possibilité de lire le registre d'état du TMS9918A, ce qui est essentiel pour exécuter des démonstrations.
 
4930021689151049727.jpg
Dixon a même reproduit le mode multicolore rarement utilisé, qui permet d'utiliser n'importe laquelle des 15 couleurs d'une image bitmap de 64×48 pixels. Source : hackaday.io

Suivez le projet

Pour ceux qui s'intéressent à ce fascinant mélange de technologie vintage et moderne, visitez la page Hackaday.io du projet pour consulter le journal de bord détaillé de Dixon.