CPC-POWER : CPC-SOFTS - CPCArchives 
Options de Recherche :
 
 
 

ARTICLES

4 / 5

Les composants autour du Z80

Architecture interne


Le système est articulé autour d'une unité centrale Z80 avec une horloge de 4MHz.

Le circuit le plus important de l'Amstrad, à l'exception du microprocesseur lui-même, est certainement le "GATE ARRAY"
qui contient toute la logique de contrôle du système. En particulier, il contrôle la couleur, le mode écran et il gère les mémoires mortes (ROM).

En conjonction avec le CRTC 6845 (Cathode Ray Tube Controller), le "GATE ARRAY" gère tous les signaux vidéos pour le moniteur (écran).

Un autre circuit important est le PSG AY-3-8912 (PSG=Programmable Sound Generator). Ce circuit possède trois canaux distincts avec un générateur de bruit et un contrôleur d'enveloppe pour chaque canal.

Le système est également pourvu d'un port entrée-sortie qui est utilisé pour lire le clavier et la manette de jeux.

Le dernier circuit principal est le PPI 8255. Il jour un rôle important au niveau de la gestion de la manette de jeux, du port parralèle d'imprimante, de l'enregistreur à cassettes et aussi au niveau de la sélection des colonnes du clavier.

Le système possède 64K de mémoire vive (RAM) et 32K de mémoire morte (ROM) qui contiennent le système d'exploitation et le Basic.

La mémoire morte (ROM) de 32K, située sur le circuit central, est découpée logiquement en deux blocs de 16K. Les 16K inférieurs vont de l'adresse 0000 à l'adresse 3FFF et les 16K supérieurs occupent les adresses C000 à FFFF. Ces deux mémoires peuvent être séparément mises en circuit ou hors circuit par le contrôle de la "GATE ARRAY".

Sur le port d'extension, nous trouvons un signal pouvant être utilisé pour déconnecter les mémoires mortes internes et permettre à des mémoires externes d'accéder au processeur. Cette possibilité permet, par exemple, d'installer un disque souple.

La mémoire vive est constituée de 64K octets de RAM dynamiques qui vont de l'adresse 0000 à FFFF. Les 16K inférieurs et les 16K supérieurs se trouvent donc en superposition avec la ROM. Normalement, cela ne pose aucun problème. Lorsqu'on écrit, on écrit automatiquement dans la RAM. Lorsqu'on lit, il faut au préalable sélectionner la ROM ou la RAM, suivant ce que l'on désire lire.

La mémoire écran se situe dans la mémoire centrale et occupe 16K. Elle peut se trouver à l'adresse 0000, à l'adresse 4000, à l'adresse 8000 ou à l'adresse C000. Généralement, au départ, elle se trouve à l'adresse C000.

 

Article

I/O Port allocation

 

 

CIRCUIT AY-3-8912

Structure interne

Le PSG est composé des éléments suivants:
- Générateurs sonores : au nombre de trois, ils produisent un signal carré dont la fréquence est programmable. On les appelle CANAUX A,B et C. Ils n'ont pas de priorité propre et sont indépendants.
- Générateur de bruit blanc : il produit un bruit à large spectre.
- Mélangeur : Il permet de mélanger (combiner) les sorties des trois générateurs sonores et du générateur de bruit.
- Contrôleur d'amplitude : il permet de sélectionner l'amplitude de sortie du signal de deux façons différentes. La première est de contrôler l'amplitude par le microprocesseur lui-même : elle est dite amplitude fixe. La seconde est de controler l'amplitude par le générateur d'enveloppes : elle est dite amplitude variable.
- Générateur d'enveloppe : il produit une enveloppe de modulation de l'amplitude. Il possède huit formes d'enveloppes.
- Convertisseurs digitaux-analogiques : les trois convertisseurs D/A produisent les signaux à 16 niveaux tels que le contrôleur d'amplitude les détermine.
- Port d'entrée/Sortie : il ne sert pas à la production sonore.

 

Programmation de l'AY-3-8912

Le PSG est accessible à travers les ports A et C du PPI 8255.

