Dumper une ROM pour l’identifier

Récemment, j’ai trié mes barrettes de RAM et autres. Après avoir trouvé ~100 Mo de SIMM 30 broches, ~1 Go de SIMM 72 broches, ~6 Go de SDR ou ~21 Go de DDR (oui, bon), je me suis retrouvé avec un tas de barrettes. Et il a fallu deviner de quoi il s’agissait.

Ca semble idiot comme ça, mais j’avais pas mal de trucs récupérés dans des machines ou des dons. De la barrette de SGRAM en SO-DIMM pour iMac (ou Power Mac G3) en passant par des barrettes de PSRAM pour PowerBook, des barrettes de mémoire cache de niveau 2, de mémoire vidéo, etc. Après pas mal de recherches sur Google, il ne restait qu’une barrette non-identifiée. En comptant le nombre de broches, je me suis rendu compte qu’il s’agissait d’une ROM de Mac. Mais comment déterminer pour quel modèle sans marquage sur la barrette ?

La ROM dans le lecteur (après identification, spoiler)

Le ROM-inator

J’en ai déjà parlé, j’ai une ROM programmable qui peut servir à remplacer la ROM d’origine d’un Mac, avec une compatibilité 32 bits parfaite et un OS directement en ROM. Et j’avais acheté en même temps un appareil permettant de la programmer. Mais il peut aussi servir à récupérer le contenu d’une ROM, même si ce n’est pas sa fonction première. J’ai donc mis la ROM dedans et dumpé le contenu. Le résultat faisait 4 Mo (la capacité théorique de la programmable) avec le véritable contenu de la ROM dupliqué parce que je n’avais pas sélectionné la taille (je ne la connaissais pas).

Le logiciel

Maintenant, comment connaître le modèle de ROM ? La solution vient de MESS (un émulateur). Une page liste les valeurs des CRC des différentes ROM Apple (avec, en plus, les éventuels marquages qui permettent d’identifier une ROM). Le CRC32 est une valeur utilisée pour vérifier l’intégrité de la ROM, et il s’agit surtout des 4 premiers octets de la ROM. Il suffit donc d’ouvrir le fichier avec un éditeur hexadécimal quelconque et de regarder les premières valeurs.

La ROM (enfin, son contenu)

Dans mon cas, j’ai vu 97221136, soit une ROM de Macintosh SE/30 (ou de Mac II, mais elle venait bien d’un SE/30). Mission accomplie.