APPLICATIONSDIVERS ★ Hardware-Tastaturabfrage ★

Tastaturabfrage|CPC Amstrad International)Applications Divers
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

Die nachfolgend abgedruckte Routine kann direkt in eigene Programme eingebunden werden und wird gegenüber des Firmware-Aufrufs um rund 8 % schneller abgearbeitet. Gegenüber der Firmware-Routine werden bei vorangestelltem DI die Interrupts nicht wieder freigegeben. Dies ist äußerst nützlich, wenn zum Beispiel der Systeminterrupt umgebogen wurde. Ebenso wird getestet, ob eine Taste allein oderaberin Verbindung mit einer anderen betätigt wurde. Um das Programm nutzen zu können, müssen Sie im Assemblerlisting für "ebene" einen entsprechenden Wert aus der Tabelle "Die entsprechenden ..." einsetzten. Um zu prüfen, ob die Taste gedrückt wurde, kann die Routine mit CP wert und einem Bedingungssprung wie zum Beispiel JP z,xxxx oder JP nz,xxxx zum Ausführen eines Unterprogramms veranlaßt werden. Beispiel:

Sie wollen testen lassen, obdie SPACE-Taste betätigt wurde. Dazu setzen Sie für "ebene" den Wert &45 ein und testen am Ende der Routine mit CP &7F, ob diese Taste gedrückt wurde. Danach muß nurnoch eine Bedingung folgen. Wenn Sie die Routine nur einmal testen wollen, so setzen Sie an den Anfang der Routine ein Label namens "label", und am Ende wird mit

CP &7F
JP NZ,label
RET

die Abbruchbedingung formuliert. Der Werl für"ebene" muß wie schon gesagt auf &45 gesetzt werden.


Die entsprechenden Kombinationen mit und/oder werden über dieselben Tastenwerte abgefragt, wie die Tasten ohne |

;Hardware-Tastatur-Abfrage
;(C) 1992 Klaus Meffert
; & CPC International
;INPUT A = ebene (&40 - &49)
;OUTPUT A = Hardware-Tastaturwert
;BC ist zerstoert, alle anderen Register bleiben
;unveraendert
;Interruptmodus bleibt unveraendert,
;kein Betriebssystemeinsprung!
;Laenge = 34 Bytes
;Der Quelltext wurde mit dem
;MAXAM-Assembler geschrieben .
LD A,ebene ;hier entsprechende Ebene aus der
;Tabelle einsetzen
LD BC,&F6C0
OUT (C),C
LD BC,&F40E
OUT (C),C
LD BC,&F792
OUT (C),C
LD B,&F6
OUT (C),A
LD B,&F4
IN A,(C)
LD BC,&F782
OUT (C),C
LD BC,&F600
OUT (C),C
;hier entsprechenden Wert (aus Tabelle) abfragen
;z.B. mit
;CP Wert
;und einer Bedingung
;wie z.B.:
;JP Bedingung,xxxx
;oder CALL Bedingung,xxxx

RS, CPCAI

★ PUBLISHER: CPC AMSTRAD INTERNATIONAL
★ YEAR: 1992
★ AUTOR: Klaus Meffert

CPCrulez[Content Management System] v8.7-desktop/cache
Page créée en 081 millisecondes et consultée 835 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.