From d09de0a0d35266845a2738ce81654591f19a98df Mon Sep 17 00:00:00 2001 From: Virgil Dupras Date: Sat, 2 Jan 2021 14:20:50 -0500 Subject: [PATCH] Integrate RDLN input buffer into sysvars In the beginning of Collapse OS' Forth version, the readline sub- system was optional. This is why we had this separate RDLN$ routine and that the input buffer was allocated at boot time. It's been a while since the RDLN system has been made mandatory, but we still paid the complexity tax of this separation. Not anymore. --- arch/8086/pcat/blk.fs | 2 +- arch/z80/rc2014/blk.fs | 4 ++-- arch/z80/sms/xcomp.fs | 8 ++++---- arch/z80/sms/xcompkbd.fs | 8 ++++---- arch/z80/sms/xcompsdc.fs | 8 ++++---- arch/z80/sms/xcomptextmode.fs | 8 ++++---- arch/z80/ti84/xcomp.fs | 8 ++++---- arch/z80/trs80/xcomp.fs | 2 +- arch/z80/z80mbc2/xcomp.fs | 2 +- blk.fs | 23 ++++++++--------------- cvm/common.fs | 2 +- cvm/forth.fs | 2 +- cvm/stage.bin | Bin 4908 -> 4852 bytes cvm/vm.h | 2 +- doc/hw/z80/ps2.txt | 2 +- doc/hw/z80/sms/ps2.txt | 2 +- doc/impl.txt | 8 +++++--- emul/8086/xcomp.fs | 2 +- emul/z80/xcomp.fs | 2 +- 19 files changed, 45 insertions(+), 50 deletions(-) diff --git a/arch/8086/pcat/blk.fs b/arch/8086/pcat/blk.fs index 97d86ee..ecae3a1 100644 --- a/arch/8086/pcat/blk.fs +++ b/arch/8086/pcat/blk.fs @@ -75,7 +75,7 @@ CODE AT-XY ( x y ) ( ----- 612 ) 0xff00 CONSTANT RS_ADDR 0xfffa CONSTANT PS_ADDR -RS_ADDR 0x80 - CONSTANT SYSVARS +RS_ADDR 0xa0 - CONSTANT SYSVARS 30 LOAD ( 8086 asm ) 262 LOAD ( xcomp ) 270 LOAD ( xcomp overrides ) 445 461 LOADR ( 8086 boot code ) diff --git a/arch/z80/rc2014/blk.fs b/arch/z80/rc2014/blk.fs index 8eb4d84..3ced90b 100644 --- a/arch/z80/rc2014/blk.fs +++ b/arch/z80/rc2014/blk.fs @@ -71,7 +71,7 @@ CODE SIOB> ( ----- 619 ) ( RC2014 classic with MC6850 ) 0xff00 CONSTANT RS_ADDR 0xfffa CONSTANT PS_ADDR -RS_ADDR 0x80 - CONSTANT SYSVARS +RS_ADDR 0xa0 - CONSTANT SYSVARS 0x8000 CONSTANT HERESTART 0x80 CONSTANT 6850_CTL 0x81 CONSTANT 6850_IO 4 CONSTANT SPI_DATA 5 CONSTANT SPI_CTL 1 CONSTANT SDC_DEVID @@ -88,7 +88,7 @@ PC ORG @ 8 + ! ( Update LATEST ) ( ----- 620 ) ( RC2014 classic with SIO ) 0xff00 CONSTANT RS_ADDR 0xfffa CONSTANT PS_ADDR -RS_ADDR 0x80 - CONSTANT SYSVARS +RS_ADDR 0xa0 - CONSTANT SYSVARS 0x8000 CONSTANT HERESTART 0x80 CONSTANT SIOA_CTL 0x81 CONSTANT SIOA_DATA 0x82 CONSTANT SIOB_CTL 0x83 CONSTANT SIOB_DATA diff --git a/arch/z80/sms/xcomp.fs b/arch/z80/sms/xcomp.fs index 2a6e769..84d7191 100644 --- a/arch/z80/sms/xcomp.fs +++ b/arch/z80/sms/xcomp.fs @@ -2,16 +2,16 @@ 0xdd00 CONSTANT RS_ADDR ( Memory register at the end of RAM. Must not overwrite ) 0xddca CONSTANT PS_ADDR -RS_ADDR 0x80 - CONSTANT SYSVARS +RS_ADDR 0xb0 - CONSTANT SYSVARS 0xc000 CONSTANT HERESTART 0xbf CONSTANT TMS_CTLPORT 0xbe CONSTANT TMS_DATAPORT -SYSVARS 0x70 + CONSTANT GRID_MEM -SYSVARS 0x73 + CONSTANT CPORT_MEM +SYSVARS 0xa0 + CONSTANT GRID_MEM +SYSVARS 0xa3 + CONSTANT CPORT_MEM 0x3f CONSTANT CPORT_CTL 0xdc CONSTANT CPORT_D1 0xdd CONSTANT CPORT_D2 -SYSVARS 0x74 + CONSTANT PAD_MEM +SYSVARS 0xa4 + CONSTANT PAD_MEM 5 LOAD ( z80 assembler ) 262 LOAD ( xcomp ) 524 LOAD ( font compiler ) diff --git a/arch/z80/sms/xcompkbd.fs b/arch/z80/sms/xcompkbd.fs index ea0bc08..50b1786 100644 --- a/arch/z80/sms/xcompkbd.fs +++ b/arch/z80/sms/xcompkbd.fs @@ -3,16 +3,16 @@ 0xdd00 CONSTANT RS_ADDR ( Memory register at the end of RAM. Must not overwrite ) 0xddca CONSTANT PS_ADDR -RS_ADDR 0x80 - CONSTANT SYSVARS +RS_ADDR 0xb0 - CONSTANT SYSVARS 0xc000 CONSTANT HERESTART 0xbf CONSTANT TMS_CTLPORT 0xbe CONSTANT TMS_DATAPORT -SYSVARS 0x70 + CONSTANT GRID_MEM -SYSVARS 0x73 + CONSTANT CPORT_MEM +SYSVARS 0xa0 + CONSTANT GRID_MEM +SYSVARS 0xa3 + CONSTANT CPORT_MEM 0x3f CONSTANT CPORT_CTL 0xdc CONSTANT CPORT_D1 0xdd CONSTANT CPORT_D2 -SYSVARS 0x74 + CONSTANT PS2_MEM +SYSVARS 0xa4 + CONSTANT PS2_MEM 5 LOAD ( z80 assembler ) 262 LOAD ( xcomp ) 524 LOAD ( font compiler ) diff --git a/arch/z80/sms/xcompsdc.fs b/arch/z80/sms/xcompsdc.fs index f0f69f3..b97b2f5 100644 --- a/arch/z80/sms/xcompsdc.fs +++ b/arch/z80/sms/xcompsdc.fs @@ -4,16 +4,16 @@ 0xdd00 CONSTANT RS_ADDR ( Memory register at the end of RAM. Must not overwrite ) 0xddca CONSTANT PS_ADDR -RS_ADDR 0x80 - CONSTANT SYSVARS +RS_ADDR 0xb0 - CONSTANT SYSVARS 0xc000 CONSTANT HERESTART 0xbf CONSTANT TMS_CTLPORT 0xbe CONSTANT TMS_DATAPORT -SYSVARS 0x70 + CONSTANT GRID_MEM -SYSVARS 0x73 + CONSTANT CPORT_MEM +SYSVARS 0xa0 + CONSTANT GRID_MEM +SYSVARS 0xa3 + CONSTANT CPORT_MEM 0x3f CONSTANT CPORT_CTL 0xdc CONSTANT CPORT_D1 0xdd CONSTANT CPORT_D2 -SYSVARS 0x74 + CONSTANT PS2_MEM +SYSVARS 0xa4 + CONSTANT PS2_MEM 5 LOAD ( z80 assembler ) 262 LOAD ( xcomp ) 524 LOAD ( font compiler ) diff --git a/arch/z80/sms/xcomptextmode.fs b/arch/z80/sms/xcomptextmode.fs index a436312..9dc74b7 100644 --- a/arch/z80/sms/xcomptextmode.fs +++ b/arch/z80/sms/xcomptextmode.fs @@ -4,16 +4,16 @@ 0xdd00 CONSTANT RS_ADDR ( Memory register at the end of RAM. Must not overwrite ) 0xddca CONSTANT PS_ADDR -RS_ADDR 0x80 - CONSTANT SYSVARS +RS_ADDR 0xb0 - CONSTANT SYSVARS 0xc000 CONSTANT HERESTART 0xbf CONSTANT TMS_CTLPORT 0xbe CONSTANT TMS_DATAPORT -SYSVARS 0x70 + CONSTANT GRID_MEM -SYSVARS 0x73 + CONSTANT CPORT_MEM +SYSVARS 0xa0 + CONSTANT GRID_MEM +SYSVARS 0xa3 + CONSTANT CPORT_MEM 0x3f CONSTANT CPORT_CTL 0xdc CONSTANT CPORT_D1 0xdd CONSTANT CPORT_D2 -SYSVARS 0x74 + CONSTANT PS2_MEM +SYSVARS 0xa4 + CONSTANT PS2_MEM 5 LOAD ( z80 assembler ) 262 LOAD ( xcomp ) 523 LOAD ( font compiler ) diff --git a/arch/z80/ti84/xcomp.fs b/arch/z80/ti84/xcomp.fs index e13e783..9afca8c 100644 --- a/arch/z80/ti84/xcomp.fs +++ b/arch/z80/ti84/xcomp.fs @@ -1,10 +1,10 @@ 0xbf00 CONSTANT RS_ADDR 0xbffa CONSTANT PS_ADDR -RS_ADDR 0x80 - CONSTANT SYSVARS +RS_ADDR 0xb0 - CONSTANT SYSVARS 0x8000 CONSTANT HERESTART -SYSVARS 0x70 + CONSTANT LCD_MEM -SYSVARS 0x72 + CONSTANT GRID_MEM -SYSVARS 0x75 + CONSTANT KBD_MEM +SYSVARS 0xa0 + CONSTANT LCD_MEM +SYSVARS 0xa2 + CONSTANT GRID_MEM +SYSVARS 0xa5 + CONSTANT KBD_MEM 0x01 CONSTANT KBD_PORT 5 LOAD ( z80 assembler ) 262 LOAD ( xcomp ) diff --git a/arch/z80/trs80/xcomp.fs b/arch/z80/trs80/xcomp.fs index f0d37ec..3b9b8d3 100644 --- a/arch/z80/trs80/xcomp.fs +++ b/arch/z80/trs80/xcomp.fs @@ -1,6 +1,6 @@ 0xff00 CONSTANT RS_ADDR 0xfffa CONSTANT PS_ADDR -RS_ADDR 0x80 - CONSTANT SYSVARS +RS_ADDR 0xa0 - CONSTANT SYSVARS 0 CONSTANT HERESTART 5 LOAD ( z80 assembler ) 262 LOAD ( xcomp ) diff --git a/arch/z80/z80mbc2/xcomp.fs b/arch/z80/z80mbc2/xcomp.fs index b90cdd8..645e861 100644 --- a/arch/z80/z80mbc2/xcomp.fs +++ b/arch/z80/z80mbc2/xcomp.fs @@ -1,5 +1,5 @@ 0xff00 CONSTANT RS_ADDR 0xfffa CONSTANT PS_ADDR -RS_ADDR 0x80 - CONSTANT SYSVARS +RS_ADDR 0xa0 - CONSTANT SYSVARS 0 CONSTANT HERESTART 5 LOAD ( z80 assembler ) 262 LOAD ( xcomp ) diff --git a/blk.fs b/blk.fs index 4c193b5..5b9d3a6 100644 --- a/blk.fs +++ b/blk.fs @@ -1682,14 +1682,13 @@ with "390 LOAD" : H@ HERE @ ; : FIND ( w -- a f ) CURRENT @ SWAP _find ; : IN> 0x30 RAM+ ; ( current position in INBUF ) -: IN( 0x32 RAM+ @ ; ( points to INBUF ) -: IN) 0x40 ( buffer size ) IN( + ; ( INBUF's end ) +: IN( 0x60 RAM+ ; ( points to INBUF ) : IN$ 0 IN( DUP IN> ! ! ; ( flush input buffer ) : QUIT (resRS) 0 0x08 RAM+ ! ( C<* override ) IN$ LIT" (main)" FIND DROP EXECUTE ; -1 33 LOADR+ +1 31 LOADR+ ( ----- 354 ) : ABORT (resSP) QUIT ; : = CMP NOT ; : < CMP -1 = ; : > CMP 1 = ; @@ -1978,7 +1977,7 @@ SYSVARS 0x55 + :** KEY? : RDLN ( Read 1 line in input buff and make IN> point to it ) IN$ BEGIN ( buffer overflow? same as if we typed a newline ) - IN> @ IN) 1- = IF CR ELSE KEY THEN ( c ) + IN> @ IN( - 0x3e = IF CR ELSE KEY THEN ( c ) DUP BS? IF IN> @ IN( > IF -1 IN> +! BS EMIT THEN SPC> BS EMIT ELSE DUP LF = IF DROP CR THEN ( same as CR ) @@ -1996,13 +1995,6 @@ SYSVARS 0x55 + :** KEY? ( update C @ C@ 0 > 0x06 RAM+ ! ( 06 == C LOOP ; -( ----- 383 ) +( ----- 382 ) : INTERPRET BEGIN WORD DUP @ 0x0401 = ( EOT ) IF DROP EXIT THEN @@ -2028,7 +2020,7 @@ SYSVARS 0x55 + :** KEY? is to check whether we're restoring to "_", the word above. if yes, then we're in a nested load. Also, the 1 in 0x06 is to avoid tons of "ok" displays. ) -( ----- 384 ) +( ----- 383 ) : LOAD BLK> @ >R ( save restorable variables to RSP ) 0x08 RAM+ @ >R ( 08 == C<* override ) @@ -2045,7 +2037,7 @@ SYSVARS 0x55 + :** KEY? ELSE ( not nested ) R> 0x08 RAM+ ! R> DROP ( BLK> ) THEN ; -( ----- 385 ) +( ----- 384 ) : LOAD+ BLK> @ + LOAD ; ( b1 b2 -- ) : LOADR 1+ SWAP DO I DUP . SPC> LOAD LOOP ; @@ -2062,7 +2054,8 @@ SYSVARS 0x55 + :** KEY? ['] (boot<) ['] C<* **! ( boot< always has a char waiting. 06 == C (main) ; XCURRENT @ _xapply ORG @ 0x04 ( stable ABI BOOT ) + ! 1 4 LOADR+ diff --git a/cvm/common.fs b/cvm/common.fs index e50bfc9..f4531cc 100644 --- a/cvm/common.fs +++ b/cvm/common.fs @@ -2,7 +2,7 @@ binaries. ) 0xff00 CONSTANT RS_ADDR 0xfffa CONSTANT PS_ADDR -RS_ADDR 0x80 - CONSTANT SYSVARS +RS_ADDR 0xb0 - CONSTANT SYSVARS 0 CONSTANT HERESTART : CODE ( natidx -- ) (entry) 0 C, C, ; VARIABLE ORG diff --git a/cvm/forth.fs b/cvm/forth.fs index 11b9e70..06cd97b 100644 --- a/cvm/forth.fs +++ b/cvm/forth.fs @@ -3,7 +3,7 @@ DROP COLS /MOD 6 PC! ( y ) 5 PC! ( x ) ; : CELL! ( c pos -- ) 0 CURSOR! 0 PC! ; -SYSVARS 0x70 + CONSTANT GRID_MEM +SYSVARS 0xa0 + CONSTANT GRID_MEM 402 403 LOADR ( Grid ) 390 LOAD ( xcomp core high ) (entry) _ diff --git a/cvm/stage.bin b/cvm/stage.bin index b50c81647c0287e9076a5dff78b8ce6f07f7398e..5fc72b96459bdea38313395f0aa2b78ce9045807 100644 GIT binary patch delta 2678 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 diff --git a/cvm/vm.h b/cvm/vm.h index 21b577e..4b6b588 100644 --- a/cvm/vm.h +++ b/cvm/vm.h @@ -3,7 +3,7 @@ #define SP_ADDR 0xffff #define RS_ADDR 0xff00 -#define SYSVARS RS_ADDR-0x80 +#define SYSVARS RS_ADDR-0xb0 #define MEMSIZE 0x10000 typedef uint8_t byte; diff --git a/doc/hw/z80/ps2.txt b/doc/hw/z80/ps2.txt index b30ea03..706a05e 100644 --- a/doc/hw/z80/ps2.txt +++ b/doc/hw/z80/ps2.txt @@ -68,7 +68,7 @@ First, we need a "(ps2kc)" routine (see doc/protocol.txt). In this case, it's easy, it's ": (ps2kc) 8 PC@ ;". Then, we can load PS/2 subsystem. You add "411 414 LOADR". Then, at initialization, you add "PS2$". You also need to define PS2_MEM -at the top. You can probably use "SYSVARS + 0x7a". +at the top. You can probably use "SYSVARS + 0xaa". The PS/2 subsystem provides "(key)" from "(ps2kc)". diff --git a/doc/hw/z80/sms/ps2.txt b/doc/hw/z80/sms/ps2.txt index 1acfad7..a9edc40 100644 --- a/doc/hw/z80/sms/ps2.txt +++ b/doc/hw/z80/sms/ps2.txt @@ -113,7 +113,7 @@ it with /cvm/avra.sh. We start with the base SMS xcomp and add a few things: -1. at the top: "SYSVARS 0x72 + CONSTANT PS2_MEM" +1. at the top: "SYSVARS 0xa2 + CONSTANT PS2_MEM" 2. After VDP load: "621 LOAD : (ps2kc) (ps2kcB) ;" (that binds us to port B) 3. Right after: "411 414 LOADR" (that gives us "(key)") diff --git a/doc/impl.txt b/doc/impl.txt index 1f086fb..724284d 100644 --- a/doc/impl.txt +++ b/doc/impl.txt @@ -153,6 +153,9 @@ fact, they're mostly referred to directly as their numerical offset along with a comment indicating what this offset refers to. +SYSVARS occupy 0xa0 bytes in memory in addition to driver mem- +ory, which typically follows SYSVARS. + This system is a bit fragile because every time we change those offsets, we have to be careful to adjust all system variables offsets, but thankfully, there aren't many system variables. @@ -167,9 +170,8 @@ SYSVARS FUTURE USES +3c BLK(* +0c C<* +53 EMIT ialias +0e WORDBUF +55 KEY? ialias +2e BOOT C< PTR +57 FUTURE USES -+30 IN> -+32 IN(* +70 DRIVERS -+34 BLK@* +80 RAMEND ++30 IN> +60 INPUT BUFFER ++32 FUTURE USES +a0 DRIVERS +36 BLK!* +38 BLK> +3a BLKDTY diff --git a/emul/8086/xcomp.fs b/emul/8086/xcomp.fs index f6e294b..e1b6839 100644 --- a/emul/8086/xcomp.fs +++ b/emul/8086/xcomp.fs @@ -1,6 +1,6 @@ 0xff00 CONSTANT RS_ADDR 0xfffa CONSTANT PS_ADDR -RS_ADDR 0x80 - CONSTANT SYSVARS +RS_ADDR 0xa0 - CONSTANT SYSVARS 30 LOAD ( 8086 asm ) 262 LOAD ( xcomp ) 270 LOAD ( xcomp overrides ) 445 461 LOADR ( 8086 boot code ) diff --git a/emul/z80/xcomp.fs b/emul/z80/xcomp.fs index 571fa4f..224de01 100644 --- a/emul/z80/xcomp.fs +++ b/emul/z80/xcomp.fs @@ -1,6 +1,6 @@ 0xff00 CONSTANT RS_ADDR 0xfffa CONSTANT PS_ADDR -RS_ADDR 0x80 - CONSTANT SYSVARS +RS_ADDR 0xa0 - CONSTANT SYSVARS 0 CONSTANT HERESTART 5 LOAD ( z80 assembler ) 262 LOAD ( xcomp )