Dans ce nouvel article, je vous explique comment utiliser un lecteur de disquette virtuel dans un ordinateur Thomson TO9.

Généralités
Tout d’abord, voici quelques informations sur ce fameux lecteur de disquette. Tout comme son petit frère le TO8D, le TO9 a un lecteur de disquette 3.5 pouces. Une chose à savoir, le TO9 expose 2 lecteurs de disquette, un par face. Une image sera de la taille d’une face, soit 320Ko en DD (double densité). Il faudra donc émuler cela.
Plusieurs formats de disquette sont disponibles pour Thomson, le format SAP et le format FD (raw).
SAP
Le format SAP, Système d’archivage d’Alexandre Pukall est un format “chiffré” par XoR (avec une valeur fixe, 0xB3). Il contient une entête de taille fixe et une somme de contrôle pour chaque secteur.
Chaque face constitue un fichier, il faudra 2 fichiers pour une disquette.
FD
Le format FD (raw, brut) est, quant à lui, beaucoup plus simple. Ce format peut être simple face ou double fac et, dans ce cas, les 2 faces sont dans un seul fichier. Les secteurs sont mis bout à bout, sans CRC ni somme de contrôle. Les données des faces ne sont pas entrelacées mais mises bout à bout. Face 0 en premier suivi de la face 1.
Ce format étant plus simple que le format SAP, c’est pour lui que j’ai configuré FlashFloppy, pour l’instant en mode simple face. Je pense qu’il serait assez facile de configurer FlashFloppy pour supporter les images double faces.
SAP -> FD
Beaucoup d’images que l’on va trouver de-ci de-là sont au format SAP. Décevant me direz-vous, mais j’ai écrit ce petit programme de conversion de fichier SAP vers FD logiquement appelé SAP2FD. Disponible ici https://github.com/david-barbion/sap2fd et licencié avec GPL-3, il se compile très simplement.
Son utilisation est aussi très simple:
./sap2fd my-image.sap my-image.fd
OpenFlops/FlashFloppy
Côté virtualisation du lecteur de disquette, j’utilise OpenFlops https://github.com/SukkoPera/OpenFlops pour le hardware et FlashFloppy https://github.com/keirf/flashfloppy pour le firmware.
La configuration de FlashFloppy se fait via quelques fichiers:
FF.IMG
interface = shugart
image-on-startup = last
pin02 = nc
pin34 = nc
index-suppression = no
motor-delay = 0
head-settle-ms = 15
et IMG.CFG
[fd::327680]
cyls = 80
heads = 1
secs = 16
bps = 256
h = auto
rate = 250
Attention, chaque fichier devra avoir l’extension .img.fd et être d’une taille de 327680 octets pour être disponible dans FlashFloppy.
En externe
Il serait même possible de mettre le lecteur virtuel en externe, via le connecteur à l’arrière du TO9. Attention cependant, ce connecteur va router les signaux DS1 vers DS0 et il faut utiliser un câble droit vers le lecteur virtuel. Certains signaux ne sont pas accessibles sur ce connecteur.
Dernière information aussi, en mode externe, il n’est pas possible de démarrer directement sur une disquette ni d’utiliser les touches d’accès rapide D ou E, cela étant réservé au lecteur interne.