Coup de projecteur rétro: Jeri Ellsworth et l‘ordinateur FPGA

illustrations illustrations illustrations illustrations illustrations illustrations illustrations
post-thumb

Publié le 7 mars 2024 par Andrew Owen (9 minutes)

Jeri Ellsworth fête ses 50 ans cette année. Son premier emploi consistait à construire des voitures et à participer à des courses, mais en 2002, elle a donné le coup d’envoi de la révolution des ordinateurs FPGA avec le C-One. Depuis 2012, elle travaille sur la réalité augmentée (AR) chez Valve, castAR et maintenant Tilt Five. À peu près au même moment où elle travaillait sur le C-One, je travaillais sur un Timex Sinclair 2068 amélioré. Les projets ont convergé en 2011, mais j’y reviendrai. Tout d’abord, une explication rapide de ce qu’est un FPGA et de ce qu’il n’est pas.

Les réseaux de portes étaient une approche de la conception de circuits intégrés spécifiques à une application (ASIC). Les interconnexions étaient ajoutées à des couches préfabriquées de portes logiques non engagées pendant la fabrication. Il existait plusieurs technologies concurrentes. Mais au départ, Ferranti a dominé le marché avec son réseau logique non engagé (ULA). En 1982, cela a permis de réduire la quasi-totalité du circuit logique de l’ordinateur ZX80 à une seule puce. Le suivant, le Timex Sinclair 1000, était un précurseur des systèmes sur puce (SoC) modernes, composé de seulement quatre puces: CPU, RAM, ROM et ULA. Pour plus de détails sur l’ULA et les premières conceptions de micro-ordinateurs, je recommande l’ouvrage de Chris Smith “How to Design a Microcomputer” (divulgation complète: j’ai édité le livre).

L’inconvénient du réseau de portes est qu’une fois fabriqué, son comportement ne peut être modifié. Mais d’autres entreprises développaient des dispositifs qui pouvaient être reconfigurés. Il s’agit notamment des réseaux logiques programmables (PAL), des dispositifs logiques programmables complexes (CPLD) et des réseaux de portes programmables sur le terrain (FPGA). D’un point de vue simpliste, la principale différence entre ces technologies est le nombre de portes logiques disponibles. Au tournant du siècle, les FPGA disposaient de suffisamment de portes pour recréer complètement un ordinateur aussi complexe que le Commodore 64 (le premier ordinateur de Jeri), comme l’ULA l’avait fait auparavant pour le ZX80.

Il ne s’agit pas d’émulation. Au sens strict, un émulateur est un outil qui permet à un système hôte d’exécuter un logiciel conçu pour un système différent. Avec une recréation FPGA d’un ordinateur existant, il n’y a pas d’hôte. Mais la frontière devient floue avec les dispositifs FPGA qui utilisent un SoC ARM fonctionnant sous Linux pour gérer les E/S du système.

Revenons à Jeri. Enfant, elle démontait tous ses jouets pour en comprendre le fonctionnement. Son père monoparental a donc cessé de les acheter et a préféré collectionner les appareils électroniques cassés. Elle a réquisitionné le kit électronique de son frère et a rapidement créé sa propre station de radio pirate. Elle s’est également lancée dans le phone phreaking. Son père lui a appris à réparer des voitures pour qu’elle puisse travailler à la station-service qu’il possédait. Mais comme il ne voulait pas qu’elle se blesse, elle a échangé son travail contre des cours de soudure dans un atelier d’usinage afin de pouvoir construire sa première voiture de course. Elle a trouvé un livre sur les réglages de course et a fini par harceler l’une des références au point qu’il l’a invitée à passer une semaine avec lui et sa femme pour lui enseigner tout ce qu’elle devait savoir sur la course. Parmi les conseils les plus importants, il y a celui qui dit: “Si ce n’est pas dans le manuel, c’est dans le manuel: “Si ce n’est pas dans le règlement, c’est légal”.

L’électronique est restée sa véritable vocation et, pendant sa carrière de pilote au début des années 1990, elle a construit un système de contrôle de la traction basé sur un microprocesseur 6502. Bientôt, elle domine les courses et gagne suffisamment d’argent en participant à des courses et en vendant des châssis pour pouvoir abandonner l’école secondaire. Mais lorsqu’un camarade de classe l’a initiée à la construction de PC, elle a décidé qu’il s’agissait là d’un moyen beaucoup plus facile de gagner de l’argent. Après avoir lancé son entreprise, elle a été renvoyée parce qu’elle était une gothique grossière (elle est redevenue elle-même après avoir appris ce qu’est la relativité). Elle a créé un magasin concurrent et a mis son ancien partenaire en faillite en un an. Il s’est étendu à cinq magasins, mais l’internet a rendu difficile la réalisation de bénéfices. Deux des magasins ont fermé, et elle en a donné trois aux employés, dont l’un était encore en activité en 2023.

C’est à cette époque que les FPGA sont devenus accessibles à tous et qu’elle a commencé à concevoir des cartes et à faire de l’ingénierie inverse sur de vieilles pièces de Commodore pour le plaisir. Ses amis et sa famille lui ont conseillé de retourner à l’école. Au lieu de cela, elle a essayé de trouver un emploi dans la Silicon Valley. Bien qu’elle ait obtenu de nombreux entretiens, ceux-ci ont été interrompus lorsqu’elle a révélé qu’elle avait abandonné l’école secondaire. Elle a fini par travailler dans un magasin d’électronique de l’Oregon pour le salaire minimum. Mais elle a finalement eu une chance lorsque, un autre entretien s’étant terminé prématurément, elle a rencontré le fondateur en sortant. Il a immédiatement organisé un entretien avec un jury et elle a obtenu le poste. C’est à cette époque qu’elle a commencé à faire de la rétro-ingénierie sur le Commodore 64 en FPGA.

