SCUMM Block Specifications Format

Each block specification contains a general description of the block and a table of the exact ordering of data within the block. The first column in these tables either contains a string literal (for example the block name "APAL") or an identifier (made up by me) written in hungarian notation.

The second column contains the size/format of the data meaning the following:

Some of these may be prepended a multiplier, such as "5 *", which means what you think it does.

The third column contains a description of the data. In this, some abbreviations are used:

If nothing is noted, the number is stored as Big Endian.

Special schemes are used for special instances, such as a piece of the spec being repeated for a specified number of times:
loop <count>
 ...
end of loop

- or an unspecified number of times:
loop
 ...
end of loop

Also, if a piece of the spec may not occur in some instances, it's marked thusly:
(
 ...
)

Finally, if a piece can be different in some instances, it's marked with:
{
 ...
}
or
{

 ...
}