Disk Space Assignment
The 1440 blocks of arrayForth are roughly divided into two sections.
0-144 are public domain colorforth. They include the colorforth kernel
and utilities. 144-1440 comprise arrayForth, though there is some
overlap as the IDE sits below 144 and the html utility sits above.
Most of the blocks from about 200 up to about 1200 are empty and free
for you to use for arrayForth programs. There are some exceptions.
Leave blocks 648, 890-896, 900, 940-944 as they are. You might just
want to start your code at block 200 and have more than 400 consecutive
empty blocks to work with.
Where to Look
You will find examples of arrayForth source code in blocks 1300 and
up. The arrayForth compiler source occupies blocks 1400-1414. The
ROM load blocks are 1418-1440. From the command line type, for example,
'705 @rom' to see what block number has the source code for node 705's
ROM. Then type 'edit' or 'list' to view that source code. The blocks at
1418-1440 load ROM source code from blocks 1304-1400 as well. These are
examples of highly optimized arrayForth. They are optimized to take as
little space in memory as possible.
942 is the load block for
softsim, the software simulator, which is
invoked by typing 'so'. The source code for softsim is between 1250 and
1300. An advanced arrayForth programmer might want to change the
display or write another testbed in order to help debug a program, but
most programmers will use it as is.
Getting your arrayForth Program Compiled
The arrayForth compiler first compiles all the ROM code and then
uses 1300 as the RAM load block. 1300 in turn loads 1302 and this should
be the load block for your custom code. If you've edited some test code
for node 0 into block 200 for example, then on 1302 you say
'0 node 200 load exit'.