CODINGCLEFS POUR AMSTRAD 2 ★ Système disque par Daniel Martin et Philippe Jadoul ★

Clefs2 42 - FDC - Les registres d'état du FDC 765ACoding Clefs Pour Amstrad 2

LE FDC PD765A

Les registres d'état du FDC 765A

Le PD765A possède cinq registres d'état : le registre d'état principal qui peut être lu è tout instant ; les registres 0 à 2 à lecture séquentielle et le registre ET3 qui peut être lu par une instruction particulière.

Le registre d'état principal

B0-B3 FDD0-FDD3 (disque occupé).

Dès qu'une instruction de recherche de piste est lancée sur un des lecteurs, le bit correspondant est mis à 1. Aucune instruction de lecture ou d'écriture ne pourra être lancée sur ce lecteur tant que ce bit ne sera pas remis à 0 par la commande 12 (interrogation d'état interruption).

B4 CB (FDC occupé).

Positionné à 1, il signifie que le FDC est en train de traiter une commande de lecture ou d'écriture.

B5 ME (mode exécution).

Ce bit est uniquement positionné en mode non DMA. Dans ce mode, il est égal à 1 lors de la phase exécution et il est égal à 0 lors de la phase résultat.

B6 DES (données entrée/sortie).

Indique le sens de transfert des données entre le FDC et le registre données. Si DES = 0, le transfert s'effectuera du registre de données vers le CPU.

B7 DT (demande de transfert).

Si ce bit est égal à 1, il indique que le registre de données est prêt à transférer ou à recevoir des informations venant du CPU.

Le registre d'état ET0

B7-B6 CI (code interruption).
B7 B6
0 0 Instruction terminée sans erreur.
0 1 L'exécution de la commande a été lancée, mais elle ne s'est pas terminée avec succès.
1 0 Commande invalide.
1 1 Exécution abandonnée. Au cours de l'exécution de la commande, le signal ready du lecteur a changé d'état.

B5 F0

Lorsque le FDC a terminé une commande, il positionne ce bit à 1.

B4 VE (vérification d'équipement).

Ce bit signale si une erreur est envoyée au lecteur ou si la piste 0 n'a pas été trouvée lors de la commande 11.

B3 NPT (non prêt).

Lorsque le lecteur n'est pas prêt, ce bit est positionné pour une instruction de lecture/écriture.

B2 ADT (adresse de tête).

Ce bit est utilisé pour indiquer l'état de la tête sélectionnée au moment de l'interruption.

B1-B0 SD1-SD0.

Ces deux bits sont utilisés pour indiquer le lecteur sélectionné au moment de l'interruption.

Registre d'état ET1

B7 FP (fin de piste).

Il est égal à 1 si le FDC essaie d'accéder un secteur après une fin de piste.

B6 Non utilisé. Toujours égal à 0.

B5 ED (erreur donnée).

Ce bit est mis à 1 lors de la détection d'une erreur de CRC.

B4 OR (overrun).

Ce bit est égal à 1 si le transfert de données ne s'est pas déroulé dans un intervalle de temps précis.

B3 Non utilisé. Toujours égal à 0.

B2 ND (pas de données).

Ce bit est positionné si le secteur n'est pas trouvé ou si, lors d'une lecture ÏD secteur, le FDC ne peut pas lire un champ ID.

B1 NE (pas d'écriture).

Ce bit est positionné si, durant l'exécution d'une commande d'écriture, de lecture ou de formatage, le FDC détecte une protection d'écriture du FDD.

B0 MA (missing adress mark).

Il est égal à 1 si le FDC ne peut détecter l'identificateur ID après une rotation complète du disque ou si le FDC ne peut trouver un "data adress mark".

Registre d'état ET2

B7 ;Non utilisé. Toujours égal à 0.
B6 ;CM (control mark).

Ce bit est égal à 1 si le FDC trouve un secteur avec un "data adress mark" effacé.

B5 DD (erreur de données dans champ de données).

Ce bit est égal à 1 lors d'une détection d'erreur CRC dans les champs de données.

B4 PE (piste erronée).

Ce bit est positionné si le FDC constate une différence entre le numéro de la piste lue et le numéro de la piste prévue.

B3 VV (vérification secteur vrai).

Ce bit est égal à 1 si, lors d'une commande de vérification, le résultat est vrai.

B2 VF (vérification secteur faux).

Il est égal à 1 si, lors d'une commande de vérification quelconque (= ; >= ; <=), le résultat est faux.

B1 PD (piste défectueuse).

Ce bit est positionné à 1 si le numéro de piste lu dans ID est différent de celui prévu et que le numéro de piste lu est FF (base 16).

B0 MD (missing ADRESS MARK dans champ de données).

Ce bit est égal à 1 si le FDC ne peut trouver un "data adress mark" effacé ou un "data adress mark" lors d'une lecture.

Registre d'état ET3

B7 FT (faute).

Ce bit est utilisé pour indiquer une erreur signalée par le lecteur.

B6 PE (protection d'écriture).

Ce bit indique si la disquette est protégée.

B5 PT (prêt).

Ce bit est utilisé pour indiquer si la disquette est protégée.

B4 P0 (piste 0).

Par ce bit, le lecteur indique que sa tête est positionnée sur la piste 0.

B3 DF (double face).

Il permet de déterminer le type de lecteur (1 tête/2 têtes).

B2 ADT (adresse de tête).

Indique la tête sélectionnée.

B1-B0 SD1-SD0

Ces deux bits indiquent l'unité de disque sélectionnée.

★ ANNÉE: ???
★ AUTEUR(S): ???

Page précédente : Clefs2 42 - Fdc - Programmation et Registres
Je participe au site:

» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 475 millisecondes et consultée 1661 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.