Une image disque dans la ROM du Raspberry Pi Pico d’un BlueSCSI v2

Quand j’avais testé le BlueSCSI v2, j’avais expliqué que je proposerais un post sur une fonction précise plus tard, et c’est maintenant. L’option en question est la possibilité de se passer de cartes SD, en mettant un système directement dans la ROM du Raspberry Pi Pico.

Le BlueSCSI v2 est basé sur le Raspberry Pi Pico, et la carte contient un peu de stockage interne pour les programmes. La capacité est franchement limitée, il n’y a que 2 Mo de base, et il faut mettre le code du BlueSCSI v2. Dans la pratique, on a environ 1,7 Mo de disponible, de quoi mettre un système de base. J’ai écrit ce test avant la sortie du Raspberry Pi Pico 2, qui intègre 4 Mo de stockage, mais la capacité supplémentaire ne change pas réellement les choses.

Mon BlueSCSI v2 et sa carte SD

Vous trouverez des explications sur le fonctionnement , mais voici les bases. L’image disque (qui doit donc faire 1 692 ko au maximum) doit être placée à la base de la carte SD, sous le nom HDx.ROM. Le x est l’ID SCSI choisi. Une fois l’image disque copiée, il faut brancher le BlueSCSI v2 en USB (avec un câble Micro USB) sans le brancher à un ordinateur en SCSI. En démarrant, il va copier le contenu de l’image disque dans la ROM et clignoter pendant quelques dizaines de secondes.

Truc important, si vous avez déjà un fichier image en ID 1 (par exemple), il passera avant la ROM. Donc il ne faut pas utiliser le nom HD1.ROM mais mettre un autre ID. Vous le verrez facilement soit dans les logs sur la carte SD, soit tout simplement parce que le système ne clignote pas une fois alimenté. Si tout se passe bien, la LED doit en effet clignoter pendant quelques dizaines de secondes, pendant la programmation.

Si ça a fonctionné, le nom du fichier va changer : il va devenir HDx.rom_loaded. Truc qui peut servir, on peut effacer la ROM en faisant la même manipulation avec un fichier vide qui se nomme CLEAR_ROM à la racine.

Mais tout ceci, c’est la théorie quand on a déjà une image disque qui fonctionne. Et c’est ce point qui est compliqué, en réalité.

Remplir l’image disque

Comme les anciens Mac OS (on parlait de System, je sais) étaient parfois un peu chatouilleux sur le démarrage, la solution la plus simple consiste à partir d’un système que vous avez déjà installé et qui fonctionne et de copier uniquement le nécessaire dans une image disque vide. La documentation propose trois fichiers, une image disque vide qui n’est pas formatée, une seconde formatée pour le System 6 et une pour le System 7. C’est important : si vous formatez depuis le mauvais OS, ça risque de ne pas fonctionner.

Pour mes essais, j’ai choisi de simplement mettre la disquette de sauvetage (Disk Tools) avec le bon enabler. Et même ça, ce n’est pas évident : c’est instable sous System 7.1 (et c’est documenté) et il faut donc préparer l’image disque avant.

La méthode pour remplir l’image disque est compliquée. La première étape va être de partir d’une image disque (formatée ou pas) et de la mettre sur la carte SD comme une image disque. Dans mon cas, sous le nom HD20.hda. Depuis le système d’une autre image disque, j’ai formaté l’image disque, copié le contenu de la disquette Disk Tools et (surtout) vérifié que le Macintosh pouvait bien démarrer dessus. J’en ai profité pour mettre le panneau Startup Disk dans la ROM, ça permet de choisir facilement le disque de démarrage.

Après avoir vérifié que tout fonctionnait, j’ai renommé le tout en HD2.rom pour flasher l’image disque, avec toutes les manipulations qui nécessitent quelques débranchements, vues plus haut. Enfin, j’ai testé… avec succès. On peut démarrer avec une carte SD (et l’image disque en ROM apparaîtra) ou directement sans carte SD. Attention, l’image disque est en pratique en lecture seule de ce que j’ai pu tester, je n’ai pas pu prendre de capture d’écran par exemple.

Une fois l’image disque prête, on peut démarrer dessus.


On peut démarrer sans carte SD, uniquement sur la ROM. J’ai capturé directement l’écran du Mac, parce qu’il est impossible de faire une vraie capture.

Maintenant, la question à 1 000 francs (oui, c’est un article rétro), est-ce intéressant ? Oui et non. Il y a un peu trop de limites (notamment sur la capacité) pour que ce soit réellement une option incontournable. On peut installer un système minimal pour les quelques Mac qui acceptent le System 6.08, mais le Système 7.x ne rentre pas vraiment sur l’équivalent d’une disquette. Il y a trop de limites aussi, et c’est particulièrement lent. Les BlueSCSI sont déjà plus lents qu’un bon disque dur de l’époque, mais le passage en ROM est encore pire. Mais dans mon cas, ça me permet tout de même d’avoir un système de secours qui permet de formater ou de vérifier si un Mac s’allume, donc ce n’est pas totalement inutile.

Techniquement, on peut se passer de la carte SD… mais elle est nécessaire au départ tout de même.

Avant de m’y intéresser, je m’attendais vraiment à mieux, j’avoue. Je pensais que ce serait plus rapide, mais que je pourrais surtout facilement installer un système minimal pour créer une carte BlueSCSI v2 très compacte. Mais dans la pratique, il y a un peu trop de manipulations et surtout bien trop de limites (et de bugs) pour que ce soit possible, sans même prendre en compte le fait qu’on a besoin de la carte SD au départ pour copier le tout dans la ROM. Même s’il y a d’autres limites, le ROM-inator II est par exemple finalement plus efficace pour avoir un système de base, en réalité, même si c’est moins souple.

Prochaine étape, s’amuser avec l’émulation Ethernet et un Raspberry Pi Pico W sur le BlueSCSI v2.