Ce travail a abouti au C-One, vendu par Individual Computers en Allemagne à partir de 2002. Conçu à l’origine comme un Commodore 64 amélioré, il est devenu le premier ordinateur reconfigurable disponible sur le marché. Pendant la durée de vie de la machine, de nouveaux cœurs ont été ajoutés, notamment pour l’Amiga, l’Amstrad CPC, le VIC-20 et, en 2011, le ZX Spectrum. Ce dernier était un portage du noyau ZX-One d’Alessandro Dorigatti pour le Turbo Chameleon 64, une cartouche FPGA pour le Commodore 64, également produite par Individual Computers. En 2009, il s’agissait de la première implémentation matérielle du système de palette que j’ai conçu pour le 2068. Plus d’informations à ce sujet dans un prochain article.
En 2003, Jeri a été contactée par un fabricant de jouets qui souhaitait intégrer un Commodore 64 dans un joystick, mais qui avait des difficultés avec l’émulation. C’est ainsi qu’elle a créé l’ASIC (son premier) utilisé dans le C64 Direct-to-TV. Le prototypage n’étant pas envisageable, ils ont opté pour un essai pilote. Un jour, Jeri a reçu un appel téléphonique furieux lui annonçant que le système ne fonctionnait pas. Elle s’est rendue en Chine pour comprendre ce qui n’allait pas et a découvert que le partenaire de fabrication avait réduit le coût de la carte. Lorsqu’ils ont remis tous les condensateurs sur la carte, celle-ci a fonctionné. À l’insu du fabricant de jouets, elle avait enterré la possibilité de transformer la carte en un véritable ordinateur. Cela aurait pu limiter la possibilité de vendre le jouet à des enfants. Mais lorsque Slashdot l’a révélé, le produit s’est vendu en une semaine et tout a été pardonné. Après avoir appris qu’elle ne travaillerait plus jamais dans l’industrie du jouet, elle a travaillé sur plusieurs autres produits, dont une machine d’arcade et l’ordinateur portable Bratz.

Mais revenons un peu en arrière. À la fin des années 1990, un fil de discussion récurrent sur le canal comp.sys.sinclair de Usenet était “créons un nouveau ZX Spectrum”. Cela ne tenait pas compte du fait que des gens en Union soviétique (Pentagon, Scorpion, etc.) et dans le bloc de l’Est (Didaktik Gama, etc.) le faisaient depuis des années. En fait, dès 1983, Timex avait amélioré l’audio et les graphiques du Spectrum avec le 2068. Mais le problème de la construction d’une nouvelle machine était le remplacement de l’ULA. Au départ, cela a été fait en logique discrète. Il existe aujourd’hui des dizaines de clones basés sur le design Harlequin de Chris Smith (inclus dans son livre), qui était un précurseur de son projet Spectrastick pour faire une version Spectrum du C64 Direct-to-TV. Mais avant le Harlequin, il y avait le SpeccyBob de Mike Wynne. Je ne me souviens plus si j’avais demandé à Mike d’ajouter le support graphique Timex ou s’il l’avait déjà fait. Il était fabriqué à partir de pièces facilement disponibles et incluait le support des disques IDE. Pendant un certain temps, il a semblé être un bon point de départ pour mon projet. Mais j’avais aussi des vues sur le Peters Plus Sprinter, qui utilisait un dispositif logique programmable (PLD) d’Altera. Mais en 2013, un groupe espagnol a créé le ZX-Uno (initialement appelé ZX One jusqu’à ce qu’ils découvrent le noyau existant), qui a entièrement mis en œuvre ma conception améliorée du 2068. Je reviendrai sur l’Uno dans un prochain article, mais il suffit de dire que, parce qu’il était open source, il a conduit à de nombreux clones, à la fois amateurs et commerciaux, jusqu’à ce que les approvisionnements de la puce Spartan 6 se soient taris.

Revenons à Jeri. Après avoir conçu des systèmes de navigation pour les fusées spatiales, elle a été engagée par Valve pour étudier et développer une plateforme de jeu qui plairait à toute la famille. C’est là qu’elle a découvert le potentiel social de la réalité augmentée. Lorsque toute l’équipe AR de Valve a été licenciée, elle a convaincu le PDG Gabe Newell de lui vendre la technologie qu’ils avaient développée pour 100 dollars et a fondé castAR. Bien qu’elle ait déjà dirigé une entreprise, elle ne se sentait pas capable d’assumer le rôle de PDG et a engagé un groupe de cadres. Les investisseurs voulaient un coup d’éclat, le PDG initial est parti et le conseil d’administration a brûlé 15 millions de dollars de capital-risque. Après l’échec de la société, le fondateur d’Atari, Nolan Bushnell, a appelé Jeri pour lui dire qu’il y avait toujours une solution et qu’elle devait être à la tête de la société. Elle a donc créé Tilt Five, racheté la technologie et s’est concentrée sur un seul produit: un système de jeu AR multijoueur qui ne donne pas mal à la tête.

Aujourd’hui, le marché est inondé de projets informatiques maison, dont beaucoup utilisent la technologie FPGA. Parmi ceux auxquels j’ai participé, citons le Commander X16, le Mega 65, le ZX-Uno et le ZXTRES. Quant à Chris Smith, il gagne sa vie en concevant des consoles rétro. Mais sans le travail de pionnier de Jeri, je ne suis pas sûr que tout cela aurait été possible. Après avoir réussi à rendre à Paul McCartney sa basse Hofner volée 50 ans plus tard, le Lost Bass Project pourrait peut-être s’intéresser à la Commodore 64 bass que Jeri a fabriquée et qui a été volée il y a quelques années.