Lancer des applications dans l’Open Firmware

Le firmware des Mac a bien évolué au fil des années. D’une ROM basique au départ à l’EFI actuel en passant par l’Open Firmware, différentes technologies existent. Et saviez-vous qu’il est possible de lancer des applications directement depuis l’Open Firmware ?

L’Open Firmware a été utilisé par Apple dans les Mac à base de PowerPC mais aussi dans les machines de Sun, quelques appareils sous ARM, etc. L’intérêt, ici, c’est que l’Open Firmware a été développé en Forth et qu’un programme dans ce langage peut être exécuté directement. Les exemples que j’utilise proviennent de ce site et nécessitent a priori un Mac de type New World (iMac et plus, iBook, etc.).

Première étape, copier les scripts sur le disque dur de la machine. J’ai utilisé ofwindows et ofhanoi (que vous trouverez là aussi) sur un PowerBook G4. Il faut simplement les placer à la racine du disque, sans le txt dans le nom de fichier.

Seconde étape, démarrer sur l’Open Firwmare (plus exactement, sur le shell de l’Open Firmware). Sur les Mac New World, il suffit de presser command, option, o et f au démarrage. Sur les machines Old World, la méthode est la même mais le shell ne s’ouvre pas nécessairement directement : sur certaines vieilles machines, il passe en fait directement par le connecteur modem, pour un accès en série depuis une autre machine (pas très pratique, donc).

Le shell Open Firmware d’un Mac

Troisième étape, charger le script. La commande à taper est boot hd:\ofhanoi ou hd:\ofwindows. Attention, le clavier est en QWERTY : le : s’effectue en tapant maj + m, le \ sur la touche £. Après avoir chargé le script, il se lance en tapant le nom du programme (ofhanoi ou ofwindows, donc). Pour quitter, il faut presser ctrl + z (donc w sur un clavier francophone). Pour éteindre la machine, la commande shut-down.

Le premier exemple exécute simplement les célèbres tours de Hanoi, en mode graphique. Le second affiche une fenêtre qui ressemble un peu à Windows 3.1 et affiche la définition de l’écran (1280 x 768 ici, une valeur bizarrement fausse, l’écran étant en 1152 x 768). La fenêtre en question peut bouger avec la souris.

Le programme


La fenêtre

Techniquement, il est parfaitement possible de faire la même chose sur un EFI, c’est juste que les Mac ne donnent pas accès au shell de l’EFI par défaut, donc un passage par rEFIt (par exemple) est nécessaire.