1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2 ;; UrForth level
1: self
-hosting
32-bit Forth compiler
4 ;; Copyright
(C
) 2020 Ketmar Dark
// Invisible Vector
6 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
7 ;; setup some predefined constants
8 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
10 : tc
-define
-config
-constants
( -- )
11 " URFORTH_BSS_RESERVE" tc
-image
-vsize
65536 max asmx86
:asm
-Make
-Constant
13 " URFORTH_ALIGN_HEADERS" tc
-align
-headers notnot asmx86
:asm
-Make
-Constant
14 " URFORTH_ALIGN_CFA" tc
-align
-cfa notnot asmx86
:asm
-Make
-Constant
15 " URFORTH_ALIGN_PFA" tc
-align
-pfa notnot asmx86
:asm
-Make
-Constant
16 " URFORTH_ALIGN_CFA_PFA" tc
-align
-cfa tc
-align
-pfa or notnot asmx86
:asm
-Make
-Constant
18 " URFORTH_DYNAMIC_BINARY" tc
-dynamic
-binary notnot asmx86
:asm
-Make
-Constant
20 " URFORTH_NAME_HASH_TYPE" tc
-wordhash
-type asmx86
:asm
-Make
-Constant
22 " URFORTH_NAME_HASH_ELF" tc
-nhash
-elf asmx86
:asm
-Make
-Constant
23 " URFORTH_NAME_HASH_JOAAT" tc
-nhash
-joaat asmx86
:asm
-Make
-Constant
24 " URFORTH_NAME_HASH_ROT" tc
-nhash
-rot asmx86
:asm
-Make
-Constant
26 " URFORTH_DEBUGGER_ENABLED" tc
-debugger
-enabled notnot asmx86
:asm
-Make
-Constant
28 " URFORTH_MAX_WORD_NAME_LENGTH" tc
-max
-word
-name
-length asmx86
:asm
-Make
-Constant
30 " URFORTH_MAX_USERAREA_SIZE" tc
-#userarea asmx86
:asm
-Make
-Constant
31 " URFORTH_MAX_USERAREA_CELLS" tc
-#userarea
3 + 2 rshift asmx86
:asm
-Make
-Constant
33 " URFORTH_TLS_TYPE_NONE" tc
-tls
-none asmx86
:asm
-Make
-Constant
34 " URFORTH_TLS_TYPE_FS" tc
-tls
-fs asmx86
:asm
-Make
-Constant
35 " URFORTH_TLS_TYPE" tc
-tls
-type asmx86
:asm
-Make
-Constant