Pour plus de facilité, l'écriture dans le PSG peut se faire au moyen de la routine 188 (BD34). La lecture de l'état du clavier et des manettes de jeux est donc plus difficile à mettre en oeuvre directement. Il est donc conseillé de passer par les points d'entrée standard du logiciel interne.

Pour ceux qui voudraient quand même programmer directement le PSG, signalons que les deux signaux de commande BDIR et BC1 sont fournis par le port C du PPI 8255.

 BDIR  BC1   Fonction
 0  0  Inactif : pas de Fonction
 0  1  Lecture : le contenu du registre courant est mis sur le bus des données D0-D7.
 1  0  Ecriture : le bus D0-D7 contient une donnée à écrire dans le registre courant.
 1  1  Ecriture : le bus D0-D7 contient un numéro de registre qui deviendra le registre courant.

 

Article

PSG AY-3-8912 by General Instruments

Datasheets

PSG AY-3-8912

PSG AY-3-8912 Data Manual

 

 

CIRCUIT PPI 8255

Généralités

le PPI est un circuit fabriqué par INTEL sous la dénomination 8255A. C'est un circuit d'interfaçage prévu pour les processeurs de la famille du 8080.
 
Il possède 24 bits d'entrée/sortie qui peuvent être programmés en deux groupes de 12 bits et utilisés dans trois modes principaux.

Dans le premier mode (mode 0), chaque groupe de 12 bits peut être programmé par tranches de 4 bits en entrée comme en sortie.

Dans le second mode (mode 1), chaque groupe de 12 bits peut être programmé de la façon suivante : 8 bits sont utilisés en entrée/sortie, les 4 autres sont utilisés pour le HANDSHAKING (contrôle de transmission).

Le troisième mode (mode 2), est un mode où 8 bits sont utilisés comme PORT bidirectionnel et 5 bits pour le HANDSHAKING.

Le PPI possède aussi la possibilité de positionner des bits à l'état 0 ou 1 directement.

Pour plus de facilité, le PPI est divisé en trois ports de 8 bits distincts appelés PORT A, PORT B et PORT C.

le PORT C se divise en deux groupes de 4 bits pour former les groupes de 12 bits avec A et B.

Découpage des ports:

Port A - utilisé en entrée et en sortie.

 B0 à B7  Correspondent aux D0 à D7 de l'AY-3-8912


Port B - utilisé en entrée uniquement

 Bit 7  Lecture donnée cassette (INPUT)
 Bit 6  Signal BUSY imprimante (INPUT)
 Bit 5
 Bit 4
 Bit 3
 Bit 2
 Bit 1
 Non utilisé
 Bit 0  Interruption en provenance du CRT.

 

Port C - utilisé en sortie uniquement

 Bit 7  Commande BDIR de l'AY-3-8912 (OUTPUT)
 Bit 6  Commande BC1 de l'AY-3-8912 (OUTPUT)
 Bit 5  Ecriture donnée sur cassette
 Bit 4  Démarrage moteur cassette
 Bit 3 à 0  Sélection de la ligne clavier

 

Programmation

Le PPI est interfacé aux adresses suivantes:

Adresse F4xx   Lecture et écriture PORT A.
Adresse F5xx   Lecture et écriture PORT B.
Adresse F6xx   Lecture et écriture PORT C.
Adresse F7xx   Ecriture dans le registre de contrôle.

Remarques:

- xx signifie n'importe quoi
- A est utilisé en lecture et en écriture. B est utilisé en lecture seule et C en écriture seule.

 

Article

8255 PPI by Intel

Datasheets

PPI Intel 8255

PPI Intel 82C55a

 

 

LE CIRCUIT CRT 6845

Généralités

Le circuit 6845 contrôle la génération des signaux vidéo. Il possède un PORT bidirectionnel de 8 bits et peut être positionné au moyen de 19 registres internes. Un des registres sert d'ailleurs de tampon pour la programmation des 18 autres.

Les différents registres du 6845

