Le d�placement de la t�te de lecture est fait par un moteur PAS A PAS qui est diff�rent ce celui qui fait tourner la disquette. Eh oui, comme d�j� dit, il y a bien deux moteurs dans un lecteur de disquette !
le "drive motor" qui permet de faire tourner la disquette � 300 tours/minute
le "stepper motor" qui permet de faire avancer la t�te de lecture ne pas � pas

Pour le d�tail de la s�lection des drives, allumage, extinction et tout ce qui concerne le "drive motor", tout est expliqu� dans la rubrique VITESSE DU DRIVE . Celui qui va nous passionner ici est le "stepper motor".

Notons auparavant que lorsque l'on dit "d�placment de la t�te de lecture", il faut entendre "d�placement du bloc portant la t�te de lecture".



LE "STEPPER MOTOR"... le moteur PAS A PAS

Celui qui nous int�resse ici est donc le second moteur qui permet de faire avancer ou reculer la t�te de lecture. Ses caract�ristiques sont � la base de syst�mes de protection tr�s sophistiqu�s mais avant de les examiner, voyons voir comment se fait le fonctionnement normal de cette petite merveille... et pour commencer : op�ration d�montage !

Petit d�montage...

Si je l'ai fait c'est bien pour vous �viter de le faire ! mais vous pouvez toujours essayer, je ne garantis pas que votre remontage sera � la hauteur de vos esp�rances, je crains m�me que cela ne fonctionne plus du tout...



Le fonctionnement de la merveille... physiquement !




Vous noterez sur la photo ci-contre :

En "A" (au contour en cyan) le bloc qui porte la t�te de lecture, ce bloc se d�place sur les bras fixes indiqu�s en "B" (en rouge).

Ok mais comment avance-t-il ?

Eh bien la came reper�e en "C" a la gravure d'un colima�on en "C1" dans lequel est plac� un petit guide en cuivre en "G" qui est solidaire du bloc "A" et lorsque la came tourne dans un sens ou dans un autre, ce guide qui reste encastr� dans le colima�on en suit le mouvement et fait ainsi avancer ou reculer le syst�me portant la t�te de lecture. Nous avons l� la transformation d'une rotation en un mouvement longitudinal.

Il suffit donc de programmer le moteur pas � pas qui fait tourner la dite came pour faire avancer ou reculer le syst�me de lecture de la disquette. Encore une belle �vidence biblique !

Du calme... pour l'instant on sait avancer et reculer mais pas se positionner sur une piste, ce qui est la suite de cette passionnante rubrique.
Avant toute chose il faut bien comprendre que le positionnement sur une piste se fait en g�n�ral par rapport � la piste 0 sur laquelle on est sens� �tre, en se d�pla�ant d'un certain nombre de pas n�cessaires pour aller jusqu'� la piste recherch�e (donc en avan�ant ou en reculant) et en v�rifiant PAR LA LECTURE d'un champ adresse le num�ro de piste sur lequel la t�te de lecture est sens�e �tre :

On est donc dans un contr�le LOGICIEL de la position de destination.

Si cela ne donne rien de bon alors vous entendrez le merveilleux bruit du drive qui se recalibre sur la piste 0 afin de recommencer pour cette fois se positionner � partir de la piste 0 (notons que les bruits du drive, du d�placement du bras en particulier, ont �t� utilis�s dans des logiciels pornographiques pour simuler ce que vous pouvez imaginer). Le bruit le plus fort est la frappe du syst�me � pattes contre l'axe de la came alors que le bruit de frottement est... le frottement justement du syst�me coulissant qui supporte la t�te de lecture.





Pourquoi se recalibrer sur la piste 0 ? Eh bien c'est la seule qui est toujours au m�me endroit pour tous les drives car un arr�toir physique est utilis� pour s'y positionner. Les autres pistes sont relatives � cette piste 0.

NOTA IMPORTANT :

L'axe qui sert de bloqueur n'est PAS celui de la disquette mais celui de la CAME qui sert � d�placer le bras de la t�te de lecture.

Pas convaincu ?
Regardez donc un lecteur vu de dessus ici.
Allez petit pervers le dessous t'interesses ? c'est ICI

Hacking corner
a Tous les pirates de la plan�te ont toujours �t� passionn�s pour voir sur quelles pistes un programme prot�g� va. Donc... ils ont d�mont� leur drive et regard� le d�placement du bras : mis�re ! en regardant ce syst�me (cf "A") se d�placer ils ont constat� que la distance entre chaque piste �tait quasiment ind�tectable.

Le principe de base du piratage �tant "IL Y A TOUJOURS UNE AUTRE VOIE", le mouvement de la came (Cf. "C") les a bigrement int�ress� car l� le d�placement de rotation entre deux pistes est LARGEMENT IMPRESSIONNANT... et cela a donn� ce syst�me de marquage qui est d�taill� dans la rubrique "rep�rer les pistes".



Le fonctionnement de la merveille... par la programmation !

Pour d�placer la t�te de lecture il faut r�aliser des op�rations successives d'alimentation(ON) / d�salimentation(OFF) des bobines tout en laissant un d�lai de 20 ms entre chacune de ces op�rations. C'est ce que l'on appelle enclencher les phases du moteur.

