Schneider / Amstrad CPC Forum

Amstrad / Schneider CPC => FutureOS => Topic started by: cpcman on 18. January 2024, 08:51:02

Title: Tatstenabfrage und Reaktion bei FutureOs
Post 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.
Title: Re: Tatstenabfrage und Reaktion bei FutureOs
Post by: TFM on 18. January 2024, 18:19:41
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!

Title: Re: Tatstenabfrage und Reaktion bei FutureOs
Post by: cpcman on 20. January 2024, 15:51:40
Danke.
Funktioniert super.
Title: Re: Tatstenabfrage und Reaktion bei FutureOs
Post by: TFM on 22. January 2024, 15:06:08
Freut mich!  :jubelaola: