Index du Forum
IDENTIFICATION SERVEUR : 10.0.97.129 - CLIENT : 54.159.51.118

 FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres   Groupes d'utilisateursGroupes d'utilisateurs   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

Le déplacement de la tête de lecture

 
Poster un nouveau sujet   Répondre au sujet     Index du Forum -> PROBLEMES DIVERS
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
toinet
Site Admin


Inscrit le: 15 Juin 2007
Messages: 2949
Localisation: Le Chesnay, France

MessagePosté le: Mer 08 Aoû 2007, 10:38    Sujet du message: Le déplacement de la tête de lecture Répondre en citant

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
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
.



Inscrit le: 29 Mar 2007
Messages: 350

MessagePosté le: Mer 08 Aoû 2007, 14:39    Sujet du message: Répondre en citant

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 . le Mer 08 Aoû 2007, 14:53; édité 3 fois
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
.



Inscrit le: 29 Mar 2007
Messages: 350

MessagePosté le: Mer 08 Aoû 2007, 14:43    Sujet du message: Répondre en citant

arfff!! le cadrage tout pourri avec la police proportionnelle Embarassed
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 Evil or Very Mad Evil or Very Mad
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
JPL
Site Admin


Inscrit le: 12 Mar 2007
Messages: 165
Localisation: Issy les Moulineaux / PARIS

MessagePosté le: Mer 08 Aoû 2007, 18:16    Sujet du message: Répondre en citant

JM alors là pour le passe je comprends pas le délai est rallongé comme pas possible ... Confused

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 ... Shocked 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 ? Shocked

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
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail Visiter le site web de l'utilisateur
toinet
Site Admin


Inscrit le: 15 Juin 2007
Messages: 2949
Localisation: Le Chesnay, France

MessagePosté le: Mer 15 Aoû 2007, 17:52    Sujet du message: Répondre en citant

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
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
JPL
Site Admin


Inscrit le: 12 Mar 2007
Messages: 165
Localisation: Issy les Moulineaux / PARIS

MessagePosté le: Jeu 16 Aoû 2007, 10:50    Sujet du message: Répondre en citant

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
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail Visiter le site web de l'utilisateur
toinet
Site Admin


Inscrit le: 15 Juin 2007
Messages: 2949
Localisation: Le Chesnay, France

MessagePosté le: Jeu 16 Aoû 2007, 12:53    Sujet du message: Répondre en citant

Je suis content d'être en "phase" avec ton site Wink Je trouve ta page bien lisible et compréhensible, merci.

antoine
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
JPL
Site Admin


Inscrit le: 12 Mar 2007
Messages: 165
Localisation: Issy les Moulineaux / PARIS

MessagePosté le: Jeu 16 Aoû 2007, 13:40    Sujet du message: Répondre en citant

Laughing ...

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
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail Visiter le site web de l'utilisateur
JPL
Site Admin


Inscrit le: 12 Mar 2007
Messages: 165
Localisation: Issy les Moulineaux / PARIS

MessagePosté le: Jeu 16 Aoû 2007, 20:45    Sujet du message: Répondre en citant

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
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail Visiter le site web de l'utilisateur
toinet
Site Admin


Inscrit le: 15 Juin 2007
Messages: 2949
Localisation: Le Chesnay, France

MessagePosté le: Ven 17 Aoû 2007, 11:45    Sujet du message: Répondre en citant

Euh... c'est un peu flou m'sieur...
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
JPL
Site Admin


Inscrit le: 12 Mar 2007
Messages: 165
Localisation: Issy les Moulineaux / PARIS

MessagePosté le: Ven 17 Aoû 2007, 15:52    Sujet du message: Répondre en citant

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 Wink

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
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail Visiter le site web de l'utilisateur
toinet
Site Admin


Inscrit le: 15 Juin 2007
Messages: 2949
Localisation: Le Chesnay, France

MessagePosté le: Ven 17 Aoû 2007, 19:07    Sujet du message: Répondre en citant

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
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
JPL
Site Admin


Inscrit le: 12 Mar 2007
Messages: 165
Localisation: Issy les Moulineaux / PARIS

MessagePosté le: Sam 18 Aoû 2007, 15:45    Sujet du message: Répondre en citant

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 Embarassed

je suis fainéant parfois... j'ai honte Cool mais il n'y a pas de pb c'est à ta convenance Wink
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail Visiter le site web de l'utilisateur
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet     Index du Forum -> PROBLEMES DIVERS Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com