Vous n'avez pas été sans remarquer depuis quelques années la recrudescence de "mini-consoles" qui "émulent" nos micros 8bits favori.
Ces bidules for sympathiques sont généralement un SoC ARM (System on Chip) qui fait tourner un émulateur logiciel, ou bien un portage direct (recompilation sur ARM) des jeux d'origine.
Mais depuis quelques temps, il semble que le développement sur FPGA devienne plus facilement accessible. Qu'est-ce qu'un FPGA ?
Facile, c'est un Field-Programmable Gate Array
En gros, c'est une puce qui contient un paquet de portes logiques, et qui peut-être programmé pour les connecter comme vous le souhaitez.
Ca permet de reproduire exactement un composant existant, comme par exemple un CPU, ou dans le cas de systèmes pas trop compliqués d'un micro-ordinateur complet (CPU+RAM+ROM+IO).
Contrairement à une simple émulation logicielle, quand c'est bien fait il est difficile (impossible ?) de voir la différence avec les composants d'origine.
Voici deux projets que j'ai trouvé assez intéressants qui illustrent bien ce qu'on peut faire avec cette technologie :
Le Spectrum utilise une carte
ZX-UNO qui est relativement bon marché (+/- 70 Euros) et pour laquelle on peut trouver clé en main des émulations de toute la game Sinclair (ZX-80, ZX-81, ZX-Spectrum, ...). De plus elle est open-source, si vous préférez la construire de toutes pièces (bonne chance avec ça
).
Cette carte est assez sympa puisqu'elle comprend tout ce qu'il faut pour émuler un micro des années 80 : une sortie vidéo composite, une connexion clavier (PS/2) et joystick (Atari
), un lecteur de cartes SD, etc...
Le CPC utilise une carte de développement FPGA standard (FPGA starter-kit NEXYS2 500k-gates de Digilent), mais la page du projet donne un max de détails (tellement que j'ai pas tout compris
). Ils ont aussi
une vidéo de démonstration de presqu'une heure !
Bref, j'ai hâte de voir ce qui va être disponible d'ici quelques années quand les kits de développement FPGA vont devenir encore plus abordables