Browse Source

cvm: use Grid in /cvm/forth

Also, fixed broken AT-XY in Grid...
master
Virgil Dupras 3 years ago
parent
commit
c939c7e84a
3 changed files with 11 additions and 11 deletions
  1. +4
    -4
      blk.fs
  2. +1
    -1
      cvm/Makefile
  3. +6
    -6
      cvm/forth.fs

+ 4
- 4
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]


+ 1
- 1
cvm/Makefile 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


+ 6
- 6
cvm/forth.fs 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!


Loading…
Cancel
Save