La ROM japonaise perdue du Macintosh Plus (qui ne l’est plus)

Si vous cherchez des informations sur le Macintosh Plus et sa ROM, vous verrez habituellement que la ROM a une capacité de 128 ko et qu’elle existe en trois révisions. Mais c’est faux : il existe une quatrième ROM, de 256 ko, qui intègre les polices pour les kanjis (les caractères japonais). Et j’ai trouvé (et sauvé) cette ROM.

J’avais parlé de cette ROM mystérieuse il y a quelques années. Elle est documentée chez Apple dans de vieux documents, mais sans précisions particulière. La ROM contient la polices pour les kanjis en 12 et 18 points selon Apple, et elles sont chargées au démarrage par KanjiTalk. Dans un Macintosh Plus classique, il faut une disquette avec les fichiers, ce qui ralentit le démarrage et nécessite un peu RAM, alors que dans un Macintosh Plus japonais, la police est en ROM et ne prend donc pas de RAM. On évite aussi le chargement des fichiers depuis la disquette, ce qui fait en théorie gagner 6 secondes au démarrage. C’est une estimation basse, on va le voir, vu qu’il faut intervertir les disquettes.

Quand on démarre avec une ROM occidentale, il demande la disquette avec la police 12 points

Maintenant, il restait une question : comment trouver la ROM ? Faire venir un Macintosh Plus japonais était hors de question : c’est gros et lourd, sans avoir la certitude que la ROM est la japonaise… ni même sans être certain de son existence. Parce qu’en cherchant sur Internet, on trouve ce sujet qui se pose la question de son existence, et un autre qui explique que selon ses essais – ratés, on va le voir -, la ROM japonaise a le même contenu qu’une ROM v2. Un Japonais a essayé de trouver des informations sans succès (il arrive à la conclusion que la ROM fait 128 ko et pas 256 ko). Mais cet autre site japonais indique bien une référence prise pour la ROM japonaise (342-0441-A et 342-0442-A) et celui-ci donne bien une capacité de 256 ko.

Pour résumer, personne ne savait vraiment si la ROM existait, mais il y avait pas mal d’indices tout de même. Donc j’ai persévéré. Plutôt que de chercher un Macintosh Plus, j’ai cherché une carte mère de Macintosh Plus au Japon, en espérant qu’un vendeur mette des photos permettant de lire la référence des puces. Mon premier achat a été un échec : la référence n’était pas totalement lisible mais le sticker jaune m’a induit en erreur.

Cette fois c’est la bonne.

Avec la seconde, j’avais bien la bonne référence pour les puces, et un sticker jaune (encore une fois). j’avais donc une carte mère de Macintosh Plus et sa ROM, mais pas de Macintosh Plus pour tester. La première étape a donc été de tenter de dumper la ROM (deux puces), mais sans succès au départ. J’ai utilisé un vieil appareil pour le dump et je me suis retrouvé avec deux fichiers de 64 ko, ce qui n’était pas ce que j’attendais. Mais je ne me suis pas arrêté, pour une raison simple, remarquée avec l’aide de Doc TB : le marquage sur les puces indiquait une capacité de 1 024 kilobits, soit 128 ko.

Le marquage a aidé, avec le 1024 dans la référence.

J’avais suivi les informations sur ce site qui indiquent que le Macintosh Plus peut utiliser des puces de type 27C512 qui ont une capacité de 64 ko, et je ne comprenais pas comment on pouvait avoir une ROM de 128 ko avec le brochage. Jusqu’à ce que je tombe sur une page qui donnait la raison. Sur le site de Rob Braun, il est indiqué explicitement que le Macintosh Plus a un brochage légèrement différent de celui d’une puce 27C512. Il y a une ligne d’adresse en plus qui permet d’adresser 128 ko, qui est à la place de la broche qui sert à fournir la tension de programmation, et c’est un standard du JEDEC. Comme l’emplacement dans le Macintosh Plus n’est pas prévu pour écrire une EPROM, c’est totalement transparent. Doc TB m’a encore aidé : comme il a développé un appareil qui permet d’accéder à de nombreux types de ROM et EPROM, il a pu faire un dump de mes deux puces. Avec un adaptateur classique, ce n’est pas vraiment possible directement, étant donné que c’est un brochage propriétaire. C’est l’erreur de la personne citée plus haut : le contenu de la partie basse de la ROM d’Apple (qui fait 128 ko) est identique à une ROM classique.

Les deux ROM avec le sticker jaune

Avant de continuer, je vous mets un lien vers les fichiers.

Tester la ROM japonaise

