Certains Mac lisaient les disquettes plus lentement

Le saviez-vous ? Certains Mac possèdent des lecteurs de disquettes plus lent que d’autres. Mais pas à cause du lecteur lui-même, mais de son contrôleur.

Il existe en effet plusieurs contrôleur différents dans les Mac. Premièrement, l’original, l’IWM, alias Integrated Woz Machine. Puis le SWIM (Sander/Woz Integrated Machine), qui ajoute la prise en charge des disquettes en mode MFM (1,44 Mo), celles des PC. Ensuite, il y a le SWIM2 et le SWIM3, des évolutions de ce dernier. Et enfin, un contrôleur plus rare, le New Age. On le trouve uniquement dans les Mac « AV » (840 et 660) et il est significativement plus lent que les autres avec les disquettes enregistrées en mode GCR (vitesse variable), soit celles de 400 et 800 ko. En tout cas, c’est ce qu’indique une vieille note technique Apple, et j’ai donc décidé de le vérifier. Attention, la note vient d’une vieille archive et je n’ai pas trouvé de copie, donc j’ai mis le fichier en ligne directement.

Une disquette double densité, en GCR

Pour rappel, le mode GCR consiste à faire varier la vitesse de rotation du lecteur pour gérer des secteurs de taille physique fixe sur la disquette, alors que le mode MFM des disquettes de PC utilise une vitesse de rotation fixe et donc des secteurs de taille physique variable. Ce choix permet de stocker un peu de données (800 ko vs. 720 ko) sur la même surface. Maintenant, vous pouvez vous demander pourquoi un contrôleur peut être plus lent qu’un autre. La réponse est assez trivial : l’IWM et les SWIM utilisent le CPU pour la majorité des traitements, alors que le New Age se base sur une puce dédiée (la NEC765) modifiée pour ajouter le support du GCR. Mais du coup, c’est le contrôleur qui doit gérer la prise en charge du GCR… et il est plus lent qu’un CPU, même le simple 68000 des premiers Mac.

Au passage, si vous ne connaissez pas les disquettes 3,5 pouces, il existe essentiellement deux types : les double densité (DD), d’une capacité de 800 ko (en GCR dans les Mac, 720 ko dans les PC), et les haute densité (HD) d’une capacité de 1,44 Mo dans les PC et dans les Mac. Apple n’a en effet pas utilisé la vitesse de rotation variable dans le cas. On peut différencier les disquettes par les encoches : un trou dans les DD, deux dans les HD.

Pour tester, j’ai prise une machine en SWIM2 (un LC III), une en New Age (un Centris 660 AV) et un Power Mac G3 en SWIM3. Dans chaque cas, j’ai lu et écrit des données sur un Floppy Emu avec une image de disquette GCR de 800 ko.

Le Floppy Emu

Avec un Power Mac G3, la copie d’un fichier de 620 ko prend 42 secondes. La lecture du même fichier prend 23 secondes. De fait, avec un Centris 660 AV, l’écriture prend 98 secondes (plus du double) et la lecture 38 secondes, ce qui est très nettement plus. Avec un LC III (pas franchement un haut de gamme), l’écriture prend 100 secondes (comme le Centris, mais ça peut dépendre du SCSI2SD, pas franchement rapide) mais la lecture seulement 27 secondes.

Comme on le voir, c’est tout de même nettement plus lent sur le modèle AV, donc. La page de support Apple indique qu’il existe des extensions qui utilisent le DSP pour accélérer les transferts mais je n’ai rien trouvé de probant en cherchant. Si vous avez des infos sur ce point, ça m’intéresse.