Mes contributions pour CPC / Amiga
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Mes contributions pour CPC / Amiga

Mes contributions pour l'Amstrad CPC et accessoirement l'Amiga
 
AccueilAccueil  PortailPortail  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment : -28%
Brandt LVE127J – Lave-vaisselle encastrable 12 ...
Voir le deal
279.99 €

 

 La structure des pistes d'une disquette sur CPC

Aller en bas 
2 participants
AuteurMessage
Demoniak
Rang: Administrateur



Nombre de messages : 165
Age : 54
Localisation : Dunkerque (Nord)
Date d'inscription : 21/07/2005

La structure des pistes d'une disquette sur CPC Empty
MessageSujet: La structure des pistes d'une disquette sur CPC   La structure des pistes d'une disquette sur CPC EmptyMar 8 Mar - 11:29

Pour coder un émulateur, il faut approfondir tous les circuits intégrés de la machine pour les émuler au mieux.
Je me suis penché sur le µpd765a de Nec, le controleur du lecteur de disquette, pour savoir comment l'émuler au mieux.
Ce circuit est cadencé à une fréquence de 4Mhz. Cela est important, car pratiquement tous les temps donnés sur les documents constructeurs sont valables pour une fréquence de 8Mhz. Sur cpc, il faut donc multiplier tous les temps par deux.
Ce qui m'intéressait principalement, c'était la lecture/écriture des secteurs sur une piste, et le temps d'accès de ces fonctions. Pour cela, il faut bien comprendre comment cela fonctionne...
Le cpc lit/écrit des données sur disquette via le contrôleur par le mode appelé MFM. Ce mode permet d'envoyer des octets bit par bit depuis/vers le support physique de la disquette.
La documentation nous indique qu'à 4Mhz et en mode MFM, les données sont envoyées à 500khz, soit une impulsion toute les 2µs (Période=1/Fréquence).
En MFM, 1 bit est enregistré par une suite de deux impulsions cadencée à la fréquence donnée. Donc, pour envoyer un octet, il nous faut 16 impulsions. Ce qui nous donne 32µs par octets.
Sachant que le disque tourne à la vitesse constante de 300 tours/minutes, soit 5 tours par secondes, cela nous donne 0,2 secondes pour un tour, soit 200000µs.
En divisant 200000 par 32, on obtient 6250, qui est le nombre maximal d'octets que peut contenir une piste.

Mais comment sont organisés les octets sur une piste ?
Heureusement, la documentation du µPD765 nous donne le schéma suivant:

- GAP 4a : 80 octets à #4E
- Sync : 12 octets à #00

Ces 92 premiers octets se retrouvent lorsque le disque est en face du "trou" d'index, soit au tout début de la piste.

- IAM : 3 octets à #C2 + 1 octet à #FC
- GAP 1 : 50 octets à #4E

