Schneider / Amstrad CPC Forum
Amstrad / Schneider CPC => FutureOS => Topic started by: cpcman on 18. January 2024, 08:51:02
Hallo, gutenTag.
Ich brauche bitte einmal zwei Lösungen.
Ich möchte bitte im Kreislauf eine Tastenabfrage machen und darauf zu einem bestimmten Auftrag springen wenn eine bestimmte Taste gedrückt wurde.
- Einmal bitte im Kreislauf auf Tastendruck warten und dann reagieren.
- Nicht auf Tastendruck warten im Kreislauf, sondern reagieren wenn eine Taste gedrückt wird , dann zu einem bestimmten Auftrag springen. Der Kreislauf soll unermüdlich weitergehen.
Danke.
Dazu gibt's Informationen im Handbuch und in der Dokumentation der OS-Funktionen in ROM A. Ich kann hier ein paar Beispiele geben:
Joystick / Cursortasten + Copy abfragen:
;ROM A muss eingeblendet sein!
LOOP CALL XWART ;Warten bis die Tastatur frei ist
CALL H_JC ;Joystick / Tasten einlesen
RRA
JR NC,AUF ;Auf
RRA
JR NC,AB ;Ab
RRA
JR NC,LINKS ;Links
RRA
JR NC,RECHTS ;Rechts
RRA
JR NC,FEUER ;Feuer oder COPY gedrueckt
JR LOOP
Spezifische Taste der Tastatur abfragen:
;ROM A ist bereits an, ansonsten einschalten...
LD HL,&0580 ;Hier wird die Taste definiert (siehe Doku von HOLE1TS in ROM A)
CALL HOLE1TS ;Spezifische Taste abfragen
JR Z,SPACE ;SPACE wurde gedrueckt...
...
;Kein Space gedrückt...
Viel Erfolg!
Danke.
Funktioniert super.
Freut mich! :jubelaola: