diff --git a/emul/forth/z80c.bin b/emul/forth/z80c.bin index 85d8145..ad2283f 100644 Binary files a/emul/forth/z80c.bin and b/emul/forth/z80c.bin differ diff --git a/forth/forth.asm b/forth/forth.asm index 59ff6a4..7d7d374 100644 --- a/forth/forth.asm +++ b/forth/forth.asm @@ -173,8 +173,9 @@ forthMain: ; Set up SYSVNXT ld hl, SYSVBUF ld (SYSVNXT), hl - ld hl, BEGIN - push hl + ld hl, .bootName + call find + push de jp EXECUTE+2 .parseName: @@ -187,16 +188,8 @@ forthMain: .db "(print)", 0 .keyName: .db "KEY", 0 - -BEGIN: - .dw compiledWord - .dw LIT - .db "(c<$)", 0 - .dw FIND_ - .dw NOT - .dw CSKIP - .dw EXECUTE - .dw INTERPRET +.bootName: + .db "BOOT", 0 INTERPRET: .dw compiledWord @@ -206,7 +199,7 @@ INTERPRET: .dw DROP .dw EXECUTE -.fill 13 +.fill 25 ; *** Collapse OS lib copy *** ; In the process of Forth-ifying Collapse OS, apps will be slowly rewritten to diff --git a/forth/icore.fs b/forth/icore.fs index be1fa54..199cbf9 100644 --- a/forth/icore.fs +++ b/forth/icore.fs @@ -63,6 +63,11 @@ AGAIN ; +: BOOT + LIT< (c<$) (find) IF EXECUTE ELSE DROP THEN + _c INTERPRET +; + ( This is only the "early parser" in earlier stages. No need for an abort message ) : (parse)