~~NOTOC~~
A> CPS8256 (Interface parallèle centronics et série RS232C)
Description, Contexte et Histoire

Commercialisée officiellement par Amstrad plc en 1985, simultanément avec le lancement des modèles Amstrad PCW 8256 et PCW 8512, l'interface CPS8256 constitue le périphérique officiel le plus important pour l'expansion des communications de ce système. La conception de base de la gamme PCW manquait délibérément de ports de communication standard à usage général, se limitant à des canaux propriétaires intégrés destinés uniquement à son moniteur et à son imprimante matricielle native. La CPS8256 a été conçue pour combler cette limitation, permettant pour la première fois la connexion directe de modems téléphoniques, de souris série, de traceurs et le transfert de données vers des imprimantes externes de tierces marques.

Au niveau de la documentation historique, il a existé une confusion persistante dans les magazines spécialisés des années 80 affirmant que le port parallèle implémenté ne respectait pas strictement la norme Centronics en opérant avec une longueur de mot de 8 bits purs. Cette affirmation est un mythe démenti par l'analyse matérielle : le port physique est 100% standard par rapport à ses lignes électriques et à son protocole. Le problème réel résidait dans le logiciel de traitement de texte LocoScript de Locomotive Software, qui utilisait une table de caractères interne et des formats de contrôle propriétaires ; cela provoquait des impressions illisibles si les documents n'étaient pas exportés ou convertis préalablement au format ASCII standard avant d'être envoyés via le port parallèle.

Cette interface a radicalement élargi l'écosystème professionnel du PCW, permettant des connexions asynchrones avec des mainframes ou des PC compatibles IBM via la suite de transfert de fichiers LocoLink ou le protocole de terminal Kermit, consolidant ainsi l'ordinateur comme un outil de bureau ouvert et polyvalent plutôt qu'une machine à écrire fermée.

Architecture Matérielle et Composants de Silicium

Du point de vue de l'ingénierie électronique, la CPS8256 abrite sur sa carte interne un ensemble de circuits intégrés de la famille logique Zilog (ou clones sous licence) parfaitement coordonnés pour gérer les E/S asynchrones sans surcharger le processeur principal Z80 de l'ordinateur :

Mappage des Ports d'Entrée/Sortie (I/O) du Z80

L'interface CPS8256 se décode sur le bus du système en occupant une plage fixe de 8 ports adressables allant de 0E0h à 0E7h. Le plan des registres matériels se décompose de la manière suivante :

Port (Hex) Port (Dec) Accès Fonction du Système et Registre Cible
0E0h 224 R / W Z80 DART (Canal A) - Registre de Données : Lit les caractères entrants depuis le tampon série (Rx) et écrit les données à transmettre (Tx).
0E1h 225 R / W Z80 DART (Canal A) - Registre de Contrôle : Écrit pour pointer vers les registres internes (WR0-WR5) et lit les registres d'état (RR0-RR1).
0E2h 226 Écriture Port Parallèle Centronics - Registre de Sortie (Data Latch) : Stocke et verrouille le octet de données de 8 bits sur les lignes physiques D0-D7 pour l'imprimante.
0E3h 227 Lecture Port Parallèle Centronics - Registre d'État : Lecture en temps réel des lignes matérielles de contrôle physiques (Busy, /Ack, Paper Empty, Select).
0E4h 228 Écriture Z80 CTC (Canal 0) - Temporisateur de l'Émetteur : Définit la constante de temps qui détermine le Baud Rate de la transmission série (Tx).
0E5h 229 Écriture Z80 CTC (Canal 1) - Temporisateur du Récepteur : Définit la constante de temps qui détermine le Baud Rate de la réception série (Rx).
0E6h 230 Ligne réservée par le décodage matériel / Inutilisée par la configuration standard d'Amstrad.
0E7h 231 Écriture Z80 CTC (Canal 3) - Registre de Contrôle Général : Initialise le mode de fonctionnement des circuits de comptage et des interruptions du temporisateur matériel.
Structure Interne des Registres du Z80 DART (Port 0E1h)

Pour la programmation directe à bas niveau (par exemple, en code assembleur Z80 en contournant les appels BIOS de CP/M), le port de contrôle de la CPS8256 fonctionne de manière séquentielle. On écrit dans 0E1h le numéro du registre interne auquel on souhaite accéder, et au cycle d'horloge d'E/S suivant, la valeur de configuration est envoyée ou lue sur ce même port. Les fonctions critiques des bits de préservation sont détaillées ci-dessous :

Connexions et Brochages des Ports (Pinout)

La CPS8256 expose à l'extérieur deux types de connexions normalisées internationalement, câblées selon les spécifications de conception électronique d'Amstrad :

1. Port Série (Connecteur Mâle DB25 - Configuration Standard DTE) :

Broche DB25 Signal RS-232C Flux (PCW) Fonction de la Ligne Électrique
Broche 1 GND (Shield) Masse de protection du châssis et référence de blindage du câble.
Broche 2 TXD (Transmit Data) Sortie Ligne de transmission série pour les données binaires asynchrones.
Broche 3 RXD (Receive Data) Entrée Ligne de réception série pour les données binaires asynchrones.
Broche 4 RTS (Request To Send) Sortie Demande de contrôle de flux matériel envoyée par le PCW pour transmettre des données.
Broche 5 CTS (Clear To Send) Entrée Signal du périphérique autorisant le PCW à envoyer des données.
Broche 6 DSR (Data Set Ready) Entrada Confirmation que l'appareil distant/modem est sous tension et prêt.
Broche 7 GND (Signal Ground) Masse de référence commune pour tous los signaux de données numériques.
Broche 8 DCD (Data Carrier Detect) Entrée Ligne de détection de tonalité de porteuse téléphonique (utilisée par les modems).
Broche 20 DTR (Data Terminal Ready) Sortie Signal confirmant que l'Amstrad PCW est en ligne et opérationnel.
Broche 22 RI (Ring Indicator) Entrée Indicateur de la ligne de détection de sonnerie téléphonique.

2. Port Parallèle (Connecteur Femelle Amphenol Centronics à 36 broches) :

Support du Système d'Exploitation et Intégration des Émulateurs
Documentation et Téléchargements