PicoROM, un émulateur ROM 8 bits DIP-32
Comme nous le savons tous, lors du développement de logiciels pour n’importe quelle plate-forme ou simplement du piratage d’un peu de code pour comprendre le fonctionnement de quelque chose, la possibilité de déployer rapidement du code est d’une grande aide. [Martin Donlon]alias [wickerwaka]est bien connu dans les cercles de rétro-ingénierie des jeux rétro et du matériel d’arcade et a eu les problèmes habituels pour comprendre comment fonctionnait une carte CPU d’arcade lors du développement d’un cœur MiSTer. Certains ASIC intéressants ont nécessité pas mal de recherches, et changer le contenu des ERPOM à socket est un processus qui demande beaucoup de travail. La solution était PicoROMun émulateur ROM bien conçu dans un format DIP-32 pratique.
Comme le titre l’indique, PicoROM est basé sur le Raspberry Pi RP2040. Il émule une ROM 8 bits d’une taille maximale de 2 Mo avec des vitesses allant jusqu’à 100 ns. Puisqu’il utilise le RP2040, la connectivité USB est simple, permettant le téléchargement rapide de nouvelles images sur une (ou plusieurs) PicoROM en quelques secondes seulement. Un connecteur USB-C orienté verticalement permet de câbler plusieurs PicoROM à l’hôte sans interférer avec le matériel voisin. Le micrologiciel exécuté sur le noyau 1 transmet les données de la SRAM interne de 264 Ko, en utilisant le bloc PIO comme interface de bus vers la cible. Une fonctionnalité intéressante du micrologiciel est l’ajout d’un mécanisme permettant d’utiliser une région ROM comme canal de contrôle bidirectionnel, que le logiciel exécuté sur la cible peut utiliser pour communiquer avec l’ordinateur hôte. Cela permet le déclenchement d’actions à distance et le reporting des réponses. Des réponses qui peuvent ne pas être physiquement observables de l’extérieur. [Martin] utilise largement cette fonctionnalité pour aider à tester la fonctionnalité de certaines puces à fonctions spéciales sur les cartes cibles, ce qui est encore un processus lent mais grandement aidé en réduisant ce temps d’itération logiciel critique. Le PCB a été conçu avec KiCAD. Les fichiers du projet ennemi qui peuvent être trouvés ici.
Ce n’est pas la première fois que nous voyons le RP2040 utilisé pour l’émulation ROM ; voici un tas de fils qui font le même travail. Ce n’est tout simplement pas aussi joli. Bien sûr, si vous devez vraiment utiliser des EPROM, vous pouvez jeter un œil à ce joli programmeur.