Herramientas de usuario

Herramientas del sitio


fr:hardware:upd765

Contrôleur de disquette (FDC) µPD765 de NEC

Le NEC µPD765 est un contrôleur de disquette (FDC) iconique des années 80, fondamental dans l'architecture des ordinateurs de l'époque. Dans l'écosystème Amstrad, il a été intégré nativement dans des modèles tels que le CPC 664, le CPC 6128 et la série PCW, en plus d'être utilisé dans l'interface externe DDI-1 pour le CPC 464.

Spécifications Techniques Principales

  • Capacité: Peut contrôler jusqu'à 4 unités de disquette simultanément.
  • Densité: Supporte les formats de simple densité (FM, IBM 3740) et double densité (MFM, IBM System 34), y compris l'enregistrement sur les deux faces.
  • Modes d'opération: Permet des transferts de données via DMA (Direct Memory Access) ou via des interruptions (Non-DMA).
  • Commandes: Exécute un ensemble de 15 commandes pour la lecture, l'écriture, le formatage et la recherche (seek).

Utilisation dans les Systèmes Amstrad (CPC/PCW)

Sur les systèmes Amstrad, la puce communique avec le processeur via des ports d'E/S spécifiques :

  • Port &FB7E: Registre d'état principal (lecture seule).
  • Port &FB7F: Registre de données (lecture/écriture) pour envoyer des commandes et recevoir des résultats.
  • Port &FA7E: Contrôle du moteur de la disquette (On/Off) via un flip-flop externe.

Le bit b10 du port d'adresse est réinitialisé, car le FDC est considéré comme une extension, même s'il s'agit d'une puce interne. Le bit b7 est réinitialisé pour sélectionner le FDC. Les bits b8 et b0 sont utilisés pour sélectionner le mode d'opération spécifique. Tous les autres bits doivent être réglés sur 1 pour éviter les conflits.

Héritage et Documentation

Cette puce n'était pas seulement le cœur du stockage chez Amstrad, mais elle était aussi le standard dans les premiers IBM PC, le ZX Spectrum +3 et la Sega SC-3000.

Accès au µPD765

Le registre d'état principal signale quand le FDC est prêt à envoyer/recevoir le prochain octet via le registre de données.

Le Registre de Données est utilisé pour écrire des commandes et des paramètres, lire/écrire des octets de données et recevoir des octets de résultat. Ces trois opérations sont:

  • Phase de commande: une commande se compose d'un octet de commande (incluant éventuellement les bits MT, MF et SK) et de jusqu'à 8 octets de paramètres.
  • Phase d'exécution: Durant cette phase, les données réelles sont transférées (le cas échéant). Normalement, il s'agit des octets de données des secteurs de lecture/écriture, sauf pour la commande de formatage de piste, auquel cas 4 octets sont transférés pour chaque secteur. Pendant les transferts de données entre le FDC et le processeur, le FDC doit être servi toutes les 26 µs (en mode MFM avec temporisation CPC) sinon le FDC mettra fin à la commande.
  • Phase de résultat: Renvoie jusqu'à 7 octets de résultat (selon la commande) contenant des informations d'état. Pendant la phase de résultat, tous les octets de résultat doivent être lus. Le FDC n'acceptera pas de nouvelle commande tant que tous les octets de résultat n'auront pas été lus.

Note : Les commandes Recalibrer et Rechercher Piste ne renvoient pas d'octets de résultat directement. À la place, le programme doit attendre que le Registre d'État Principal indique que la commande est terminée. Ensuite, il doit envoyer une commande Détecter État d'Interruption pour finaliser la commande Rechercher/Recalibrer.

Documentation

Dans les liens suivants, vous pourrez consulter toute la documentation (en pdf) concernant la puce.

fr/hardware/upd765.txt · Última modificación: por jesus