|
|
@@ -1,16 +1,16 @@ |
|
|
|
: contents 16 0 DO 3 I 3 + AT-XY |
|
|
|
64 I * BLK( + DUP 64 + SWAP DO |
|
|
|
: contents 16 0 DO large? IF 3 ELSE 0 THEN I 3 + AT-XY |
|
|
|
64 I * BLK( + DUP 3 col- + SWAP DO |
|
|
|
I C@ 0x20 MAX EMIT LOOP LOOP |
|
|
|
3 16 gutter ; |
|
|
|
large? IF 3 16 gutter THEN ; |
|
|
|
: selblk BLK> @ PREVBLK ! BLK@ contents ; |
|
|
|
: mode! ( c -- ) 63 0 AT-XY ; |
|
|
|
: pos! ( newpos -- ) EDPOS @ PREVPOS ! |
|
|
|
DUP 0< IF DROP 0 THEN 1023 MIN EDPOS ! ; |
|
|
|
: setpos ( -- ) EDPOS @ 64 /MOD |
|
|
|
3 + ( header ) SWAP 3 + ( gutter ) SWAP AT-XY ; |
|
|
|
3 + ( header ) SWAP large? IF 3 + ( gutter ) THEN |
|
|
|
SWAP AT-XY ; |
|
|
|
: cmv ( n -- , char movement ) acc@ * EDPOS @ + pos! ; |
|
|
|
: buftype ( buf ln -- ) |
|
|
|
3 OVER AT-XY KEY DUP EMIT |
|
|
|
DUP 0x20 < IF 2DROP DROP EXIT THEN |
|
|
|
( buf ln c ) 63 nspcs SWAP 4 SWAP AT-XY ( buf c ) SWAP C!+ |
|
|
|
IN( _zbuf (rdln) IN( SWAP 63 MOVE ; |
|
|
|
( buf ln c ) 4 col- nspcs SWAP 4 SWAP AT-XY ( buf c ) |
|
|
|
SWAP C!+ IN( _zbuf (rdln) IN( SWAP 63 MOVE ; |