R0 à R3 Déterminent le format horizontal et le timing. ils sont chargés en standard avec des valeurs précises en fonction du mode. Par exemple, en mode 1 : R0=63, R1=40, R2=46, R3=142.
R4 à R9 Déterminent le format vertical. Ils sont chargés avec des valeurs précises. R4=38, R5=0, R6=25, R7=30.
R10 à R15 Gèrent le curseur et sont continuellement modifiés par le software.
R16 à R17 S'occupent de la gestion du sylo optique.

 

 R0  Nombre de caractères total en horizontal 0-255
 R1  Nombre de caractères affichés en horizontal 0-255.
 R2  Synchronisation horizontale (position) 0-255.
 R3  Longueur de synchronisation 0-15.
 R4  Nombre de lignes total en vertical 0-127.
 R5  Synchronisation verticale 0-31.
 R6  Nombre de caractères affichés en vertical 0-127.
 R7  Synchronisation verticale (position) 0-127.
 R8  Mode entrelacé 0-3.
 R9  Scanning 0-31.
 R10  Ligne de départ du scanning du curseur 0-31.
 R11  Ligne de fin de scanning du curseur 0-31.
 R12  Octet le plus signficatif de l'adresse de départ de la vidéoram 0-16383
 R13  Octet le moins significatif
 R14  Position du curseur (OLPS) 0-16383.
 R15  Position du curseur (OLMS)

 

Programmation

Deux adresses de PORT suffisent pour programmer le CRTC.

Le port BCxx sert à donner des adresses de registre et le PORT BDxx sert à écrire des données sur le registre courant.

Les registres sont à écriture seule, à l'exception de R14 et R15 qui peuvent être lus, et donnent ainsi la position courante du curseur.

 

Datasheets

CRTC Type 0 Hitachi HD6845

CRTC Type 0-1 UMC IM6845

CRTC Type 2 Motorola MC6845

 

 

LA VIDEO GATE ARRAY

Généralités


L'Amstrad est équipé d'un circuit spécial qui s'occupe de la commutation des ROM et du controleur CRT 6845. Ce circuit ne porte pas de numéro standard et est appelé GATE ARRAY.

 

Programmation

Le GATE ARRAY peut être considéré comme un port de sortie de 8 bits commandé par un OUT sur le port 7Fxx.

Les deux bits supérieurs contrôlent le type d'application.

 B7  B6  
 0  0  Chargement registre de palette
 0  1  Chargement mémoire de palette
 1  0  Commutation ROM et controle vidéOUT
 1  1  Réservé


 
Commutation ROM et contrôle vidéo

BIT 7=1, BIT 6=0, BIT 5=0
BIT 4=1 : remettra à 0 le diviseur qui génère les interruptions.
BIT 3=0 : ROM supérieure connectée. BIT 3=1 : ROM supérieure déconnectée.
BIT 2=0 : ROM inférieur connectée. BIT 2=1 : ROM inférieure déconnectée.
BIT 1   : contrôle vidéo MC1
BIT 0   : contrôle vidéo MC0



Registre de palette

BIT 7=0, BIT 6=0, BIT 5=0
BIT 4=0 : chargement de numéro de couleur d'encre donné par B0-B3
BIT 4=1 : chargement de numéro de couleur de bord (B0-B3 ignorés)
BIT 3 à BIT 0 donnent le numéro d'encre (15 couleurs possibles).


Mémoire de palette
BIT 7=0, BIT 6=1, BIT 5=0
BIT 4 à BIT 0 : 31 valeurs pour le décodage de la couleur du registre de palette. Le nombre de couleurs possibles varie en fonction du mode choisi.

 

Article

Gate Array by Amstrad

Datasheet

Amstrad Gate Array 40007 40008 40010

 

 

LE CONTROLEUR DE DISQUETTES

Datasheet

FDC NEC UPD765A

 

 

Extrait du livre :  Clefs pour Amstrad - 1. Système de base (Mémento P.S.I.)

 

Article créé le : Mercredi 10 Février 2010 à 20 h 30
Dernière mise à jour le : Mercredi 08 Octobre 2014 à 16 h 26
 
 

CPC-POWER/CPCArchives, projet maintenu par Fredouille.
Programmation par Kukulcan © 2007-2017 tous droits réservés.
Reproduction sans autorisation interdite. Tous les titres utilisées appartiennent à leurs propriétaires respectifs.