Obligement - L'Amiga au maximum

Samedi 25 novembre 2017 - 03:15  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

 · Accueil
 · A Propos
 · Articles
 · Galeries
 · Glossaire
 · Hit Parade
 · Liens
 · Liste jeux Amiga
 · Quizz
 · Téléchargements
 · Trucs et astuces


Articles

 · Actualité (récente)
 · Actualité (archive)
 · Comparatifs
 · Dossiers
 · Entrevues
 · Matériel (tests)
 · Matériel (bidouilles)
 · Points de vue
 · En pratique
 · Programmation
 · Reportages
 · Tests de jeux
 · Tests de logiciels
 · Tests de compilations
 · Articles divers

 · Articles in english
 · Articles in other languages


Twitter

Suivez-nous sur Twitter




Liens

 · Sites de téléchargements
 · Associations
 · Pages Personnelles
 · Moteurs de recherche
 · Pages de liens
 · Constructeurs matériels
 · Matériel
 · Autres sites de matériel
 · Réparateurs
 · Revendeurs
 · Presse et médias
 · Programmation
 · Développeurs logiciels
 · Logiciels
 · Développeurs de jeux
 · Jeux
 · Autres sites de jeux
 · Scène démo
 · Divers
 · Informatique générale


Jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Partenaires

Annuaire Amiga

Amedia Computer

Relec

Hit Parade


Contact

David Brunet

Courriel

 


Dossier : Les disquettes Amiga
(Article écrit par Siegfried et Vadhila et extrait d'A-News (Amiga News) - avril 1989)


Où tout est simple

Un lecteur de disquette Amiga n'est qu'une fente vue de l'extérieur. Mais que se cache-t-il derrière cette façade béate et à vide ? Rien de bien compliqué au niveau du matériel : un moteur pas-à-pas pour changer de piste, un autre pour faire tourner le manège, et une électronique que nous simplifierons à un interrupteur pour la face (dessus ou dessous).

Pour l'utilisateur de tous les jours, rien de tout ceci n'apparaît. En effet, nous ne connaissons de ce système que quelques aspects que je rappellerai :
  • La piste, constituée de 11 secteurs, correspond à un tour du disque.
  • Les secteurs, numérotés de 0 à 10, font 1/11e de la piste chacun (si si !). Sur un secteur, on place 512 octets. Donc une piste fait, après un rapide calcul, 512x11 = 5632 octets en gros.
  • Les faces, au nombre de deux (plus, c'est marrant à faire tourner), contiennent 80 pistes (de 0 à 79). Nous verrons plus tard pourquoi l'on parle dans certains cas de 81, 82, voire 83 pistes.
disquette Amiga

Tout ceci nous fait une disquette de 5632x2x80 = 901 120 octets (ce qui fait bien 880 ko). Il arrive que l'on parle de blocs. Ce n'est qu'une manière d'exprimer un ensemble de pistes, secteurs et faces. Voici la formule tirée du grimmoire de mes ancêtres : bloc = secteur + face x 12 + piste x 24. Donc, au plus, nous aurons 1760 blocs numérotés de 0 à 1759. Je signale que le DOS appelle parfois les blocs des "keys" (d'où le message "Key ### now unreadable").

disquette Amiga

Un fâcheux problème

Jusque-là, tout est facile. Pour sauver mon programme sur la disquette, je prends les octets en mémoire et les place sur le disque. Génial, mais pas si simple. Il faut trouver un système pour savoir où est mon programme et gérer l'occupation de la disquette. Soit, alors considérons que nous laissons ce problème à l'AmigaDOS (c'est son job, et il ne fait pas grève, lui...). Tout est parfait dans le meilleur des mondes.

Mais qu'ouis-je ? Quelle est cette plainte discrète ? Eh oui, encore un problème, mais cette fois-ci, au niveau matériel. En effet, la tête de lecture-écriture a des ennuis. Elle ne doit surtout pas se démagnétiser. Je m'explique. Lors de l'écriture des "1" sur le disque, la tête se magnétise du fait de l'impulsion électrique envoyée. Quand on écrit un zéro, l'impulsion disparaît et la tête commence à se démagnétiser. Il ne faut jamais laisser la tête plus de huit micro-secondes sans impulsion ou alors, il faut la remagnétiser, ce qui prend beaucoup de temps. Comment faire ? De plus, en lecture, comment trouver le début d'un secteur ou d'une piste au milieu de ces 0 et 1 ?

Où le disque se peuple plus qu'il ne conviendrait

Pour résoudre ces problèmes, on va coder les données avant de les écrire et on rajoutera des marques de début de piste et de secteur sur la disquette.

Voyons le codage. Sur l'Amiga, il est de type MFM, ce qui veut dire "Modified Frequency Modulation". Il consiste à intercaler entre deux bits à 0 un bit artificiel à 1 (voir schéma 1). De ce fait, il y aura au minimum une impulsion toutes les huit micro-secondes. Le débit d'information est de 250 kilobits/seconde avec ce codage. Il faut savoir que la détection des zéros consécutifs est faite, sur l'Amiga, par le Blitter.

disquette Amiga
Schéma 1

Nous voilà donc avec un programme codé, que l'on va diviser en secteurs pour l'écrire sur le disque. Sur une piste format Amiga, on trouve :
  • Un espace rempli de zéros appelé GAP qui marque le début de la piste.
  • Puis, dans le désordre, les secteurs précédés du numéro de piste et de leur numéro propre.
A noter que les secteurs ne sont pas forcément écrits dans l'ordre, mais le DOS les remettra à leur place une fois lus en mémoire (on notera ici une perte de temps pour les puristes). L'AmigaDOS lit la piste entière même s'il ne lui faut qu'un secteur de cette piste.

Dans les délices de Codage Valley

Il existe évidemment d'autres méthodes de codage des informations. Je vous en donne un rapide aperçu :
  • Code FM (Frequency Modulation) : consiste à superposer des impulsions à des intervalles réguliers. Débit de 125 kilobits/seconde (méthode utilisée par les PC en simple densité).
  • Code MMFM ou MFM (MFM Modifiée) : supprime les bits à 1 que l'on a rajoutés lorsqu'ils se suivent. Débit de 250 kilobits/seconde (peu utilisé).
  • Code GCR (Group Coded Recording) : le meilleur, the best one, the marvellous, le Dieu des Dieux, enfin celui que je préfère. Au départ, on divise un octet en deux groupes de 4 bits (nibbles ou quartets). Ces nibbles peuvent prendre 16 combinaisons différentes (2^4). On fait correspondre à chacune un code GCR de 5 bits ne contenant pas plus de deux zéros de suite (voir schéma 2). Il ne reste plus qu'à écrire ces 5 bits sur le disque. Débit de 380 kilobits/seconde. Il est utilisé par Apple avec une méthode légèrement différente.
Le contrôleur de disque de l'Amiga est capable de lire tous ces formats, et même la moitié des disquettes Macintosh (car l'autre moitié est écrite en ralentissant la rotation du disque ! (cela s'appelle de la vitesse linéaire constante).

disquette Amiga
Schéma 2

Addendum : la démagnétisation, qu'est-ce donc ?

Regardez les schémas suivants : une spirale de fils de cuivre et un aimant. Si l'aimant est immobile, l'ampoule ne s'allume pas. Par contre, si l'aimant est animé d'un mouvement de va-et-vient, un courant électrique est généré qui allume l'ampoule.

Le troisième schéma fait le parallèle avec le lecteur de disquette : la tête n'est qu'une bobine, la disquette un aimant. A l'écriture, quand on envoie un "1", il se produit un changement d'état (Nord devient Sud, ou l'inverse). A la lecture, on comprends que s'il n'y a que des zéros sur la disquette, pas de changement d'état, donc pas de courant.

disquette Amiga
Schéma 3

Sur ce, citoyens, je vous laisse digérer ces merveilles de technologie et vous donne rendez-vous à la prochaine fois.


[Retour en haut] / [Retour aux articles]