Voir le sujet pr�c�dent :: Voir le sujet suivant |
Auteur |
Message |
toinet
Inscrit le: 15 Juin 2007 Messages: 326 Localisation: Paris, France
|
Post� le: Mer 08 Ao� 2007, 10:38 Sujet du message: Le d�placement de la t�te de lecture |
|
|
Je n'ai tjs pas tout compris les explications du site de JPL sur le d�placement de la t�te de lecture, seule une vieille doc interne de 1984 d'Apple m'a permis d'�tre moins perdu. En fait, je crois que la premi�re chose � savoir est la suivante : la piste 0 se trouve-t-elle au centre de la disquette ou � l'ext�rieur ?
Pour le d�placement des t�tes :
(en retenant que quatre phases = une piste)
- si on utilise des phases croissantes (C080, C081, etc.), on d�place la t�te vers la piste 35
- si on utilise des phases d�croissantes (C083, C082, etc.), on d�place la t�te vers la piste 0
ou, est-ce qu'en fait, il faut d'abord consid�rer la chose suivante pour d�placer la t�te :
- d'abord une phaseX ON puis une phaseX OFF
- puis si X d�croit, on d�place vers la piste 0
- mais si X croit, on d�place vers la piste 35
=> mais alors on doit garder en m�moire la derni�re utilis�e pour savoir si on d�place vers la piste 0 ou vers la piste 35, non ?
Ainsi (j'ai enlev� les d�lais volontairement) :
- C081 / C080 / C083 / C082 : move +1 track
- C083 / C082 / C081 / C080 : move -1 track
- C081 / C080: move +1.2 track
- mais alors comment faire -1.2 track? Faut-il consid�rer UNE phase comme �tant le passage � ON puis � OFF alors que moi, je consid�re qu'il y a deux phases ici (phase ON et phase OFF = deux phases)
Bon, je suis largu�... Une p'tite aide svp ? merci,
antoine |
|
Revenir en haut de page |
|
![](templates/subSilver/images/spacer.gif) |
Deckard
Inscrit le: 29 Mar 2007 Messages: 350 Localisation: Levallois-Perret / Le Mans
|
Post� le: Mer 08 Ao� 2007, 14:39 Sujet du message: |
|
|
Tiens, JP a modifi� la rubrique et rajout� de belles photos, j'avais pas vu!!!
C'est chouette.
La piste 00 est � l'ext�rieur.
La piste 68 est � l'int�rieur.
Code: |
*******************
* * DOS 3.3 *
* TRK * TRK&Half*
*******************
* 00 01 * 00 00.5 *
* 02 03 * 01 01.5 *
* 04 05 * 02 02.5 *
* ... * *
* 68 69 * 34 34.5 *
*******************
|
Concernant le stepper motor, de mon c�t� j'ai toujours eu une routine qui m�morisait la derni�re piste utilis�e.
Soit je la connais et c'est ok, soit je dois la rechercher (lecture de la piste sous la t�te de lecture pour connaitre son num�ro, faire *2 et forcer la piste courante avec la valeur lue).
Ou repartir de z�ro (en "for�ant" sur une piste imaginaire �lev�e <� partir de 70> quand j'avais perdu la trace de la position courante).
G�n�ralement, on utilise le num�ro de piste (courant et � atteindre) pour d�terminer la phase � utiliser (avec un maskage AND).
Ci-dessous un extrait de FASTDSK avec un exemple des valeurs des softswitchs quand tu avances ou recules.
Pour la 1/2 piste (dos 3.3), c'est pareil, tu fais juste 2 phases de moins.
Est-ce plus clair?
JM
Code: |
************************************
* Disk II interface card addr
* For slot 6 (without indexation)
DRVSM0OFF EQU $C0E0 ; Phase 0 off Stepper motor
DRVSM1OFF EQU $C0E2 ; Phase 1 off
DRVSM2OFF EQU $C0E4 ; Phase 2 off
DRVSM3OFF EQU $C0E6 ; Phase 3 off
DRVSM0ON EQU $C0E1 ; Phase 0 on Stepper motor
DRVSM1ON EQU $C0E3 ; Phase 1 on
DRVSM2ON EQU $C0E5 ; Phase 2 on
DRVSM3ON EQU $C0E7 ; Phase 3 on
*==============================*
* *
* MOVE ARM TO A "WANTED" TRACK *
* *
*==============================*
* In : CURHTRK "from" current half track [0,68]
* Acc "to" dos 3.3 track [0,34]
*
* Assume slot 6 (no slot indexation)
*
* E.g 1: from T$22 (half=$44) to T$20 (half=$40) >> DESC <<
* GOHTRK :$40
* CURHTRK:$44 CURHTRK > GOHTRK ==> do -1
* low 2 bits * 2 + softswitch -> phase on/off
* CURHTRK:$44-1=$43 -> 3*2 +$C0E1 = $C0E7 -> phase 3 on
* SAVHTRK:$44 -> 0*2 +$C0E0 = $C0E0 -> phase 0 off
* CURHTRK:$43-1=$42 -> 2*2 +$C0E1 = $C0E5 -> phase 2 on
* SAVHTRK:$43 -> 3*2 +$C0E0 = $C0E6 -> phase 3 off
* CURHTRK:$42-1=$41 -> 1*2 +$C0E1 = $C0E3 -> phase 1 on
* SAVHTRK:$42 -> 2*2 +$C0E0 = $C0E4 -> phase 2 off
* CURHTRK:$41-1=$40 -> 0*2 +$C0E1 = $C0E1 -> phase 0 on
* SAVHTRK:$41 -> 1*2 +$C0E0 = $C0E2 -> phase 1 off
* CURHTRK:$40 = GOHTRK ==> END
*
* E.g 2: from T$10 (half=$20) to T$11 (half=$22) >> ASC <<
* GOHTRK :$22
* CURHTRK:$20 CURHTRK < GOHTRK ==> do +1
* low 2 bits * 2 + softswitch -> phase on/off
* CURHTRK:$20+1=$21 -> 1*2 +$C0E1 = $C0E3 -> phase 1 on
* SAVHTRK:$20 -> 0*2 +$C0E0 = $C0E0 -> phase 0 off
* CURHTRK:$21+1=$22 -> 2*2 +$C0E1 = $C0E5 -> phase 2 on
* SAVHTRK:$21 -> 1*2 +$C0E0 = $C0E2 -> phase 1 off
* CURHTRK:$22 = GOHTRK ==> END
MOVE_ARM
ASL ; *2 (dos 3.3 track -> half track)
STA GOHTRK ; wanted half track
:1 LDA CURHTRK ; start from current half track
STA SAVHTRK ; save current half track
SEC ; current half track - wanted half track
SBC GOHTRK
BEQ ARM_OK ; we're on it -> end
BCS :2 ; CURHTRK > GOHTRK
; track ASC, phase ASC
INC CURHTRK ; position to next half track
BCC :3
; track DESC, phase DESC
:2 DEC CURHTRK ; position to previous half track
:3 JSR SEEK1 ; first phase (=current half track +/- 1)
JSR WAIT_ARM ; delay
LDA SAVHTRK ; saved track : 2nd phase (=current track)
AND #%00000011 ; reduce half track to phase 0 or 1 or 2 or 3
ASL ; *2: now 0 or 2 or 4 or 6. Ready for softswitch
TAX
LDA DRVSM0OFF,X ; phase off
; $C0E0 or $C0E2 or $C0E4 or $C0E6
JSR WAIT_ARM ; delay
BEQ :1 ; always
SEEK1 LDA CURHTRK ; use next/previous half track
AND #%00000011 ; reduce half track to phase 0 or 1 or 2 or 3
ASL ; *2: now 0 or 2 or 4 or 6
TAX ; use it as index
LDA DRVSM0ON,X ; for phase on: 1 or 3 or 5 or 7
; $C0E1 or $C0E3 or $C0E5 or $C0E7
ARM_OK RTS
WAIT_ARM LDA #$28 ; delay (stepper motor)
SEC
:1 PHA
:2 SBC #1 ; first loop
BNE :2
PLA
SBC #1 ; second loop
BNE :1
RTS ; acc=0
CURHTRK DFB 0 ; from current half track
SAVHTRK DFB 0 ; saved current half track
GOHTRK DFB 0 ; to "wanted" half track |
Derni�re �dition par Deckard le Mer 08 Ao� 2007, 14:53; �dit� 3 fois |
|
Revenir en haut de page |
|
![](templates/subSilver/images/spacer.gif) |
Deckard
Inscrit le: 29 Mar 2007 Messages: 350 Localisation: Levallois-Perret / Le Mans
|
Post� le: Mer 08 Ao� 2007, 14:43 Sujet du message: |
|
|
arfff!! le cadrage tout pourri avec la police proportionnelle
On peut pas visualiser avec une police type courrier ou courrier new?
JM
update: test� avec "code"
et cette fichue demande de mot de passe toutes les 3 secondes grgrgrgr ![Evil or Very Mad](images/smiles/icon_evil.gif) |
|
Revenir en haut de page |
|
![](templates/subSilver/images/spacer.gif) |
JPL Site Admin
Inscrit le: 12 Mar 2007 Messages: 160 Localisation: Issy les Moulineaux / PARIS
|
Post� le: Mer 08 Ao� 2007, 18:16 Sujet du message: |
|
|
JM alors l� pour le passe je comprends pas le d�lai est rallong� comme pas possible ...
Le deplacement du bras est la routine la plus perverse qui soit...
Le d�placement des phases dans le sens ASCENDANT (de $C080 vers $C087) d�place le bras VERS l'INTERIEUR (donc vers la piste 35).
Le d�placement des phases dans le sens DESCENDANT (de $C087 vers $C080) d�place le bras VERS l'EXTERIEUR (donc vers la piste 0)
Imagines qu'en fait tu allumes un aimant puis APRES que tu prends soin d'�teindre le pr�c�dent ainsi le rotor va tourner vers cet aimant allum�... dans un sens ou un autre selon que tu es en mode ascendant ou descendant, cela te fais comme une esp�ce de chenillard ... bon je ne sais pas si c'est plus clair ...
Le passage d'une phase vers une autre d�place d'une demi-piste quelle que soit cette phase en fait. Une difficulte vient souvent du fait que l'on appelle piste les demi- pistes. Pour �tre exact le passage d'une piste � l'autre se fait par le passage d'une phase � une autre ... qu'avec les 4 phases on avance donc de 4 pistes mais que cette *%� de t�te de lecture �tant trop large il faut �crire une piste sur deux ce qui fait qu'en r�alit� tes 4 phases te permettent de faire par exemple :
Depart sur piste 6
Phase 0 � 1 > Piste W = 6 + 0.5 = Piste 6.5
Phase 1 � 2 > Piste X = W + 0,5 = Piste 7
Phase 2 � 3 > Piste Y = X + 0,5 = Piste 7.5
Phase 3 � 0 > Piste Z = Y + 0,5 = Piste 8
Plus clair ?
Pour les 1/4 de pistes tu joues sur le d�lai n�cessaire pour passer d'une demi piste vers la suivante... c'est tellement chi... que les spiralings ou track arcing se font de pr�f�rence avec les 1/2 pistes c'est tout aussi p�nible � copier et cela marche sur quasiment tous les drives. D'autant que la copie des 1/4 de pistes se fait "ais�ment" � cause de la largeur de la t�te de lecture |
|
Revenir en haut de page |
|
![](templates/subSilver/images/spacer.gif) |
toinet
Inscrit le: 15 Juin 2007 Messages: 326 Localisation: Paris, France
|
Post� le: Mer 15 Ao� 2007, 17:52 Sujet du message: |
|
|
D�placer la t�te de lecture sur une autre piste
Cette traduction (r�arrang�e) provient d'une documentation interne d'Apple de 1984.
Le moteur pas � pas du Disk II est un moteur pas � pas en quatre phases.
Huit softswitches de contr�le d'E/S sont utilis�s pour changer l'�tat des quatre phases.
Deux phases adjacentes doivent �tre activ�es en s�quence pour d�plaer la t�te de L/E sur une piste adjacente.
Activer les phases en sens ascendant (0, 1, 2, 3, 0, 1, ...) d�place la t�te vers l'int�rieur de la disquette.
=> La t�te se d�place vers la piste 35.
=> Les pistes paires sont positionn�es sur la phase 0.
==> Pour avancer la t�te depuis une piste paire : la phase 1 puis la phase 2 doivent �tre activ�es en s�quence
==> Pour avancer la t�te depuis une piste impaire : la phase 3 puis la phase 0 doivent �tre activ�es en s�quence
Activer les phases en sens descendant (3, 2, 1, 0, 3, 2, ...) d�place la t�te vers l'ext�rieur de la disquette.
=> La t�te se d�place vers la piste 0.
=> Les pistes impaires sont positionn�es sur la phase 2.
==> Pour reculer la t�te depuis une piste paire : la phase 3 puis la phase 2 doivent �tre activ�es en s�quence
==> Pour reculer la t�te depuis une piste impaire : la phase 1 puis la phase 0 doivent �tre activ�es en s�quence
Qqsoit le nombre de pistes en d�placement, la derni�re phase doit �tre activ�e 37 msec. |
|
Revenir en haut de page |
|
![](templates/subSilver/images/spacer.gif) |
JPL Site Admin
Inscrit le: 12 Mar 2007 Messages: 160 Localisation: Issy les Moulineaux / PARIS
|
Post� le: Jeu 16 Ao� 2007, 10:50 Sujet du message: |
|
|
C'est exactement cela.
A noter que le d�lai entre piste est de 28 ms, qu'il peut �tre r�duit quand on se d�place de plusieurs pistes (ex: aller de 1 � 1A par exemple) pour tenir compte de l'inertie (c'est d'ailleurs ce que fait le DOS 3.3.
Le d�lai de 37ms de la derni�re phase est une s�curit� pour la stabilisation qui n'est r�ellement utile que si on se d�place de plusieurs pistes.
Les pages compl�mentaires sur le site HZA pour le rotor d�taillent le d�placement.
C'est ici :
http://www.hackzapple.com/DISKII/DISKIITECH09D.HTM
J'ai film� un track arcing mais je ne trouve pas le rendu extra, je le referai et s'il est correct je ferai l'upload.
Derni�re �dition par JPL le Jeu 16 Ao� 2007, 20:46; �dit� 1 fois |
|
Revenir en haut de page |
|
![](templates/subSilver/images/spacer.gif) |
toinet
Inscrit le: 15 Juin 2007 Messages: 326 Localisation: Paris, France
|
Post� le: Jeu 16 Ao� 2007, 12:53 Sujet du message: |
|
|
Je suis content d'�tre en "phase" avec ton site Je trouve ta page bien lisible et compr�hensible, merci.
antoine |
|
Revenir en haut de page |
|
![](templates/subSilver/images/spacer.gif) |
JPL Site Admin
Inscrit le: 12 Mar 2007 Messages: 160 Localisation: Issy les Moulineaux / PARIS
|
Post� le: Jeu 16 Ao� 2007, 13:40 Sujet du message: |
|
|
...
je vais rajouter deux programmes � titre d'exemple qui permettront de visualiser les d�placements de pistes et de 1/2 pistes une fois que les marquages sur le DISK II sont faits. |
|
Revenir en haut de page |
|
![](templates/subSilver/images/spacer.gif) |
JPL Site Admin
Inscrit le: 12 Mar 2007 Messages: 160 Localisation: Issy les Moulineaux / PARIS
|
Post� le: Jeu 16 Ao� 2007, 20:45 Sujet du message: |
|
|
Bon je viens de rajouter une video de track arcing (SKYFOX d'ECA) elle est dans rubrique ad hoc �
http://www.hackzapple.com/ORG1/MZ/PIRATESOFTS1.HTM
Je ne trouve pas la vid�o terrible mais j'ai pas encore mieux.
Je vais enregistrer le son c'est plus net, en attendant j'ai pb ADSL , merci Livebox... pour l'instant DeathBox !!! ![Evil or Very Mad](images/smiles/icon_evil.gif) |
|
Revenir en haut de page |
|
![](templates/subSilver/images/spacer.gif) |
toinet
Inscrit le: 15 Juin 2007 Messages: 326 Localisation: Paris, France
|
Post� le: Ven 17 Ao� 2007, 11:45 Sujet du message: |
|
|
Euh... c'est un peu flou m'sieur... |
|
Revenir en haut de page |
|
![](templates/subSilver/images/spacer.gif) |
JPL Site Admin
Inscrit le: 12 Mar 2007 Messages: 160 Localisation: Issy les Moulineaux / PARIS
|
Post� le: Ven 17 Ao� 2007, 15:52 Sujet du message: |
|
|
Oui je sais c'est vraiment pas terrible mais je l'ai fait avec un appareil photo et un �clairage pitoyable. Par ailleurs le bruitage sp�cifique n'est pas enregistr� et c'est sans doute ce qui permet le mieux de remarquer ce type de protection... sans �ventrer le code
Peut �tre qu'avec un cam�scope en mode ralenti voir m�me en mode normal ce serait mieux ???
Je suis preneur ... |
|
Revenir en haut de page |
|
![](templates/subSilver/images/spacer.gif) |
toinet
Inscrit le: 15 Juin 2007 Messages: 326 Localisation: Paris, France
|
Post� le: Ven 17 Ao� 2007, 19:07 Sujet du message: |
|
|
mon apn enregistre en 60 i/s en 320 avec le son, canon digital ixus 850, je peux te le pr�ter,
antoine |
|
Revenir en haut de page |
|
![](templates/subSilver/images/spacer.gif) |
JPL Site Admin
Inscrit le: 12 Mar 2007 Messages: 160 Localisation: Issy les Moulineaux / PARIS
|
Post� le: Sam 18 Ao� 2007, 15:45 Sujet du message: |
|
|
Tu es bon, Dieu te le rendra au centuple.
Ceci dit pour �viter le d�placement de ta merveille, je peux aussi te passer SKYFOX et un DISK II
je suis fain�ant parfois... j'ai honte mais il n'y a pas de pb c'est � ta convenance ![Wink](images/smiles/icon_wink.gif) |
|
Revenir en haut de page |
|
![](templates/subSilver/images/spacer.gif) |
|