|
|
@@ -7,11 +7,17 @@ |
|
|
|
: BLK!* 2 BLKMEM+ ; |
|
|
|
( Current blk pointer in ( ) |
|
|
|
: BLK> 4 BLKMEM+ ; |
|
|
|
: BLK( 6 BLKMEM+ ; |
|
|
|
( backup for CINPTR when LOADing ) |
|
|
|
: BLKC<* 6 BLKMEM+ ; |
|
|
|
: BLK( 8 BLKMEM+ ; |
|
|
|
|
|
|
|
: BLK$ |
|
|
|
H@ 0x57 RAM+ ! |
|
|
|
1030 ALLOT |
|
|
|
( 1024 for the block, 8 for variables ) |
|
|
|
1032 ALLOT |
|
|
|
( LOAD detects end of block with ASCII EOT. This is why |
|
|
|
we write it there. EOT == 0x04 ) |
|
|
|
4 C, |
|
|
|
-1 BLK> ! |
|
|
|
; |
|
|
|
|
|
|
@@ -30,3 +36,23 @@ |
|
|
|
CRLF |
|
|
|
LOOP |
|
|
|
; |
|
|
|
|
|
|
|
: _ |
|
|
|
(boot<) |
|
|
|
DUP 4 = IF |
|
|
|
DROP |
|
|
|
( We're finished interpreting ) |
|
|
|
BLKC<* @ 0x0c RAM+ ! |
|
|
|
C< |
|
|
|
THEN |
|
|
|
; |
|
|
|
|
|
|
|
: LOAD |
|
|
|
BLK@ |
|
|
|
( 2e == BOOT C< PTR ) |
|
|
|
BLK( 0x2e RAM+ ! |
|
|
|
( Save current C< ptr ) |
|
|
|
0x0c RAM+ @ BLKC<* ! |
|
|
|
( 0c == CINPTR ) |
|
|
|
['] _ 0x0c RAM+ ! |
|
|
|
; |