006
01.01.2021, 14:08 Uhr
G.Fischer
|
Das Problem ist gelöst, vielen Dank für die Unterstützung. Es war eine reine Softwarefrage, keine Hardwarefrage.
Kurz zusammengefasst: In der INKEY Routine ist eine Schleife (vermutlich zur Tastenentprellung) implementiert, die nicht oder erst nach einer gewissen Zeit verlassen wird, solange die Taste gedrückt bleibt. Bei Spielen mit Tastaturbedienung stört das gewaltig. Im Speicher (Adr. 0004h) wird der Tasten-Code von INKEY zwischengespeichert. Wird die Routine erneut aufgerufen, vergleicht sie die gedrückte Taste mit dem gespeicherten Wert. Falls die Werte gleich sind, bleibt die Routine in einer Schleife, bis die Taste losgelassen wird. Wenn man, wie von Hobi vorgeschlagen, vor dem Aufruf der INKEY Routine eine 0 einträgt, wird die möglicherweise schon länger gedrückte Taste als frisch gedrückt interpretiert und ausgegeben. Wenn man den Zwischenspeicher immer vor dem Aufruf der INKEY Routine löscht, kann man eine Polling-Funktion (analog zu Sprungverteiler: JMP POLL) realisieren. |