*等待*按键并获取其矩阵或 PETSCII 代码的简单方法?

Simple way to *wait* for a key press, and get its martrix or PETSCII code?

我找到了一些与获取按键相关的 BASIC 和 KERNAL 函数以及内存地址 press/line,但是我怎样才能简单地等待按键按下并获取其代码呢?我想暂停执行,并在按下某个键后恢复。我不希望他们在执行过程中排队。

原理是使用非阻塞调用,一直调用直到拿到key。

在汇编程序中,您可以在 $FFE4

处使用 KERNAL 函数 GETIN
WAIT_KEY
    jsr $FFE4        ; Calling KERNAL GETIN 
    beq WAIT_KEY     ; If Z, no key was pressed, so try again.
                     ; The key is in A

在 BASIC 中你可以使用 GET

10 GET A$:IF A$="" GOTO 10:REM WAIT FOR KEY
20 PRINT A$

上面我使用了空格来提高可读性,但是空格不是必须的(它们占用内存并且需要时间来处理。可以写成:

10 GETA$:IFA$=""GOTO10
20 PRINTA$