cvm: use Grid in /cvm/forth

Also, fixed broken AT-XY in Grid...
This commit is contained in:
Virgil Dupras 2020-11-14 20:08:18 -05:00
parent 95ab1ad588
commit c939c7e84a
3 changed files with 11 additions and 11 deletions

8
blk.fs
View File

@ -776,7 +776,7 @@ block. Any change made to the previously selected block is
saved beforehand.
'[' and ']' advances the selected block by "modifier". 't' opens
the previously opened block.
the previously opened block.
(cont.)
( ----- 123 )
'h' and 'l' move the cursor by "modifier" characters. 'j' and
@ -806,7 +806,7 @@ be sure, then press 'E'.
Following keystrokes replace current character and advance
cursor. Press return to return to normal mode.
'@' re-reads current block even if it's dirty, thus undoing
'@' re-reads current block even if it's dirty, thus undoing
recent changes.
( ----- 125 )
-20 LOAD+ ( B105, block editor )
@ -855,7 +855,7 @@ CREATE PREVPOS 0 , CREATE PREVBLK 0 , CREATE xoff 0 ,
: $G ACC @ selblk ;
: $[ BLK> @ acc@ - selblk ;
: $] BLK> @ acc@ + selblk ;
: $t PREVBLK @ selblk ;
: $t PREVBLK @ selblk ;
: $I mode! 'I' EMIT IBUF 1 buftype _i contents mode! SPC ;
: $F mode! 'F' EMIT FBUF 2 buftype _F setpos mode! SPC ;
: $Y Y ;
@ -2221,7 +2221,7 @@ Load range: B402-B403
( ----- 402 )
: XYPOS [ GRID_MEM LITN ] ;
: _cl* COLS LINES * ;
: AT-XY ( x y -- ) LINES * + _cl* MOD XYPOS ! ;
: AT-XY ( x y -- ) COLS * + _cl* MOD XYPOS ! ;
'? NEWLN NIP NOT [IF]
: NEWLN ( ln -- ) COLS * DUP COLS + SWAP DO 0 I CELL! LOOP ;
[THEN]

View File

@ -15,7 +15,7 @@ $(BLKUNPACK): $(BLKPACK)
stage: stage.c $(OBJS) blkfs
$(CC) -DFBIN_PATH=\"`pwd`/stage.bin\" -DBLKFS_PATH=\"`pwd`/blkfs\" stage.c $(OBJS) -o $@
blkfs: $(BLKPACK)
blkfs: ../blk.fs $(BLKPACK)
$(BLKPACK) < ../blk.fs > $@
forth.bin: stage common.fs forth.fs blkfs

View File

@ -1,15 +1,15 @@
: (emit) 0 PC! ;
: COLS 80 ; : LINES 32 ;
: AT-XY 6 PC! ( y ) 5 PC! ( x ) ;
: CELL! ( g pos -- )
COLS /MOD 6 PC! ( y ) 5 PC! ( x ) 0x20 + 0 PC! ;
: NEWLN ( ln -- ) DROP 0xa 0 PC! ;
SYSVARS 0x70 + CONSTANT GRID_MEM
402 403 LOADR ( Grid )
390 LOAD ( xcomp core high )
(entry) _
( Update LATEST )
PC ORG @ 8 + !
," BLK$ "
," ' EFS@ BLK@* ! "
," ' EFS! BLK!* ! "
EOT,
," BLK$ ' EFS@ BLK@* ! ' EFS! BLK!* ! 0 0 AT-XY " EOT,
ORG @ 256 /MOD 2 PC! 2 PC!
H@ 256 /MOD 2 PC! 2 PC!