Catégories
Émulation & Virtualisation Old World

Extraire la ROM d’un vieux Mac

La ROM (Read-only me­mory ou mé­moire morte est l’un des or­ganes vi­taux des Ma­cin­toshes « Old World1 ». Gros­siè­re­ment ré­sumé, il s’agit d’une ou plu­sieurs puces de mé­moire qui contiennent les ins­truc­tions de dé­mar­rage de la ma­chine (à l’ins­tar du BIOS ap­paru à l’époque sur l’IBM PC), mais aussi et sur­tout une bonne par­tie du lo­gi­ciel Sys­tème du Ma­cin­tosh (la « Macintosh Toolbox »). Les ma­chines « New World » (à par­tir du pre­mier iMac) ont rem­placé cette « boîte à outil » en mé­moire morte par un simple fi­chier.

Les émulateurs Mini vMac, Basilisk II et dans une moindre mesure SheepShaver ont besoin du contenu de cette ROM copié dans un fichier pour émuler fidèlement les Macs de cette époque. Il fut un temps où les ayatollahs du copyright clamaient haut et fort qu’il était indispensable de posséder un exemplaire de la machine qu’on souhaitait émuler, afin de ne pas se mettre en délicatesse avec Apple, puisque les données contenues en ROM sont bien évidemment protégées par un copyright. Ce temps est à mon sens révolu, et le contenu des ROMs de machines vieilles de plus de vingt ans peut plus que légitimement être considéré comme de l’abandonware. Des archives contenant les ROMs de tous les Macintoshes « Old World » peuvent être téléchargées sur le Macintosh Garden, ou sur le Macintosh Repository.

Mais il peut être rigolo d’extraire soi-même la ROM d’un Mac que l’on possède pour l’utiliser dans un émulateur, que ce soit par sentimentalisme ou par dogmatisme… Pour ma part je penche du côté sentimental, et mes émulateurs tournent avec des ROM extraites de machines que je possède dans ma collection. Il existe à ma connaissance quatre « extracteurs de ROM » qui fonctionnent pour les Macs 68k et PPC Old World, du Macintosh 128K de 1984 aux PowerMacs G3 beiges de la fin des années 90.

L’auteur de Mini vMac propose CopyRoms, un tout petit programme sans interface qui récupère le contenu de la ROM dans un fichier. CopyRoms fonctionne en théorie sur tous les Macs 68k.

GetRom est très similaire à CopyRoms, et fonctionne aussi sur tous les Macs 68k. Il fonctionne aussi sur les Macs PPC, mais crée manifestement des fichiers incomplets.

CopyROM a l’avantage sur les précédents de montrer la somme de contrôle et la taille de la Rom avant de la copier, et propose même le luxe d’un dialogue d’enregistrement pour copier la Rom ailleurs que sur le disque où se trouve le programme. Il fonctionne sur tous les Macs 68k et PPC à partir du Système 6.0.4

ROM Grabber fonctionne de manière aléatoire sur les Macs PPC. Il m’a fait lamentablement planter plusieurs machines.

En résumé

CopyRoms pour les machines les plus anciennes, et CopyROM pour tout le reste ! La partie la plus difficile de l’exercice sera de transférer le programme sur le vieux Mac et de rapatrier la Rom copiée sur un ordinateur récent…

  1. En gros, tous les Macs de 1984 à 1998-99. L’iMac, le PowerMac G3 (Blue & White) et le PowerBook G3 (Bronze Keyboard) ou « Lombard » sont les premiers Macs « New World » sans Macintosh Tooolbox en ROM.

Parlons-en!