Puis, pour chaque secteurs :
- Sync : 12 octets à #00
- IDAM : 3 octets à #A1 + 1 octet à #FE
- C (identification secteur 'C' = 1 octet)
- H (identification secteur 'H' = 1 octet)
- R (identification secteur 'R' = 1 octet)
- N (identification secteur 'N' = 1 octet)
- Crc (2 octets)
- GAP 2 (22 octets à #4E)
- Sync : 12 octets à #00
- DATA AM : 3 octets à #A1 + 1 octet à #FB ou #F8
- Les n données du secteurs (512 octets pour un secteur 'standard')
- Crc (2 octets)
- GAP #3 (x octets, dépend du formatage)

Pour finir, en fin de piste, on a le GAP 4B, qui sert à "remplir" le reste de la piste, pour arriver au total de 6250 octets.

Avec le schéma classique de l'amsdos, 9 secteurs de 512 octets et GAP3=#4E (78), on voit que l'on a, pour une piste :

80+12+4+50 octets en début de piste = 146
(12+4+4+2+22+12+4+512+2+78)*9 = (62+512+78)*9 = 5868
reste pour le GAP 4B (fin de piste) = 6250-5868-146 = 236 octets

Avec un Gap#3 à #24 (36), on arrive à mettre 10 secteurs par piste, en effet :
toujours nos 146 octets en début de piste,
on a maintenant 610 octets par secteurs, soit 6100 octets pour 10 secteurs
reste : 6250-6100-146 = 4 octets

Revenir en haut Aller en bas
http://cpc-pja.forumactif.com
mac_gyve
Invité




La structure des pistes d'une disquette sur CPC Empty
MessageSujet: Re: La structure des pistes d'une disquette sur CPC   La structure des pistes d'une disquette sur CPC EmptyMar 22 Mar - 16:08

je servai de testeur pour masterglob un moment ou il n'avait plus de cpc

pour lire des disquettes au format pc avec un cpc
il m'envoyait des routine à tester

et on s'etait penché sur le fait que le microcontroleur du lecteur de disquette de l'amstrad pouvait fonctionné 2 fois plus vite que ce que le cpc faisait

et qu'on pouvait surement grace au signal mfm (non relié sur le cpc ou toujours a la masse je crois) aller 2 fois plus vite et donc formatter des disquettes avec un capacité 2 fois plus grande

mais le projet n'est pas aller au bout


Revenir en haut Aller en bas
mac_gyve
Invité




La structure des pistes d'une disquette sur CPC Empty
MessageSujet: Re: La structure des pistes d'une disquette sur CPC   La structure des pistes d'une disquette sur CPC EmptyMar 22 Mar - 16:13

tiens y avait un sujet la dessus sur le forum de phenix

Revenir en haut Aller en bas
mac_gyve
Invité




La structure des pistes d'une disquette sur CPC Empty
MessageSujet: Re: La structure des pistes d'une disquette sur CPC   La structure des pistes d'une disquette sur CPC EmptyMar 22 Mar - 16:27

Code:
http://www.phenixinformatique.com/modules/newbb/viewtopic.php?topic_id=1758&forum=9
Revenir en haut Aller en bas
Demoniak
Rang: Administrateur



Nombre de messages : 165
Age : 54
Localisation : Dunkerque (Nord)
Date d'inscription : 21/07/2005

La structure des pistes d'une disquette sur CPC Empty
MessageSujet: Re: La structure des pistes d'une disquette sur CPC   La structure des pistes d'une disquette sur CPC EmptyJeu 24 Mar - 16:12

Ah oui j'ai vu, un sujet intéressant.

Merci de cette remarque Mac Smile
Revenir en haut Aller en bas
http://cpc-pja.forumactif.com
Kris
Bavard



Nombre de messages : 25
Localisation : 35
Date d'inscription : 23/07/2005

La structure des pistes d'une disquette sur CPC Empty
MessageSujet: Re: La structure des pistes d'une disquette sur CPC   La structure des pistes d'une disquette sur CPC EmptyDim 21 Aoû - 23:31

super interessant cet article, faudrait le copier/coller un peu partout sur les forum CPC Wink
Revenir en haut Aller en bas
http://www.phenixinformatique.com
Demoniak
Rang: Administrateur



Nombre de messages : 165
Age : 54
Localisation : Dunkerque (Nord)
Date d'inscription : 21/07/2005

La structure des pistes d'une disquette sur CPC Empty
MessageSujet: Re: La structure des pistes d'une disquette sur CPC   La structure des pistes d'une disquette sur CPC EmptyLun 22 Aoû - 8:38

Merci Kris ;-) Oui, on peut peut-être déjà le copier sur phenixinformatique.com

J'espère ne pas avoir dit de bétises et/ou avoir oublié certaines choses dans ce petit article.
Revenir en haut Aller en bas
http://cpc-pja.forumactif.com
Contenu sponsorisé





La structure des pistes d'une disquette sur CPC Empty
MessageSujet: Re: La structure des pistes d'une disquette sur CPC   La structure des pistes d'une disquette sur CPC Empty

Revenir en haut Aller en bas
 
La structure des pistes d'une disquette sur CPC
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Mes contributions pour CPC / Amiga :: Le forum-
Sauter vers: