!!!reading the keyboard from VolksForth
(Basic taken from "Thomas E. Rowley - Atari Basic spielend lernen")
!! Basic Version
{{{
10 REM read a keypress
20 PRINT "PRESS ANY KEY"
30 POKE 764,255
35 IF PEEK(764)=255 THEN 35
36 KEY=PEEK(764)
40 CLOSE #1:OPEN #1,4,0,"K:":GET #1,A
50 PRINT "The Key-Code of "; CHR$(A); " is "; KEY
60 GOTO 30
}}}
!!volksForth version using direct memory access the same way as the BASIC example does
{{{
: GETKEY ( read a keypress )
." Press any key" CR
255 764 C!
BEGIN
764 C@
255 < IF
764 C@
KEY ." The Key-Code of " DUP EMIT ." is " . CR
255 764 C!
THEN
REPEAT ;
}}}
alternative, more elegant version using the build in words "KEY?" and "KEY"
{{{
: GETKEY ( read a keypress )
." Press any key" CR
BEGIN
KEY? IF
764 C@ KEY
." The Key-Code of " DUP EMIT ." is " . CR
THEN
REPEAT ;
}}}