diff --git a/blk/081 b/blk/081 index 83ee781..fa18965 100644 --- a/blk/081 +++ b/blk/081 @@ -1,16 +1,16 @@ -RAMSTART FUTURE USES +55 (key) override -+02 CURRENT +57 FUTURE USES -+04 HERE +59 blk's variables -+06 C -+32 IN(* -+34 FUTURE USES -+4e INTJUMP -+51 CURRENTPTR -+53 (emit) override +RAMSTART FUTURE USES +3c BLK(* ++02 CURRENT +3e FUTURE USES ++04 HERE +4e INTJUMP ++06 C +5f FUTURE USES ++32 IN(* +70 DRIVERS ++34 BLK@* +80 RAMEND ++36 BLK!* ++38 BLK> ++3a BLKDTY (cont.) diff --git a/blk/084 b/blk/084 index ef7b8a5..e3e575e 100644 --- a/blk/084 +++ b/blk/084 @@ -7,10 +7,9 @@ for example), it can point elsewhere. NLPTR points to an alternative routine for NL (by default, CRLF). +BLK* see B416. + FUTURE USES section is unused for now. -DRIVERS section is reserved for recipe-specific -drivers. Here is a list of known usages: - -* 0x70-0x78: ACIA buffer pointers in RC2014 recipes. +DRIVERS section is reserved for recipe-specific drivers. diff --git a/blk/416 b/blk/416 index a7f9e3a..be477fb 100644 --- a/blk/416 +++ b/blk/416 @@ -1,13 +1,12 @@ -: BLKMEM+ 0x59 RAM+ @ + ; ( n -- Fetches block n and write it to BLK( ) -: BLK@* 0 BLKMEM+ ; +: BLK@* 0x34 RAM+ ; ( n -- Write back BLK( to storage at block n ) -: BLK!* 2 BLKMEM+ ; +: BLK!* 0x36 RAM+ ; ( Current blk pointer in ( ) -: BLK> 4 BLKMEM+ ; +: BLK> 0x38 RAM+ ; ( Whether buffer is dirty ) -: BLKDTY 6 BLKMEM+ ; -: BLK( 8 BLKMEM+ ; +: BLKDTY 0x3a RAM+ ; +: BLK( 0x3c RAM+ @ ; : BLK) BLK( 1024 + ; diff --git a/blk/417 b/blk/417 index 2ba2b0a..931cc51 100644 --- a/blk/417 +++ b/blk/417 @@ -1,7 +1,6 @@ : BLK$ - H@ 0x59 RAM+ ! - ( 1024 for the block, 8 for variables ) - 1032 ALLOT + H@ 0x3c ( BLK(* ) RAM+ ! + 1024 ALLOT ( LOAD detects end of block with ASCII EOT. This is why we write it there. EOT == 0x04 ) 4 C, diff --git a/emul/forth.bin b/emul/forth.bin index 5c5449d..3b9e659 100644 Binary files a/emul/forth.bin and b/emul/forth.bin differ