Browse Source

forth: Forth-ify "BOOT"

pull/95/head
Virgil Dupras 4 years ago
parent
commit
5471ef02a7
3 changed files with 11 additions and 13 deletions
  1. BIN
      emul/forth/z80c.bin
  2. +6
    -13
      forth/forth.asm
  3. +5
    -0
      forth/icore.fs

BIN
emul/forth/z80c.bin View File


+ 6
- 13
forth/forth.asm View File

@@ -173,8 +173,9 @@ forthMain:
; Set up SYSVNXT ; Set up SYSVNXT
ld hl, SYSVBUF ld hl, SYSVBUF
ld (SYSVNXT), hl ld (SYSVNXT), hl
ld hl, BEGIN
push hl
ld hl, .bootName
call find
push de
jp EXECUTE+2 jp EXECUTE+2


.parseName: .parseName:
@@ -187,16 +188,8 @@ forthMain:
.db "(print)", 0 .db "(print)", 0
.keyName: .keyName:
.db "KEY", 0 .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: INTERPRET:
.dw compiledWord .dw compiledWord
@@ -206,7 +199,7 @@ INTERPRET:
.dw DROP .dw DROP
.dw EXECUTE .dw EXECUTE


.fill 13
.fill 25


; *** Collapse OS lib copy *** ; *** Collapse OS lib copy ***
; In the process of Forth-ifying Collapse OS, apps will be slowly rewritten to ; In the process of Forth-ifying Collapse OS, apps will be slowly rewritten to


+ 5
- 0
forth/icore.fs View File

@@ -63,6 +63,11 @@
AGAIN AGAIN
; ;


: BOOT
LIT< (c<$) (find) IF EXECUTE ELSE DROP THEN
_c INTERPRET
;

( This is only the "early parser" in earlier stages. No need ( This is only the "early parser" in earlier stages. No need
for an abort message ) for an abort message )
: (parse) : (parse)


Loading…
Cancel
Save