The block table (BLOCKS) consists of a number of contiguous block definitions (BLOCKS), each of which contains all the information about a specific block and its contents on file.
The location (relative to the file) and the number of elements in the table are specified by the HEADER.BLOCKSOFF and HEADER.BLOCKSCNT fields, respectively.
Block definition
A block (BLOCK) consists of the following data:
Name |
Offset |
Type |
Description |
---|---|---|---|
ID |
+0 |
U32 |
Unique ID of the block. Note: the values 0 and 0xFFFFFF are special meaning IDs. |
STATUS |
+4 |
U16 |
(reserved, runtime use) |
FLAGS |
+6 |
U16 |
Block settings: 0x0001 = Main block (ISMAIN). 0x0002 = Uncompressed TEXT field (NCF0). 0x0004 = Uncompressed COMMENT field (NCF1). |
NAME |
+8 |
U32 |
Offset block name (relative to strings). Note: If ISMAIN flag specified, name comes must be "main". |
TEXT |
+12 |
U32 |
Offset block description (relative to compressed strings, or strings if NCF0). |
COMMENT |
+16 |
U32 |
Offset comments for the block (relative to compressed strings, or strings if NCF1). |
RUNGSOFF |
+20 |
U32 |
Offset of the circuit table of the block (relative to rows). |
RUNGSCNT |
+24 |
U32 |
No. of elements of the block circuit table. |
|
+28 |
B[36] |
(reserved) |