extra words: allow finer-grained loading

This commit is contained in:
Virgil Dupras 2020-06-03 20:26:41 -04:00
parent d8a6456206
commit c26c454cbf
3 changed files with 10 additions and 8 deletions

View File

@ -1,6 +1,6 @@
50 LOAD+ ( B152, extras ) '? CASE NOT [IF] 51 52 LOADR+ [THEN] DROP ( B152-153 )
'? FILL NOT [IF] 53 LOAD+ [THEN] DROP ( B154 )
1 7 LOADR+ 1 7 LOADR+
: BROWSE : BROWSE
0 ACC ! L 0 ACC ! L
BEGIN BEGIN

View File

@ -1,6 +1,6 @@
Extra words Extra words
The Core words (B420) section contains the absolute minimum The Core words (B350) section contains the absolute minimum
needed to get a usable Forth interpreter with input buffer and needed to get a usable Forth interpreter with input buffer and
disk blocks access running. The goal here is to minimize the disk blocks access running. The goal here is to minimize the
binary size of a minimum Collapse OS install. binary size of a minimum Collapse OS install.
@ -10,5 +10,6 @@ are generally useful. They are so useful that they are part
of the Dictionary (B30). of the Dictionary (B30).
Some programs need them, so they will automatically LOAD them. Some programs need them, so they will automatically LOAD them.
To that end, the loader is conditional: it aborts if extra Because more than one program can use the same extra words,
words are already present. Load with "152 LOAD". conditional loaders are recommended. If you want to load all
words do "152 LOAD" which conditionally loads all extra words.

View File

@ -1,3 +1,4 @@
'? CASE NOT [IF] '? CASE NOT [IF] 1 2 LOADR+ [THEN] DROP ( from '? )
1 5 LOADR+ '? FILL NOT [IF] 3 LOAD+ [THEN] DROP
[THEN] DROP ( from '? ) '? EMPTY NOT [IF] 4 LOAD+ [THEN] DROP
'? WIPE NOT [IF] 5 LOAD+ [THEN] DROP