Il y a quelques temps j’ai été mis en contact avec un ancien Guru du Smaky, Jean-Marc Koller. Je ne le connais que très peu mais j’ai tout de suite été intéressé par son projet du moment. Il cherche à remplacer les disques SCSI des Smaky par des cartes SD. J’ai immédiatement fait mes petites recherches sur le sujet, Jean-Marc fait référence à la carte BlueSCSI.
Il explique qu’il y a des problèmes de communications avec cet adaptateur, peut-être des problèmes de timing ou d’intégrité. Quoi qu’il en soit, il y a de sérieux problèmes de stabilité, et Jean-Marc étant un électronicien avancé effectue toutes les mesures nécessaires pour identifier les causes. Cela semble plutôt mal parti, mais le projet BlueSCSI retient mon attention pour deux raisons.
Les problèmes rencontrés par Jean-Marc concernent la version 1 de la BlueSCSI. Il y avait principalement des problèmes de soudure.
Je regarde un peu les sites proposés pour l’achat, et je m’arrête sur One Geek Army Shop qui est (au moment de l’achat) le seul revendeur qui propose la carte BlueSCSI v2 en variante “Desktop” pour le marché européen.
Il existe plusieurs variantes, comme Desktop (50-pin SCSI), DB25 ou PowerBook.
Bien entendu, le Smaky avec son disque SCSI Fujitsu, correspond à du 50-pin. La carte soudée et à jour ne me coûte qu’un peu plus de 60€. Je trouve le risque pas très grand alors je commande sans trop réfléchir.
Environ 3 ou 4 jours plus tard, je reçois la carte bien emballée et prête à l’emploi. Il ne me reste plus qu’à ouvrir mon Smaky, débrancher le disque SCSI actuel, trouver un adaptateur Molex → mini Molex ainsi qu’une simple carte SD compatible.
Depuis de nombreuses années je conserve toutes sortes de câbles et matériel dans ma cave. Il se trouve que j’ai exactement tout ce qui est nécessaire. Un vieil adaptateur Molex que j’avais certainement récupéré sur de vieux serveurs de la Ciba SC dans les années 2000 ainsi qu’un adaptateur SD → micro SD avec une carte micro SD de 4 GB.
Cette carte BlueSCSI est juste fantastique. Pour monter un disque SCSI il
suffit de formater la carte SD en FAT32 ou exFat et d’y déposer des images
disque. Par exemple, pour monter un disque SCSI ID 1, rien de plus simple que de
nommer l’image HD10_512.hda
.
Voici à quoi ressemble ma carte SD actuelle :
-rw-r--r-- 1 schroeterm schroeterm 26 19 mar 14:24 bluescsi.ini
-rw-r--r-- 1 schroeterm schroeterm 520M 15 mar 2007 'HD10_512 MS System.hda'
-rw-r--r-- 1 schroeterm schroeterm 508M 26 sep 2019 'HD20_512 DR Model.hda'
-rw-r--r-- 1 schroeterm schroeterm 520M 19 mar 15:20 'HD30_512 DR Dev.hda'
-rw-r--r-- 1 schroeterm schroeterm 4.1K 1 jan 01:00 log.txt
L’image HD10_512 MS System.hda
est un dump de mon disque SCSI original que
j’ai réalisé en 2007. Pour effectuer ce dump j’ai installé le disque du Smaky
dans un PC avec un contrôleur Adaptec (qui dort dans un carton); et avec l’aide
de la commande dd
, je me suis fait une image binaire comme backup. J’ai
beaucoup utilisé cette image pour effectuer des tests avec Fosfat pendant
que je développais cette bibliothèque d’accès au FOS (je vous laisse consulter
le lien si cela vous intéresse; sous Debian / Ubuntu, simplement faire
apt install fosfat
).
Fosfat est l’outil parfait pour lire vos disques et disquettes Smaky avec Linux (et aussi en partie avec Windows). Par contre, je n’ai pas développé le support de l’écriture. Mon travail de reverse engineering s’est stoppé dès que j’ai pu extraire ce que je souhaitais.
Il est possible de donner une configuration à la carte BlueSCSI avec l’aide d’un fichier INI. Avec un Smaky, ce fichier n’est pas nécessaire mais dans mon cas je l’ai quand même installé avec cette directive :
[SCSI]
EnableSCSI2=1 ; On
Honnêtement je ne sais pas si cela apporte réellement une amélioration; mais j’aime l’idée que les transferts soient plus rapide en spécifiant explicitement le mode SCSI-2 bien que je n’ai aucune certitude de ce qui se passe réellement avec ce contrôleur.
Tout à fonctionné du premier coup. Mon Smaky a démarré comme un charme sur
le disque HD10
. J’ai pu monter le disque HD20
en #MM2:
puis j’ai tenté
aussi HD30
en #MM3:
. J’ai quelques problèmes avec le disques HD30
mais
rien qui ne concerne la BlueSCSI. L’expérience est une réussite complète
qui va au delà de mes espérances. Le fait de pouvoir monter plusieurs disques
avec un seul adaptateur est tout simplement génial.
A l’origine, les échanges entre les Smaky et les PC sont assez difficiles. Pour
y remédier en partie, j’ai créé Fosfat il y a pas mal d’années. Dès le
moment que l’on souhaite lire des données d’un Smaky sur un PC, Fosfat
rempli parfaitement son rôle. Il existe une autre technique, l’utilisation de
l’émulateur Windows Smaky Infini. Cet émulateur me pose quelques problèmes
de stabilité et certains outils sont difficilement exploitables (comme les
outils de conversions de fichiers .AUDIO
en .WAV
qui fonctionnent bien que
sur un vrai Smaky ou alors l’impossibilité de lire certains dossiers du PC sans
que cela provoque un blocage complet de l’émulateur, …).
L’émulateur ne se comporte pas non plus comme s’il avait à faire à de vrais
disques SCSI. En effet, j’ai remarqué que le disque SYSTEME
et le disque
MODELE
ne sont pas des images disque SCSI, mais des images de type “floppy”.
J’ai appris à les différencier en travaillant sur Fosfat où il y a
clairement une différence d’offset entre les deux types de médias.
Cette différence a un impacte directe avec l’utilisation de la BlueSCSI.
.DI
) en tant
qu’image SCSI. Le Smaky refuse de la monter..DI
.J’ai tenté d’y remédier avec CLE
. Par exemple en montant une image à la place
du disque MODELE
dans le Smaky Infini. Je peux formater cette image
depuis CLE
avec :
format #MM2:
Je peux alors écrire dans cette image. Par contre, bien que le Smaky Infini
me l’affiche comme une mémoire de masse, ce n’en est pas vraiment une. En
réalité c’est un type $FILE_2
qui est un DI
et donc impossible à monter en
tant que disque SCSI sur la BlueSCSI.
La meilleure solution serait que j’implémente l’écriture avec Fosfat. C’est un gros travail de recherche et j’ai d’autres projets sur le feu. Peut-être un jour je m’y collerais.
Une autre solution plus accessible, serait que j’acquière un lecteur Iomega Zip en SCSI. Le Smaky Infini (en théorie) permet de travailler avec des lecteurs Iomega Zip. Ce serait un moyen de transmettre une grande quantité de données depuis mon PC Linux au Smaky. Néanmoins je n’aime pas beaucoup cette solution car il faut le Smaky Infini (et donc Wine), il faut un lecteur obsolète et au moins une disquette obsolète.
Il me reste une autre option qui devrait être moins coûteuse en temps de
développement et surtout beaucoup plus pérenne. Je devrais arriver à faire des
adaptations dans le projet Fosfat afin de pouvoir convertir une image .DI
en image disque SCSI. Les deux formats sont identiques concernant le FOS, ce
n’est donc (principalement) qu’une question d’offset. Fosfat sait lire tous
les blocs. Il est peut-être possible de revoir juste le début de l’image .DI
pour rajouter ce qui manque.
(2023.03.25) Je vais écrire un nouvel article dans quelques temps à propos des travaux que je suis actuellement en train de réaliser pour les conversions. J’ai choisi la solution 3 présentée ci-dessus. Pour les plus impatients, vous pouvez compiler la version de développement de Fosfat et utiliser la commande
fosdd
qui répond à ce besoin.L’article est disponible ici : BlueSCSI & Fosfat.