2020-05-09 11:55:58 -04:00
|
|
|
: (key)
|
|
|
|
0 ( gid ) 0 ( dummy )
|
|
|
|
BEGIN ( loop until a digit is pressed )
|
|
|
|
DROP
|
|
|
|
1+ DUP 7 = IF DROP 0 THEN ( inc gid )
|
|
|
|
1 OVER LSHIFT 0xff -^ ( group dmask ) _get
|
|
|
|
DUP 0xff = NOT UNTIL
|
|
|
|
( gid dmask )
|
|
|
|
0xff XOR ( dpos ) 0 ( dindex )
|
2020-05-09 14:28:55 -04:00
|
|
|
BEGIN 1+ 2DUP RSHIFT NOT UNTIL 1-
|
2020-05-09 11:55:58 -04:00
|
|
|
( gid dpos dindex ) SWAP DROP
|
2020-05-09 14:28:55 -04:00
|
|
|
( gid dindex ) SWAP 8 * + _dtbl + C@ _wait
|
2020-05-09 11:55:58 -04:00
|
|
|
;
|