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 :
TCL C74 Series 55C743 – TV 55” 4K QLED 144 ...
Voir le deal
499 €

Navigation
 Accueil
 Forum
 Membres
 Profil
 FAQ
 Rechercher
Liens
La structure des pistes d'une disquette sur CPC
La structure des pistes d'une disquette sur CPC EmptyMar 8 Mar - 11:29 par Demoniak
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



Commentaires: 6
Derniers sujets
» ConvImgCPC
La structure des pistes d'une disquette sur CPC EmptyLun 31 Oct - 11:20 par Demoniak

» convertir des vieux dsk double face
La structure des pistes d'une disquette sur CPC EmptyDim 20 Oct - 14:53 par Antoine Rutten

» pistolets au pc-cpc 0.1atbeta29?
La structure des pistes d'une disquette sur CPC EmptyMer 2 Jan - 15:35 par Demoniak

» Nyan Cat
La structure des pistes d'une disquette sur CPC EmptyDim 5 Aoû - 16:28 par jeffconquerant

» Mes vielles disquettes CPC
La structure des pistes d'une disquette sur CPC EmptyDim 5 Aoû - 16:25 par jeffconquerant

» Sexy Slide Show CPC+
La structure des pistes d'une disquette sur CPC EmptySam 4 Aoû - 23:22 par Kris

» CPC-Aventures
La structure des pistes d'une disquette sur CPC EmptyVen 3 Aoû - 19:26 par Demoniak

» [PC/MAC] AmigaOnline, jouez à l'Amiga...en ligne!
La structure des pistes d'une disquette sur CPC EmptyDim 17 Juin - 12:16 par AmigaOnline

» ManageDsk
La structure des pistes d'une disquette sur CPC EmptyMer 9 Mai - 8:38 par Demoniak

Qui est en ligne ?
Il y a en tout 2 utilisateurs en ligne :: 0 Enregistré, 0 Invisible et 2 Invités

Aucun

Le record du nombre d'utilisateurs en ligne est de 45 le Sam 29 Juil - 8:14
Sondage
Statistiques
Nous avons 96 membres enregistrés
L'utilisateur enregistré le plus récent est xave2000

Nos membres ont posté un total de 352 messages dans 66 sujets