La disquette que nous venons de voir depecée pourrait aussi bien servir sur un APPLE II, un COMMODORE, un IBM/PC ou n'importe quelle machine ayant un lecteur 5'25. Pourquoi ?
En fait l'oxyde magnétique déposé sur le mylar est magnétisé de façon totalement aléatoire. Il y a ce que l'on appelle "granules magnétiques" : les domaines de Weiss et ce sont ceux-ci qui sont magnétisés dans n'importe quel sens. Lorsque la tête de lecture écrit sur la disquette cela oriente les particules en question dans un sens précis (parallèle au champ inducteur) ce qui est déjà mieux...
Mais ce qui fait que l'ordinateur reconnaît une disquette comme sienne, c'est uniquement le formattage. Joie de l'harmonisation chaque constructeur y est allé à son idée en s'appuyant sur les modèles existants. En soi, la disquette ne devient spécifique à un APPLE II que lorsqu'elle a été formattée.

Le formattage consiste à préparer la disquette pour permettre de savoir ou se trouvent les précieuses données, il y a deux choses à connaître pour le formattage :
Le mode d'enregistrement (voir plus bas)
La façon dont elle est réalisée la découpe en pistes et secteurs qui sont l'unité de base du stockage des données. Le détail du formattage spécifique à l' APPLE II est donné dans la rubrique "format d'une disquette"

La détection des pistes

Opération évidement indispensable, elle peut alors se faire :
soit par un système physique voir la rubrique "Hard sectoring"
soit par un système logiciel, on lit le numéro de piste sur la piste où l'on est supposé être
soit par les deux, et là encore il y a deux méthodes :
Méthode 1 : Utilisation du trou d'index et redondance des informations pour valider le numéro de piste qui est alors enregistré sur chaque piste.

Méthode 2 : on a un système physique (pas le ou les trous d'index cette fois) qui permet d'être certain de se trouver sur une piste de référence (de préférence la piste 0) et les autres sont définies par un numéro qui se trouve dans les champs d'adresse. C'est le cas d'APPLE. ATTENTION : Le système physique dont il est question est le système de calibrage pour le positionnement sur la piste 0. Ici il ne s'agit pas de HARD SECTORING.
LES FAUX NUMEROS DE PISTES
Il est possible d'avoir des schémas de protection qui donnent de fausses informations sur le réel numéro de piste:
soit ils mélangent à dessein l'ordre des pistes : la 2 devenant le 3, la 4 la 7 ou tout autre astuce du même genre.
soit ils donnent purement et simplement des numéros qui sont des impossibilités physiques la piste 1 étant déclarée comme étant la $40, la $AB ou tout autre chiffre supérieur à $23.

L'objectif est de perturber la routine de positionnement de la tête de lecture qui utilise le numéro de piste pour définir le nombre de pas de déplacement du moteur PAS A PAS.

Notons que cela n'empêche pas réellement la copie mais dans l'enlèvement de la protection pour réaliser un beau COPYA, il faut modifier la routine qui redéfini les numéros de piste ou alors la table qui les indiquent... cela dépend des cas qui sont aussi variés que possible. par ailleurs il faut prendre bien garde à ce qu'il n'y ait pas une autre routine qui vérifie que les numéros de pistes sont bien eux qui étaient définis par l'éditeur du logiciel

La détection des secteurs

Opération évidement tout aussi indispensable que la précédente, elle peut alors se faire de façon totalement analogue:
soit par un système physique
soit par un système logiciel
soit par les deux
Le système physique
Dans ce cas précis ce sont les disquettes qui sont spéciales. Au lieu de n'avoir qu'un trou de détection du début de piste, il y en a plusieurs permettant de savoir quels sont les secteurs qui vont pouvoir être lus par la tête de lecture. Bien évidemment ces trous peuvent ne pas être répartis de façon égale.
Le système logiciel
Il s'agit en fait de détecter les bits de données
soit en examinant les variations des transitions magnétiques (cas de l'APPLE II)
soit en se repérant sur des bits d'horloge placés avant les bits de données

Le mode d'enregistrement utilisé par APPLE est un système FM (modulation de fréquence) rebaptisé par la suite GCR (Group Code Recording). On notera avec attention que ce n'est pas APPLE qui a donné ce dernier nom à ce système d'enregistrement qui s'est défini en fait pour faire la distinction avec le MFM d'IBM (Modified Frequency Modulation).
Le mixte
Comme le nom l'indique c'est un mélange des deux précédents : le trou d'index sert au repérage du debut de piste ou des secteurs (il faut évidement plusieurs trous dasn ce dernier cas) et il y a redondance avec un enregistrement du numéro de secteur. La lecture se fait normalement par détection des bits d'horloge et des bits de données.
Ce mode mixte est un système de type "ceinture ET bretelles", on est physiquement positionné de façon ad hoc mais on le vérifie malgré tout par la lecture d'un numéro d'identification qui est enregistré.
LES MODES D'ENREGISTREMENT

Dans ce qui suit la densité dont il est question est la BPI (bits per inch). Dans ce qui suit le terme densité est relatif entre les modes d'enregistrements. Pour APPLE II, une rubrique spécifique donne des valeurs des différentes densités que sont les BPI et TPI, c'est ICI

Il convient de connaître quelques modes d'enregistrements pour une meilleure compréhension de ce qui nous intéresse. Les modes d'enregistrement sont multiples mais on peut citer :

RZ (Return to Zero) : On sépare les zones magnétisées par une zone non magnétisée. Au niveau de la bobine un 1 correspond à une impulsion positive et un 0 correspond à une impulsion négative . La base de temps externe pour compter les bits est inutile, on est en mode autosynchrone. Evidement ce système n'est pas l'idéal pour la densité.

NRZ (Non Return to Zero) : On supprime les zones non magnétisées. Il y a une transition uniquement lorsque les informations passent de 0 à 1 ou de 1 à 0. Cela augmente la densité. Mais comme une séquence de bits identiques engendre une transition uniquement au départ, il faut une base de temps pour compter les bits.

NRZI (NRZ Inverted) : Seuls les bits à 1 provoquent une inversion de magnétisation mais il faut une base de temps.

GCR (Group Code Recording) : Ce système recouvre plusieurs méthode de codage mais dont le principe de base est analogue. C'est le principe du NRZI en supprimant les séquences de zéros pour faciliter la synchronisation de la base de temps. Pour cela on utilise 5 bits pour coder des groupes de 4 bits. Il est alors impossible de trouver plus de deux zéros consécutifs.

Voici la table de codage utilisée normalement par le système GCR, elle n'a rien à voir avec les tables utilisées par APPLE et n'est là que pour rappeler ce qu'est le GCR original.

L'utilisation est simple : pour écrire 0000 on écrit en fait la séquence de 5 bits 11001 sur le disque et la relecture se fait par translation des groupes de 5 bits en groupe de 4 bits de données.
Valeur   Codage
  0000     11001
  0001     11011
  0010     10010
  0011     10011
  0100     11101
  0101     10101
  0110     10110
  0111     10111
Valeur   Codage
  1000     11010
  1001     01001
  1010     01010
  1011     01011
  1100     11110
  1101     01101
  1110     01110
  1111     01111
LE GCR (Group Code Recording) APPLIQUE PAR APPLE
Ce mode d'enregistrement utilisé par APPLE consiste à réaliser ou non des inversions des champs magnétiques pour définir un bit à 1 ou à 0. Un bit s'écrit dans une fenêtre de temps de 4µs. Plusieurs contraintes existent dès lors que l'on veut enregistrer sur une disquette un signal magnétique par ce système .

La première contrainte est physique, il s'agit évidement de la nécessité d'avoir une distance minimale entre deux champs magnétiques inversés ...mais aussi une distance maximale : c'est ce qui limite également le nombre de 0 successifs.
Ajoutons à cela que les variations de vitesse du lecteur ont une influence directe sur la détection du fait que le timing de détection est fixe et que si le drive va trop vite ou trop lentement il pourra conduire à éliminer des informations (les 0 en particulier), dès lors on comprend mieux le casse-tête à résoudre. Donc votre drive doit avoir une vitesse convenablement réglée sur 300 tours/minutes : TOUT EST EXPLIQUE ICI

La seconde est qu'il doit y avoir une "densité" suffisante d'inversions de champ (donc des 1) afin que le cadencement du système de lecture reste bien en synchronisation avec ce qui a été écrit : c'est ce qui explique à nouveau la limitation du nombre de zéros (et pas uniquement successifs cette fois) dans les valeurs qu'il est possible d'écrire et qui sont détaillées dans la rubrique suivante relative aux nibbles. On notera que le codage 4.4 est celui qui permet de résoudre le plus simplement possible la contrainte de densité des signaux (voir la rubrique codage) En effet avec ce système on est sûr d'avoir au moins une inversion tous les deux bits (chaque fois qu'on écrit un 1)

Ce système qui consiste à se servir des bits de données eux mêmes (significatives ou non d'ailleurs) pour assurer la base de temps est appelé self-clocking