Make KEY and EMIT into switch words
This commit is contained in:
parent
d3ec0e3a6c
commit
5e13dcedf3
4
blk/381
4
blk/381
@ -1,6 +1,4 @@
|
||||
: EMIT
|
||||
( 0x53==(emit) override )
|
||||
0x53 RAM+ @ ?DUP IF EXECUTE ELSE (emit) THEN ;
|
||||
SYSVARS 0x53 + :** EMIT
|
||||
: (print) C@+ ( a len ) 0 DO C@+ EMIT LOOP DROP ;
|
||||
: BS 8 EMIT ; : LF 10 EMIT ; : CR 13 EMIT ;
|
||||
: CRLF CR LF ; : SPC 32 EMIT ;
|
||||
|
5
blk/387
5
blk/387
@ -8,9 +8,6 @@
|
||||
;
|
||||
( del is same as backspace )
|
||||
: BS? DUP 0x7f = SWAP 0x8 = OR ;
|
||||
|
||||
: KEY
|
||||
0x55 RAM+ @ ( (key) override )
|
||||
?DUP IF EXECUTE ELSE (key) THEN ;
|
||||
SYSVARS 0x55 + :** KEY
|
||||
( cont.: read one char into input buffer and returns whether we
|
||||
should continue, that is, whether CR was not met. )
|
||||
|
4
blk/396
4
blk/396
@ -3,8 +3,8 @@
|
||||
0x02 RAM+ CURRENT* !
|
||||
CURRENT @ 0x2e RAM+ ! ( 2e == BOOT C< PTR )
|
||||
0 0x08 RAM+ ! ( 08 == C<* override )
|
||||
0 0x53 RAM+ ! ( 53 == (emit) override )
|
||||
0 0x55 RAM+ ! ( 55 == (key) override )
|
||||
['] (emit) ['] EMIT **!
|
||||
['] (key) ['] KEY **!
|
||||
['] CRLF ['] NL **!
|
||||
( 0c == C<* )
|
||||
['] (boot<) 0x0c RAM+ !
|
||||
|
BIN
cvm/forth.bin
BIN
cvm/forth.bin
Binary file not shown.
@ -233,14 +233,14 @@ blocks per disk.
|
||||
You'll need to send those blocks through RS-232. Begin by taking over the
|
||||
prompt:
|
||||
|
||||
' *CL> 0x53 RAM+ !
|
||||
' *CL< 0x55 RAM+ !
|
||||
' *CL> ' EMIT **!
|
||||
' *CL< ' KEY **!
|
||||
|
||||
See B80 for details about those RAM offsets. Your serial link now has the
|
||||
prompt. You will also have to make your newlines CRLF. The TRS-80 wants CR
|
||||
only, but serial communications (and `blkup`) expect CRLF:
|
||||
|
||||
' CRLF 0x0a RAM+ !
|
||||
' CRLF ' NL **!
|
||||
|
||||
Now, you can use `/tools/blkup` to send a disk's contents. First,
|
||||
extract the first 100 blocks from blkfs:
|
||||
@ -264,9 +264,9 @@ own Collapse OS floppy set. See Usage guide (B3) for details.
|
||||
|
||||
Once you're done, you will want to go back to local control:
|
||||
|
||||
' CR 0x0a RAM+ !
|
||||
0 0x55 RAM+ !
|
||||
0 0x53 RAM+ !
|
||||
' CR ' NL **!
|
||||
' (emit) ' EMIT **!
|
||||
' (key) ' KEY **!
|
||||
|
||||
## Self-hosting
|
||||
|
||||
|
@ -14,7 +14,7 @@ RS_ADDR 0x80 - CONSTANT SYSVARS
|
||||
(entry) _
|
||||
( Update LATEST )
|
||||
PC ORG @ 8 + !
|
||||
( 0x0a == NLPTR. TRS-80 wants CR-only newlines )
|
||||
," ' CR 0x0a RAM+ ! BLK$ FD$ " EOT,
|
||||
( TRS-80 wants CR-only newlines )
|
||||
," ' CR ' NL **! BLK$ FD$ " EOT,
|
||||
ORG @ 256 /MOD 2 PC! 2 PC!
|
||||
H@ 256 /MOD 2 PC! 2 PC!
|
||||
|
Loading…
Reference in New Issue
Block a user