A ce moment, j’avais donc un dump de la ROM de 256 ko du Macintosh Plus japonais… et rien pour tester. Je n’avais pas de Macintosh Plus (uniquement deux cartes mères) et mes premiers essais avec un émulateur se sont soldés par un échec. La raison est simple : ils attendent une ROM connue, et en plus pas nécessairement celle du Macintosh Plus. C’est vraiment un point important à prendre en compte dans le domaine de l’émulation des Mac, car il y a de nombreux modèles et les émulateurs ne visent pas nécessairement un Mac précis mais parfois une sorte de machine qui n’existe pas, comme Basilisk ou SheepShaver. Techniquement, ils émulent plus quelque chose qui s’approche d’un clone ou d’un compatible. Mini vMac est plus adapté dans ce cas, mais il vérifie le checksum de la ROM et donc je ne peux pas démarrer avec ma ROM, étant donné qu’elle n’est pas dans la liste connue.

C’est à ce moment que j’ai demandé de l’aide. Et j’en profite pour remercier Samuel (pour le dump de la ROM), Gilles – pour le Macintosh Plus – et Doug, pour la partie logicielle.

Parlons matériel pour démarrer. Je n’avais pas de Macintosh Plus, juste une souris. Gilles m’a envoyé un Macintos Plus et un clavier (qui a décidé de ne pas fonctionner). Mais avec un adaptateur vers PS/2, j’ai pu gérer. J’avais pensé au départ employer le Floppy Emu en externe, mais j’ai eu des résultats bizarres et c’est quand même plus sympa avec le bruit du lecteur de disquettes. J’ai donc sorti deux disquettes 3,5 pouces de 800 ko pour copier KanjiTalk 1.0 dessus. Petit truc à savoir, KanjiTalk n’aime absolument pas se retrouver sur un système en anglais : à chaque fois que j’ai mis la disquette du système dans mon Mac plus moderne (moins vieux), je n’ai pas pu redémarrer sur le Mac Plus sans refaire la disquette.

Maintenant, la partie logicielle. Premièrement, il a fallu dénicher KanjiTalk dans une vieille version. On peut (par exemple) trouver ça sur Macintosh Garden ou sur WinWorld. KanjiTalk en version 1.0 est basé sur le System 3.1 et il comprend deux disquettes. La première fait 800 ko et c’est le système lui-même. La seconde contient les polices et elle fait 400 ko (je l’ai copiée sur une disquette 800 ko sans soucis).

KanjiTalk n’est pas totalement en japonais

C’est ici que la ROM japonaise a un avantage. Le comportement classique, si vous avez un Macintosh Plus occidental, est assez long. Après une dizaine de secondes, le système demande la disquette avec les polices, pour charger la version 12 points. Après environ 6 secondes de chargement, il (re)demande la disquette du système. 5 secondes plus tard, il va charger la polices en version 18 points (13 secondes) et enfin il faut 15 secondes de plus avec la disquette du système. En changeant les disquettes rapidement, il faut tout de même plus d’une minutes (environ 1:14 dans ma vidéo) et quelques manipulations pour démarrer le Macintosh Plus.

Avec la ROM japonaise, le système charge la police 12 points depuis la ROM, et demande la disquette pour la polices 18 points après une grosse dizaine de secondes. Environ 12 secondes de chargement plus tard, il redemande la disquette système et le chargement se termine rapidement (une grosse quinzaine de secondes). On évite donc quelques manipulations et le Mac est disponible après environ 52 secondes.

Il y a aussi la possibilité de se passer totalement de la police 18 points, ce qui réduit encore le temps de chargement : environ 25 secondes. J’ai fait le test uniquement avec la ROM japonaise, parce que le changement de ROM nécessite de démonter la carte mère du Macintosh Plus et que je n’aime pas m’approcher d’un moniteur cathodique.

Une case (cochée ici) permet d’empêcher le chargement de la police 18 points

Dans tous les cas, on se retrouve avec un gain qui est même un peu supérieur à celui annoncé par Apple. Le démarrage avec la ROM japonaise permet de gagner une bonne quinzaine de secondes (et aussi environ 113 ko de RAM, ce qui n’est pas négligeable avec un Macintosh Plus qui pouvait se limiter à 1 Mo de RAM). Si on se passe de la polices 18 points, on gagne encore plus en RAM, parce qu’elle prend un peu plus de mémoire.

Les développeurs de KanjiTalk

Le cas de l’émulation

C’est une partie un rien compliquée. Par défaut, les émulateurs ne reconnaissent pas la ROM de 256 ko et ne fonctionnent donc pas. Doug, beaucoup plus aguerri que moi avec le développement, a modifié MAME pour permettre l’ajout de la ROM japonaise. Le fonctionnement est le même qu’avec un Macintosh classique : avec une ROM standard, vous aurez besoin de la disquette contenant les polices. Avec la ROM japonaise, elle ne sera nécessaire que pour la police 18 points, qui est optionnelle. Mes essais avec une version compilée manuellement ont fonctionné et les modifications nécessaires pour utiliser la ROM japonaise avec MAME devraient se retrouver rapidement dans le logiciel.

La ROM japonaise


Ca démarre


Il demande bien directement la police 18 points

Dans tous les cas, c’est un projet qui a pris du temps, m’a demandé de la persévérance et est satisfaisant d’un point de vue personnel : j’ai réussi à trouver quelque chose d’atypique, rare et pas documenté.