705d68deec
With KEY and EMIT being switch words, most of the high layer can be defined before drivers. In addition to this change, I've compacted core blocks which were becoming quite sparse.
14 lines
356 B
Plaintext
14 lines
356 B
Plaintext
( Read word from C<, copy to WORDBUF, null-terminate, and
|
|
return WORDBUF. )
|
|
: _wb 0x0e RAM+ ;
|
|
: _eot 0x0401 _wb ! _wb ;
|
|
: WORD
|
|
_wb 1+ TOWORD ( a c )
|
|
DUP EOT? IF 2DROP _eot EXIT THEN
|
|
BEGIN
|
|
OVER C! 1+ C< ( a c )
|
|
OVER 0x2e RAM+ = OVER WS? OR
|
|
UNTIL ( a c )
|
|
SWAP _wb - 1- ( ws len ) _wb C!
|
|
EOT? IF _eot ELSE _wb THEN ;
|