Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierFlux principal

Un passionné a recréé l'Apple Lisa de 1983 dans un FPGA

6 mai 2026 à 11:12

Voilà un projet qui sort un peu de l'ordinaire. Un développeur a passé huit mois à réimplémenter intégralement l'Apple Lisa, l'ordinateur lancé par Apple en 1983, à l'intérieur d'un FPGA. Le résultat tourne.

Il charge le système d'exploitation Lisa OS et fait fonctionner les logiciels de l'époque comme à la sortie de la machine, sans la moindre puce d'origine. Juste une description matérielle Verilog/VHDL synthétisée sur une carte FPGA moderne.

Pour ceux qui ne suivent pas le rétro-Apple, l'Apple Lisa, c'est l'ancêtre direct du Macintosh. Premier ordinateur grand public d'Apple à intégrer une interface graphique avec souris, prévu pour les pros, mais vendu à un prix faramineux à l'époque (autour de 10 000 dollars de 1983), ce qui l'a tué commercialement avant que le Mac plus accessible vienne reprendre le flambeau l'année suivante.

Aujourd'hui, les Lisa qui marchent encore sont des objets de collection rares, surtout que les disques Twiggy d'origine étaient une catastrophe en termes de fiabilité.

Recréer la machine en FPGA permet de la faire vivoter sans dépendre de pièces qui n'existent plus, et c'est aussi un bel exercice de reverse engineering. Il faut bien bien comprendre le bus, le contrôleur graphique, les puces custom, les timings exacts, et tout retranscrire dans un langage de description matérielle.

Le développeur a documenté chaque sous-système au fil de la construction... On parle là d'un travail de fond qui ferait passer une thèse pour un travail dominical.

Le projet est documenté en vidéo. Le créateur explique chaque étape du portage, les bugs rencontrés (le Lisa avait un système de gestion mémoire inhabituel pour l'époque), et démontre l'ordinateur en train de tourner sur sa carte FPGA finale. Les fichiers du projet (sources Verilog, schémas, images de ROM) sont a priori disponibles pour les amateurs qui veulent reproduire la chose à la maison.

C'est chouette comme projet ! Le rétro-computing à coup de FPGA, c'est probablement la seule façon de garder vivantes des machines comme la Lisa pour les décennies qui viennent.

Source : YouTube

SpinalVoodoo - La 3dfx Voodoo recréée de zéro en FPGA

Par : Korben
23 mars 2026 à 08:09

Quand Nvidia a racheté 3dfx, la Voodoo est morte façon Marion Cotillard dans Batman, et tout le monde était "mui tristé"... Mais vous allez pouvoir sécher vos larmes de "crocrodiles" car un dev vient de la ressusciter... dans un FPGA (c'est une puce reprogrammable).

SpinalVoodoo, c'est 430 registres de configuration, un pipeline graphique complet et des jeux à l'ancienne qui tournent OKLM du genre Quake ou Screamer 2.

Hé oui, sur un FPGA !

Le projet de Francisco Ayala Le Brun, c'est en fait une réimplémentation complète du GPU Voodoo 1 en SpinalHDL (un langage pour décrire des circuits). Pas de l'émulation logicielle genre 86Box mais une reconstruction totale du pipeline hardware registre par registre dans une puce reprogrammable. Du coup chaque pixel sort comme sur la carte d'origine comme quand elle faisait tourner Quake en 640x480 sous Windows 95. Enfin presque...

Screamer 2 par SpinalVoodoo

Je dis "enfin presque" parce que la Voodoo original, c'est pas juste un chip qui balance des triangles. Il y a en fait quatre types de registres qui réagissent chacun différemment selon le timing. Du coup si vous changez un paramètre au mauvais moment pendant qu'un triangle traverse le pipeline, les derniers pixels du triangle A se retrouvent avec la config du triangle B. Bref, bonjour la corruption !

SpinalHDL permet donc d'encoder tout ça proprement. Chaque registre déclare son adresse, sa catégorie et son mode d'accès en une seule déclaration. Pour un projet fait en solo, c'est quand même du costaud.

D'ailleurs, le récit de débogage vaut le détour. L'auteur avait des pixels d'overlay translucides qui devenaient mystérieusement transparents. Il a d'abord soupçonné un problème de framebuffer, changé les priorités d'écriture, ajouté des chemins sans cache... et l'artefact bougeait à peine. Snif...

Et là, avec Conetrace (un outil qui trace le chemin des pixels à travers le design), il a fini par trouver le coupable : 3 micro-erreurs de précision qui, séparément, étaient quasi invisibles, mais qui ensemble foutaient le bordel sur certains pixels. Le "bug mémoire" n'en était finalement pas un. Va savoir combien de développeurs hardware se seraient arrachés les cheveux là-dessus !

Quake sur SpinalVoodoo, rendu FPGA fidèle à l'original

Côté compatibilité, la majorité du pipeline graphique est implémenté (textures, transparence, brouillard, depth buffer, dithering...) par contre, y'a pas encore de contrôleur d'affichage (pas de sortie VGA native pour le moment), pas de trilinéaire, et pas de multi-texture. Attention aussi, pas de licence spécifiée sur le repo pour le moment, ce qui est un peu dommage si vous comptez réutiliser le code.

Si vous avez suivi le mec qui a conçu sa carte mère 486 from scratch avec un FPGA Spartan II, ou la Game Bub et son FPGA pour le rétrogaming, SpinalVoodoo pousse le curseur encore plus loin. Reproduire un GPU dédié avec son pipeline fixe et ses subtilités de timing, c'est quand même pas le même délire qu'émuler un CPU.

Bref, qu'une seule personne puisse recréer un GPU complet avec les outils RTL modernes, moi je trouve ça assez foufou !

Source

❌
❌