Browse Source

Cross-compiles in a single stage!

Finally got rid of the XPACKed core and managed to cross-compile
all core words, which greatly simplifies the bootstrapping process.
pull/102/head
Virgil Dupras 4 years ago
parent
commit
e6bac985fa
8 changed files with 20 additions and 25 deletions
  1. +1
    -1
      blk/420
  2. +9
    -10
      blk/439
  3. +10
    -9
      blk/440
  4. BIN
      emul/forth.bin
  5. +0
    -1
      emul/xcomp.fs
  6. +0
    -2
      recipes/rc2014/xcomp.fs
  7. +0
    -1
      recipes/ti84/xcomp.fs
  8. +0
    -1
      recipes/trs80/xcomp.fs

+ 1
- 1
blk/420 View File

@@ -1 +1 @@
1 19 LOADR+ ( xcomp core high )
1 20 LOADR+ ( xcomp core high )

+ 9
- 10
blk/439 View File

@@ -1,10 +1,9 @@
( ';' can't have its name right away because, when created, it
is not an IMMEDIATE yet and will not be treated properly by
xcomp. )
: _
['] EXIT ,
R> DROP ( exit : )
; IMMEDIATE
';' XCURRENT @ 4 - C!
':' X' _ 4 - C! ( give : its name )
'(' X' _ 4 - C!
: BEGIN H@ ; IMMEDIATE
: AGAIN COMPILE (br) H@ - , ; IMMEDIATE
: UNTIL COMPILE (?br) H@ - , ; IMMEDIATE
: [ INTERPRET ; IMMEDIATE
: ] R> DROP ;
: LIT< WORD 34 , SCPY 0 C, ; IMMEDIATE
: LITA 36 , , ;
: COMPILE ' LITA ['] , , ; IMMEDIATE
: [COMPILE] ' , ; IMMEDIATE

+ 10
- 9
blk/440 View File

@@ -1,10 +1,11 @@
: [ INTERPRET ; IMMEDIATE
: ] R> DROP ;
: LIT< WORD 34 , SCPY 0 C, ; IMMEDIATE
: LITA 36 , , ;
( ';' can't have its name right away because, when created, it
is not an IMMEDIATE yet and will not be treated properly by
xcomp. )
: _
['] EXIT ,
R> DROP ( exit : )
; IMMEDIATE
: ['] ' LITA ; IMMEDIATE
: COMPILE ' LITA ['] , , ; IMMEDIATE
: [COMPILE] ' , ; IMMEDIATE
: BEGIN H@ ; IMMEDIATE
: AGAIN COMPILE (br) H@ - , ; IMMEDIATE
: UNTIL COMPILE (?br) H@ - , ; IMMEDIATE
';' X' _ 4 - C! ( give ; its name )
':' X' _ 4 - C! ( give : its name )
'(' X' _ 4 - C!

BIN
emul/forth.bin View File


+ 0
- 1
emul/xcomp.fs View File

@@ -14,7 +14,6 @@
( Update LATEST )
PC ORG @ 8 + !
," CURRENT @ HERE ! "
440 444 XPACKR
," ' (key) 12 RAM+ ! "
ORG @ 256 /MOD 2 PC! 2 PC!
H@ 256 /MOD 2 PC! 2 PC!

+ 0
- 2
recipes/rc2014/xcomp.fs View File

@@ -18,8 +18,6 @@ RAMSTART 0x70 + CONSTANT ACIA_MEM
(entry) _
( Update LATEST )
PC ORG @ 8 + !
440 444 XPACKR ( core )
123 132 XPACKR ( linker )
," : _ ACIA$ RDLN$ (ok) ; _ "
ORG @ 256 /MOD 2 PC! 2 PC!
H@ 256 /MOD 2 PC! 2 PC!

+ 0
- 1
recipes/ti84/xcomp.fs View File

@@ -68,7 +68,6 @@ CREATE ~FNT CPFNT3x5
(entry) _
( Update LATEST )
PC ORG @ 8 + !
440 444 XPACKR ( core )
," : _ LCD$ KBD$ (ok) RDLN$ ; _ "
ORG @ 0x100 - 256 /MOD 2 PC! 2 PC!
H@ 256 /MOD 2 PC! 2 PC!

+ 0
- 1
recipes/trs80/xcomp.fs View File

@@ -14,7 +14,6 @@ RS_ADDR 0x80 - CONSTANT RAMSTART
( Update LATEST )
PC ORG @ 8 + !
," CURRENT @ HERE ! "
440 444 XPACKR ( core )
499 500 XPACKR ( trs80.fs )
( 0x0a == NLPTR. TRS-80 wants CR-only newlines )
," : _ ['] CR 0x0a RAM+ ! BLK$ FD$ (ok) RDLN$ ; _ "


Loading…
Cancel
Save