Google

BLOCK-EXT Block + extensions

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 \ (begin comment to end of line) which skips text up to the end of a 64-char line in a block.



BLK
dict-variable ansi 7.6.1.0790

no documentation available   (input.blk)

  • see the ANSI Documentation of this word : ansi 7.6.1.0790

reference: input.blk in ../src/block.c:0135, export DV BLK

BLOCK ( u -- addr )  
ansi 7.6.1.0800
load the specified block into a block buffer and return the address of that block buffer - see also BLOCK

reference: p4_block in ../src/block.c:0050, export CO BLOCK

BUFFER ( u -- addr )  
ansi 7.6.1.0820
get the block buffer address for the specified block - if it had not been loaded already it is not filled with data from the disk unlike BLOCK does.

reference: p4_buffer in ../src/block.c:0061, export CO BUFFER

EMPTY-BUFFERS ( -- )  
ansi 7.6.2.1330
unassign all block buffers, does not even UPDATE

reference: p4_empty_buffers in ../src/block.c:0071, export CO EMPTY-BUFFERS

FLUSH ( -- )  
ansi 7.6.1.1559
call SAVE-BUFFERS and then unassign all block buffers with EMPTY-BUFFERS

reference: p4_flush in ../src/block.c:0080, export CO FLUSH

LIST ( u -- )  
ansi 7.6.2.1770
display the block

reference: p4_list in ../src/block.c:0089, export CO LIST

LOAD ( u -- )  
ansi 7.6.1.1790
INTERPRET the specified BLOCK

reference: p4_load in ../src/block.c:0097, export CO LOAD

SAVE-BUFFERS ( -- )  
ansi 7.6.1.2180
write all modified buffer to the disk, see UPDATE and FLUSH

reference: p4_save_buffers in ../src/block.c:0107, export CO SAVE-BUFFERS

SCR
dict-variable ansi 7.6.2.2190

no documentation available   (scr)

  • see the ANSI Documentation of this word : ansi 7.6.2.2190

reference: scr in ../src/block.c:0143, export DV SCR

THRU ( u1 u2 -- )  
ansi 7.6.2.2280
LOAD a number of block in sequence.

reference: p4_thru in ../src/block.c:0115, export CO THRU

UPDATE ( -- )  
ansi 7.6.1.2400
mark the current block buffer as modified, see FLUSH

reference: p4_update in ../src/block.c:0127, export CO UPDATE