Changer le bruit de démarrage d’un Power Mac. Quand j’ai demandé si c’était possible, on m’a dit que c’était impossible. Quand j’ai cherché sur Internet, j’ai trouvé des messages qui indiquaient que c’était impossible. Mais visiblement, Doug Brown n’a pas lu Internet et n’a demandé à personne : il a réussi. Je l’ai contacté, il m’a un peu aidé, je l’ai fait aussi.
En gros : le son de démarrage des Mac est stocké dans une ROM (avec l’Open Firmware dans les vieux modèles, l’EFI dans les récents). Doug avait déjà modifié le son de démarrage de ses vieux Mac en allant modifier directement la ROM, mais ça nécessite pas mal de matériel.
Avec les Mac « New World ROM », la ROM est par contre modifiable de façon logicielle (on peut la flasher, comme un BIOS) et modifier le son de démarrage est donc possible. Bonne nouvelle pour moi, Doug a utilisé un Power Mac G3 B&W pour ses essais, et j’en ai justement deux à disposition. C’est plus simple d’en avoir deux, pour une bonne raison : comme on joue avec la ROM de démarrage, les risques sont élevés de planter totalement la machine.
On fait simple : Doug m’a envoyé les fichiers nécessaires pour compiler un programme qui va reconstruire une ROM valable avec le son demandé dedans. J’ai un peu tâtonné pour compiler et récupérer les bons fichiers (notamment sur le son), mais c’est fonctionnel.
Il faut le firmware original (vous devez sûrement convertir l’image disque pour l’ouvrir), le programme de Doug et bien évidemment un son de démarrage.
Au niveau des Mac, ça fonctionne sur un Power Mac G3 B&W, et a priori sur d’autres modèles de PowerPC « New World » (depuis le premier iMac), mais je n’ai pas de quoi vérifier, ou plus exactement pas envie de bricker mon Mac mini.
La préparation du son
Ouvrez le son avec Audacity.
Passez-le en 16 bits, 44 kHz, mono.
Vérifiez la durée : pas plus de 2,5 secondes.
Exportez-le en RAW (Fichier -> Exporter -> Autres formats non compressés -> RAW/Signed 16 bits PCM).
Passez le fichier en Big Endian avec une commande.
dd if=entree.raw of=sortie.raw conv=swab
Maintenant, lancez le programme qui va effectuer la modification du firmware.
Il faut aller télécharger G3ChimePatcher sur le site de Doug, et ensuite compiler le programme. Ca passe sous Mac OS X et Linux. Dans mon cas, ça a fonctionné sous OS X Mavericks.
g++ adler32.cpp inject_chime.cpp ima.cpp md5.cpp ascii85.cpp -o g3chimepatcher
Ensuite, il faut récupérer le fichier firmware dans l’archive .smi
. Selon le type de machine, il faudra peut-être convertir l’image en .dmg
avant.
Enfin, il faut lancer le programme.
./g3chimepatcher "G3 firmware" sortie.raw "G3 Firmware Mod"
Si tout se passe bien, vous obtiendrez cette réponse.
Successfully injected new startup chime.
Maintenant, il faut un Power Mac G3 B&W sous Mac OS 9, le programme de mise à jour du firmware, un éditeur de texte efficace (dans mon cas, la démo de BBEdit 6.1).
Comme expliqué là, il faut d’abord mettre à jour le programme de mise à jour pour qu’il accepte de mettre un firmware déjà installé. Il faut remplacer une ligne par une autre.
L’ancienne ligne :
Apple PowerMac1,1 1.1f1 BootROM built on 03/08/99 at 13:29:20
La nouvelle ligne :
Apple PowerMac1,1 1.1f4 BootROM built on 04/09/99 at 13:57:32
Ensuite, il faut ouvrir le fichier firmware original avec BBEdit et coller dedans (pour être certain de garder les bonnes valeurs) le contenu du nouveau firmware.
Quand c’est fait, il faut simplement lancer le programme de mise à jour, suivre les instructions et prier. Parce que si jamais vous avez mal construit le fichier, vous allez bricker le Mac. J’ai pris le risque pour une simple raison : j’ai deux Power Mac G3 B&W à la maison.
Quand c’est fait, vous aurez sûrement un message au démarrage de Mac OS 9 qui indique que l’upgrade n’a pas fonctionné. C’est normal : il faut simplement lancer la version originale du programme de mise à jour, qui va faire disparaître le message au démarrage suivant.
Une vidéo avec les deux sons testés : le premier est le cri Wilhelm, le second le son de démarrage du TAM (Twentieth Anniversary Macintosh). Désolé pour le bruit de fond, c’est le seul moyen d’entendre le son en filmant avec un iPhone.
Je confirme que ça marche et c’est rigolo. je peux t’envoyer une vidéo du mien si tu veux.
Pour apporter quelques détails supplémentaires :
– Il faut échantillonner à 11000Hz et non pas 44 (je ne sais pas pourquoi mais ça marche comme ça chez moi)
– Une fois l’application compilée j’en ai fait un script .sh exécutable (chmod +x sur le fichier)
– Sur OSX il faut bien sûr convertir le .smi en .dmg
– Sur OS9 il faut dupliquer l’image .smi pour la mettre en lecture / écriture afin que bbedit puisse le modifier
Peut être que tu fait comme ça également mais c’est bien de le préciser si qq’un d’autre veut faire l’expérience.
@+
Le 18/12/2013 à 13:45