Skywalker13

Diary of an ex-GeeXboX developer…

Smaky & BlueSCSI ~ 🇫🇷

Posted at — Mar 19, 2023

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.

  1. Le projet est open-source / open-hardware et libre. Ceci est un critère essentiel. Une communauté assez importante semble graviter autour, avec un canal Discord pour atteindre très rapidement les développeurs et designers de la carte BlueSCSI.
  2. Ils ont crĂ©Ă©s deux versions de la BlueSCSI. A ce moment lĂ  je n’ai absolument aucune idĂ©e de la version utilisĂ©e par Jean-Marc. Mais vu le prix de la carte BlueSCSI v2, je l’achète dans la foulĂ©e.

Les problèmes rencontrés par Jean-Marc concernent la version 1 de la BlueSCSI. Il y avait principalement des problèmes de soudure.

L’achat (un peu) Ă  l’aveugle

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.

BlueSCSI

RĂ©ception de la carte

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.

BlueSCSI

Monter un disque SCSI

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.

bluescsi.ini

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.

DĂ©marrage du Smaky

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.

BlueSCSI

Interopérabilité

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.

  1. Il n’est pas possible d’utiliser une image disque (de type .DI) en tant qu’image SCSI. Le Smaky refuse de la monter.
  2. Le Smaky Infini refuse de monter une image disque SCSI comme si cette image Ă©tait un .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.

Quelques solutions Ă  explorer

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.