CODINGCLASSEURS WEKA ★ Comment exploiter toutes les ressources et augmenter les performances de votre AMSTRAD CPC ★

4/2.7 - Les banques ROM ou FIRMWARE : FONCTIONS CLAVIER (!)Coding Classeurs Weka
4/2 - Assembleur Z80 : Définitions et rappels de base

4/2.7 - Les banques ROM ou FIRMWARE

FONCTIONS CLAVIER

KM INITIALISE #BB00 -

Initialisation complète du clavier.

  • Entrée : Aucune.
  • Sortie : AF, BC, DE et HL écrasés. Les autres registres sont intacts.

En relation : KM RESET

KM RESET #BB03 - Initialisation du clavier : Indirections et buffers.

  • Entrée : Aucune.
  • Sortie : AF, BC, DE, HL écrasés. Les autres registres sont intacts.

En relation : KM DISARM , KM EXP BUFFER , KM INITIALISE

KM WAIT CHAR #BB06 - Attend un caractère issu du clavier ou de l'extension courante.

Cette routine attend jusqu'à ce qu'un caractère soit disponible, s'il ne l'est pas immédiatement.

  • Entrée : Aucune.
  • Sortie : Carry à 1, les autres indicateurs sont écrasés.
    • A contient le caractère. Les autres registres sont intacts.

En relation : KM CHAR RETURN KM READ CHAR KM WAIT KEY

KM READ CHAR #BB09 - Essaie d'obtenir un caractère du buffer clavier ou de l'extension courante. Cette routine n'attend pas que le caractère soit disponible s'il n'y en a aucun de disponible immédiatement.

  • Entrée : Aucune.
  • Sortie :
    • Si un caractère était disponible : Carry à 1. A contient le caractère.
    • Si aucun caractère n'était disponible : Carry à 0. A écrasé.
    • Les autres flags sont écrasés. Les autres registres sont intacts.

En relation : KM CHAR RETURN KM READ KEY KM WAIT CHAR

KM CHAR RETURN #BB0C - Sauve un caractère pour un futur appel à KM READ CHAR ou KM WAIT CHAR.

  • Entrée : A contient le caractère à mettre dans le buffer.
  • Sortie : Tous les registres et les flags sont préservés.

En relation : KM READ CHAR KM WAIT CHAR

KM SET EXPAND # BB0F - Valide une chaîne d'expansion associée à une clé d'expansion.

  • Entrée : B contient la clé d'expansion pour l'expansion à valider. C contient la longueur de la chaîne HL contient l'adresse de la chaîne.
  • Sortie : Si l'expansion peut être réalisée : Carry = 1. Si la chaîne est trop longue ou le token invalide : Carry = 0. Dans tous les cas : A, BC, DE et HL détruits.
  • Les autres registres sont intacts.

En relation : KM GET EXPAND KM READ CHAR KM WAIT CHAR

KM GET EXPAND #BB12 - Lit un caractère d'une chaîne d'expansion. Les caractères de la chaîne sont numérotés à partir de 0.

  • Entrée : A contient le code d'expansion. L contient le numéro du caractère à lire.
  • Sortie : Si le caractère a été trouvé : Carry = 1. A contient le caractère. Si la clé est invalidée ou si la chaîne n'est pas assez longue : Carry = 0. A est écrasé.
  • Dans tous les cas : DE et les autres flags sont écrasés. Tous les autres registres sont intacts.

En relation : KM READ CHAR KM SET EXPAND

KM EXP BUFFER #BB15 - Déclaration d'un buffer d'expansion (adresse et longueur)

  • Entrée : DE contient l'adresse du buffer HL contient la longueur du buffer.
  • Sortie : Si tout s'est bien passé, Carry = 1 Si le buffer est trop petit, Carry = 0.
  • Dans tous les cas, A, BC, DE, HL et les autres flags sont écrasés. Les autres registres sont préservés.

En relation : KM GET EXPAND KM SET EXPAND

KM WAIT KEY #BB18 - Attend l'appui sur une touche du clavier.

  • Entrée : Aucune.
  • Sortie: Carry=1. A contient le caractère ou la clé d'expansion. Les autres flags sont écrasés.
  • Les autres registres sont préservés.

En relation : KM READ KEY KM WAIT CHAR

KM READ KEY #BB1B - Essaye de lire immédiatement une touche dans le buffer clavier.

  • Entrée : Aucune.
  • Sortie :
    • Si le buffer n'est pas vide, Carry = 1. A contient le caractère ou le code d'expansion.
    • Si le buffer est vide, Carry = 0. A écrasé.
  • Dans tous les cas : Les autres flags sont écrasés. Les autres registres sont intacts.

En relation : KM READ CHAR KM WAIT KEY

Page précédente : 4/2.7 - Les banques ROM ou FIRMWARE
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 459 millisecondes et consultée 838 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.