*等待*按键并获取其矩阵或 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$
我找到了一些与获取按键相关的 BASIC 和 KERNAL 函数以及内存地址 press/line,但是我怎样才能简单地等待按键按下并获取其代码呢?我想暂停执行,并在按下某个键后恢复。我不希望他们在执行过程中排队。
原理是使用非阻塞调用,一直调用直到拿到key。
在汇编程序中,您可以在 $FFE4
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$