Supercon 2023 : construire l'Apple IIe ultime, des décennies plus tard

L'Apple II a été lancé en 1977, il y a 47 ans. L'Apple IIe est sorti six ans plus tard, avec un niveau d'intégration plus élevé et une multitude de nouvelles fonctionnalités utiles. Apple a finalement mis fin à la production de toute la gamme Apple II en 1993, mais ce n'était pas la fin. Les gens aiment [James Lewis] riffent encore sur la plateforme à ce jour. Mieux encore, il est venu à la Supercon 2023 pour nous parler de ses efforts !

[James]L'exposé de porte sur la construction du Mega IIe, une machine portable de sa propre conception. Comme son nom l'indique, le projet était basé sur la puce Mega II, un ASIC pour lequel il disposait de peu de documentation. Mais il n'allait pas laisser un petit détail comme celui-là l'arrêter.

Le parcours de construction du Mega IIe n’était pas censé être long ou ardu ; le plan initial était de « simplement câbler cette puce » comme [James] le met. Les choses sont rarement aussi simples, mais il a néanmoins persévéré et a tout appris sur l'architecture Apple II en cours de route.

Tout simplement méga

Pour ceux qui ne le connaissent pas, le Mega II contenait la plupart des Apple IIe, mais condensés pour tenir sur un seul ASIC à 84 broches. Il est apparu pour la première fois en 1986 et a été utilisé dans l'Apple IIGS. La puce Mega II ne contient pas de processeur, mais contient une grande partie du matériel de support qui fait de l'Apple IIe ce qu'elle est. L'IOU, la MMU, les ROM vidéo et clavier, ainsi que le contrôleur clavier et souris sont tous là.

[James] a commencé son travail avec des maquettes et de nombreux flywires.

En théorie, vous pourriez le connecter à un processeur, de la RAM et une ROM, et vous auriez un Apple II. Cela semblait juste pour [James], mais comme il le découvrira bientôt, la réalité est plus compliquée. Si une véritable documentation avait été disponible, il aurait pu l'apprendre plus tôt, mais il volait à l'aveugle et s'y tenait quand même.

[James]Le discours commence par dissiper certains mythes. La première est que le Mega II est un Apple II monopuce. Sa propre construction montre clairement que ce n'est pas le cas. Au-delà de cela, il note également que l'Apple IIGS n'a pas utilisé le Mega II pour des raisons de compatibilité ascendante. Il était plutôt utilisé comme contrôleur de mémoire et pour travailler avec les modes vidéo classiques d'Apple II et les slots d'extension. Il déclare également que la puce « Gemini » de la carte Macintosh LC Apple II n'est pas une Mega II, sur la base de différences significatives dans les registres et la conception générale. Il voulait également vérifier une rumeur selon laquelle la puce n'était jamais terminée, c'est pourquoi elle n'était utilisée que comme contrôleur de base dans l'Apple IIGS. Pour comprendre cela, il voulait prouver que l'on pouvait construire un Apple II fonctionnel en utilisant la puce Mega II récupérée de l'IIGS.

Faire fonctionner la séquence de démarrage était un défi.

Les premiers travaux se sont bien déroulés. Après avoir monté une carte de base avec la Mega II et le matériel nécessaire, [James] a réussi à faire fonctionner un mode vidéo texte. Cela a craché beaucoup de charabia, mais c'était la preuve que quelque chose se passait. La chaîne « Apple ][” even appeared in the output!

It wasn’t smooth sailing from there, though. Months of debugging ensued, with a logic analyzer showing the “computer” he’d built was making seemingly random jumps all over the place rather than going through a normal boot process. He suspected it was because the chip wasn’t finished, but that wasn’t the case. Eventually, a friend suggested he check if one of the data bus lines was stuck. It turned out a stuck wire fragment on a solder pad was causing all of his problems. With that fixed, he made a huge leap forward. He saw the message appear—”KERNEL OK”. Success!

However, he still wasn’t at a prompt. He was stuck in a test routine, and didn’t have a fully fledged computer. Nonetheless, he knew this meant he was on the right path. If the test routine was behaving appropriately, it suggested the Mega II really did have most of an Apple II living inside it.

From there, the talk goes through the arduous work required to get this thing fully operational. He faced crash after crash as he tried to get a full boot to happen. Once he got that far, he had to try and go from a rat’s nest of wires and breadboards to something that wouldn’t fall apart every time he breathed on it. His final design has some neat features—like the way he built his own motherboard with a connector that let him plug his logic analyzer right in with a single connector.

Revision 2 used a multi-board design with headers used as backplane connectors.

By revision 2, he had the thing built up on a bunch of PCBs with header connectors, and it was even booting from floppy disks. The amount of work it took to get even this far was phenomenal. [James] Il n'a pas seulement dû fabriquer une carte mère, il a dû faire toutes sortes de travaux pour donner à l'appareil une interface clavier fonctionnelle et la possibilité de lire des disquettes. À ce stade, il avait réalisé que la prétendue solution à puce unique qu'était le Mega II était tout sauf. Au-delà de la RAM, de la ROM et d'un processeur, il fallait également un autre ASIC personnalisé appelé SlotMaker et un contrôleur de clavier. Cette puce est destinée à gérer les slots d'extension, mais elle gère également un signal important pour le clavier qui le rend essentiel au bon fonctionnement de l'ordinateur. Des trucs vraiment frustrants. D'autres travaux consistaient à produire une sortie vidéo sur VGA et à créer une carte son fonctionnelle.

La carte de révision 3 était soignée et compacte.

Sa troisième révision impliquait de consolider sa solution multi-PCB en un ordinateur fonctionnel sur un seul PCB. Quelques erreurs sont survenues dans la conception de la planche, mais cela n'a pas suffi à arrêter [James]. Avec un peu de créativité, il a rendu la chose opérationnelle. Il avait réussi à construire un ordinateur fonctionnel basé sur l'ASIC Mega II.

Il n'a peut-être pas été le premier à transformer un Mega II en un ordinateur fonctionnel ; [James] admet que le prototype du Tiger Learning Computer de Tiger Electronics sert d'exemple existant démontrant que le Mega II était utilisable comme une machine à part entière. Mais il a réussi à le faire sans aucune assistance ni documentation d’Apple. Ce n'est pas une mince affaire.

Il fera même tourner Prince of Persia !

En regardant l'exposé, il est facile de comprendre pourquoi le projet a pris [James] plusieurs années à réaliser. C'est toujours agréable de voir quelqu'un se fixer un objectif difficile et le mener jusqu'au bout. C'est aussi génial ça [James] a pu nous en apprendre beaucoup plus sur le Mega II que nous n'avions jamais connu auparavant. C'est digne d'être célébré !

François Zipponi
Je suis François Zipponi, éditorialiste pour le site 10-raisons.fr. J'ai commencé ma carrière de journaliste en 2004, et j'ai travaillé pour plusieurs médias français, dont le Monde et Libération. En 2016, j'ai rejoint 10-raisons.fr, un site innovant proposant des articles sous la forme « 10 raisons de... ». En tant qu'éditorialiste, je me suis engagé à fournir un contenu original et pertinent, abordant des sujets variés tels que la politique, l'économie, les sciences, l'histoire, etc. Je m'efforce de toujours traiter les sujets de façon objective et impartiale. Mes articles sont régulièrement partagés sur les réseaux sociaux et j'interviens dans des conférences et des tables rondes autour des thèmes abordés sur 10-raisons.fr.