Historically Forth was implemented on small computers as an operating system in its own right. Mass storage was not organized in files but as a sequence of 1 KB blocks. A block was addressed with a block number. This way a diskette drive provided a few hundred blocks and if you had a fixed disk you simply had thousands of those blocks.
Both program text and arbitrary data can be stored in blocks. In order to hold source text the 1K block is treated as having 16 lines with 64 charactes each. This is often referred to as a 'screen'.
When loading (i.e. interpreting) a block with source text it
is simply taking to be a single line of 1024 characters. The
only exception to this is the word \
BLK
BLOCK ( u -- addr )
BUFFER ( u -- addr )
EMPTY-BUFFERS ( -- )
FLUSH ( -- )
LIST ( u -- )
LOAD ( u -- )
SAVE-BUFFERS ( -- )
SCR
THRU ( u1 u2 -- )
UPDATE ( -- )
BLK
no documentation available (input.blk)
reference: input.blk in ../src/block.c:0135, export DV BLK
BLOCK ( u -- addr )
BLOCK
reference: p4_block in ../src/block.c:0050, export CO BLOCK
BUFFER ( u -- addr )
BLOCK
reference: p4_buffer in ../src/block.c:0061, export CO BUFFER
EMPTY-BUFFERS ( -- )
UPDATE
reference: p4_empty_buffers in ../src/block.c:0071, export CO EMPTY-BUFFERS
FLUSH ( -- )
SAVE-BUFFERS
EMPTY-BUFFERS
reference: p4_flush in ../src/block.c:0080, export CO FLUSH
LIST ( u -- )
reference: p4_list in ../src/block.c:0089, export CO LIST
LOAD ( u -- )
INTERPRET
BLOCK
reference: p4_load in ../src/block.c:0097, export CO LOAD
SAVE-BUFFERS ( -- )
UPDATE
FLUSH
reference: p4_save_buffers in ../src/block.c:0107, export CO SAVE-BUFFERS
SCR
no documentation available (scr)
reference: scr in ../src/block.c:0143, export DV SCR
THRU ( u1 u2 -- )
LOAD
reference: p4_thru in ../src/block.c:0115, export CO THRU
UPDATE ( -- )
FLUSH
reference: p4_update in ../src/block.c:0127, export CO UPDATE