CODINGLA BIBLE DU CPC 6128

La bible du CPC 6128 : 1.10.01 Le clavier

Le clavier du CPC comprend en tout 74 touches. Comme les deux touches SHIFT sont branchées parallèlement, il y donc 73 touches différentes qui peuvent être interrogées.

La matrice dans laquelle les touches sont rangées comprend 8 fois 10 canaux. Comme les joysticks peuvent également être interrogés à travers cette matrice, 79 positions de touche sont donc occupées en tout. Le second joystick connecté directement sur le premier n'est pas connecté à des positions autonomes de la matrice, les branchements correspondants sont parallèles à des touches du clavier.

Du point de vue électronique, le clavier est interrogé à travers le 8255 et le chip sonore. Cela fonctionne à peu près de la façon suivante.

Le 8255 fournit aux sorties de port PC0 à PC3 une moitié d'octet qui est transformée par un décodeur 74LS145 en une information décimale. Suivant l'information figurant en entrée, une des dix sorties devient low. Ce décodeur est pour cette raison également appelé décodeur BCD-décimal. Si l'information en entrée n'est pas comprise entre 0 et 9, toutes les sorties du décodeur sont sur high.

Le port parallèle du chip sonore est programmé pour l'interrogation du clavier comme port d'entrée. Si aucun signal ne se trouve sur ces entrées, on obtient lors de la lecture du port un 1 sur toutes les entrées, en tout donc &FF.

Soit maintenant une information en entrée sur le décodeur de &04. La sortie pin 5 deviendra donc low. Mais le chip sonore ne le prendra pas en compte tant qu'aucune touche correspondante ne sera enfoncée. Le fait d'appuyer sur la touche ESC n'aura par exemple aucun effet à ce moment puisque la sortie pin 8 du décodeur est high. Mais si par contre la touche ESPACE est enfoncée, la valeur fournie par le chip sonore se modifiera. A cause de la touche enfoncée, le bit 7 du port est maintenant sur la masse et nous obtenons du chip sonore la valeur &7F.

Toutes les touches sont examinées 50 fois par seconde. A cet effet, les valeurs 0 à 9 sont sorties l'une après l'autre sur les quatre sorties utilisées du port C et la valeur du chip sonore est examinée après chaque sortie. Si des touches enfoncées sont alors enregistrées, les touches enfoncées sont placées dans un tableau et sont si nécessaire converties en numéros de touche et en caractères correspondants.

Un fait très pratique sur le clavier est que jusqu'à 20 caractères sont stockés provisoirement. Dans des programmes Basic, on peut déjà commencer à faire des entrées alors que l'ordinateur n'a pas terminé certains calculs ou qu'il est occupé à la sortie sur écran. L'interrogation du clavier n'est bloquée que lors de l'utilisation du lecteur de cassette, ainsi que lors du listage de programmes BASIC ou encore lors de certaines opérations avec la disquette, car il ne reste pas assez de temps pour cela, étant donné le timing très précis de ces opérations. La seule exception est la touche ESC qui est en effet nécessaire pour permettre une éventuelle interruption de l'opération en cours.


1.10.1.1 La matrice du clavier

Le clavier a par ailleurs une petite particularité. Essayez par exemple d'appuyer simultanément sur les touches J, K et L. De façon très surprenante, vous voyez apparaître en outre un H sur l'écran. Cela se produit toujours lorsque vous appuyez sur trois touches qui constituent les angles d'un carré dans la matrice du clavier, de même par exemple que 123 ou DFG. Dans ce cas apparaît simultanément le quatrième caractère de la matrice.

Ce 'défaut' est sans grande conséquence et vous pouvez par ailleurs également interrompre des programmes en appuyant simultanément sur les touches 2, 3 et E.

★ ANNÉE: ???

Page précédente : La bible du CPC 6128 : 1.10.00 Les interfaces du CPC
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 304 millisecondes et consultée 2593 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.