Compiler mini vMac pour une machine précise

Si vous suivez un peu le blog, vous avez dû voir que je compile régulièrement mini vMac pour des machines précises lors de mes tests, parce que la version classique qui émule un Mac Plus, n’est pas toujours adaptée. Petit tutorial pour ceux qui veulent essayer (et pour moi, pour garder une trace).

Mini vMac est un émulateur de Macintosh à base de 68000, qui dispose de pas mal d’options. De base, il émule un Mac Plus avec 4 Mo de RAM et un écran de Mac, mais on peut compiler sa propre version, soit pour une machine précise (Macintosh original, SE, etc.), soir pour une définition précise, etc.

Première chose, il faut un système fonctionnel Mini vMac (ou à défaut utiliser le service en ligne). J’ai choisi la première solution, elle est plus rapide. On a donc besoin de Mini vMac, d’une ROM de Mac Plus et d’un système bootable. Apple proposait d’anciens systèmes sur son site, ça peut aider.

Une fois le système démarré, on va sur le site télécharger les sources (sous la forme d’une image disque) et on la charge dans l’émulateur. Sous Mac OS X, il suffit de glisser le fichier dans la fenêtre.

Dans l’image disque, il faut lancer MnvM_bld et on arrive sur un éditeur de texte. Le fonctionnement est simple : on va taper les bonnes commandes (attention, on est généralement en clavier américain) pour compiler ce dont on a besoin.

Une partie des options est là (choix de la machine, de l’écran, de la RAM, etc.) et l’autre est là, pour les développeurs, pour personnaliser l’émulateur lui-même.

Voici un exemple de ligne à taper. Ca permet de compiler une version Mac OS X, avec XCode 4 (au moins), en anglais, en 640 x 400, à la vitesse de base d’un vrai Mac et avec le support réseau. Ici, comme on ne précise rien, c’est un Mac Plus avec 4 Mo de RAM.

-t imch -ev 4000 -lang eng -hres 640 -vres 400 -speed z -lt

La compilation

La compilation

Quand la ligne est tapée, on fait File -> Go et on attend quelques secondes, l’émulateur devrait proposer de sauver les données.

Avec XCode, j’ai dû aller modifier le SDK : par défaut, c’est celui de Snow Leopard qui est sélectionné et il faut donc aller le modifier pour celui de Mavericks (le cas échéant).

Ensuite on compile et c’est bon. Ca permet d’émuler le premier Macintosh, de faire une version Raspberry Pi, lancer le système en ROM du Macintosh Classic ou se connecter à Internet.