ATTENTION : pour pouvoir �crire d�s que vous �tes sur la piste recherch�e, les phases doivent �tre OFF... en r�alit� c'est surtout pour la phase 1 car celle-ci est �galement connect�e sur le syst�me de d�tection de la protection contre l'�criture. APPLE a sans doute impos� cela pour �viter que le bras de d�placement de la t�te de lecture ne bouge pendant une op�ration d'�criture ou lecture.

Pour ce faire vous disposez de 4 phases, chacune pouvant �tre ON ou OFF. Ce sont l� encore des softswitchs qui permettent ces op�rations, ils sont donn�s dans le tableau suivant et leur utilisation la plus simple reste l'adressage index� en ayant le num�ro de slot * 16 en index X.



Un d�placement des phases dans le sens ASCENDANT (de $C080 vers $C087) d�place le bras VERS l'INTERIEUR (donc vers la piste 35). Un d�placement des phases dans le sens DESCENDANT (de $C087 vers $C080) d�place le bras VERS l'EXTERIEUR (donc vers la piste 0)

Normalement le d�placement du bras d'une phase place la t�te sur la piste suivante MAIS le probl�me du disk II d'APPLE est la r�solution de la t�te de lecture qui N'EST PAS ASSEZ FINE POUR PERMETTRE CELA... ce qui implique en fait un d�placement de deux phases pour passer d'une piste � une autre... et l� vous comprenez tout de suite qu'en utilisant une seule de ces phases vous �tes sur les fameuses demi-pistes !

EXEMPLES

Admettons que je sois positionn� sur une piste et align� sur la phase 0, si je fais :
Phase 1 ON / d�lai / Phase 1 OFF je me d�place d'un pas DONC je SUIS SUR UNE DEMI-PISTE (les fameuses X,5) et align� sur la phase 1

Pour me d�placer d'une piste je dois faire :
Phase 1 ON / d�lai / Phase 1 OFF /d�lai /Phase 2 ON / d�lai / Phase 2 OFF

Le d�lai qui est de 20 ms laisse le temps au moteur de bouger effectivement le bras ... En jouant sur ce d�lai on peut alors �crire sur les non moins fameuses 1/4 de pistes !

EN SAVOIR PLUS SUR LE ROTOR ET CES PHASES : VOIR ICI

Source d'une routine de d�placement

L'entr�e de la routine se fait par TRKMOVE avec le num�ro de piste qui sera multipli� par deux pour avoir la correspondance en nombre de phases.

Si vous voulez utiliser cette routine pour r�aliser des d�placements sur des demi-pistes, il suffit d'entrer par TRKMOVE1 avec A qui contient le num�ro de phase de la demi piste cherch�e. Exemple : Pour la piste 1.5 alors A contient 3


PHASE0
WAIT

TRKMOVE
TRKMOVE1








IN1
IN2

OUT1
STEP














DONE

CURPH
SLOT

EQU $C080
EQU $FCA8

ASL
STX SLOT
SEC
SBC CURPH
BEQ DONE
BCS IN1
EOR #$FF
TAY
INY
BCC OUT1
TAY
INC CURPH
BCS STEP
DEC CURPH
PHP
LDA CURPH
AND #3
ASL
ORA SLOT
TAX
LDA PHASE0+1,X
LDA #$56
JSR WAIT
LDA PHASE0,X
PLP
DEY
BEQ DONE
BCS IN2
BCC OUT1
RTS

DS 1
DS 1


; La phase 0 sert de base
; Routine moniteur de d�lai
;
; 1 piste = 2 phases
; Sauve numero de slot

; Compare avec la position actuelle (th�orique)
; On est arriv� donc on sort
; Il faut se d�placer vers l'int�rieur
; Non donc complement � 2 pour difference
; ... et sauve en Y =

; Branchement syst�matique
; Sauve la diff�rence entre les pistes dans Y
; D�placement d'un track vers l'int�rieur
; Branchement syst�matique
; D�placement d'un track vers l'ext�rieur
; Sauve le pas de la direction (dans C)

; Conversion piste / phase
;


; Phase ON

; Petit d�lai
; Phase OFF
; Reprend P car C donne la direction
; Encore un pas?
; Non, donc on sort
; Oui et c'est vers l'int�rieur
; Oui et c'est vers l'ext�rieur


; Numero de piste actuelle
; Num�ro de slot
;
; RECALIB : cette routine sert pour recalibrer la t�te sur la piste 0, on l'appelle quand on est perdu ...
; Entr�e : X = num�ro de slot * 16 et ne pas oublier d'avoir le drive en ON
; Cette routine fait faire au drive un bruit un peu inqui�tant mais c'est normal car on lui fait croire qu'on est
; en piste 40 (donc � 80 demi pistes [soit $50 en hexad�cimal] de la piste 0) et qu'on veut justement aller sur la piste 0...
; qui n'est physiquement jamais aussi loin !
;
RECALIB LDA #$50
STA CURPH
LDA #0
JMP TRKMOVE1