This crate allows working with RGBDS object files. Currently, only version 9 revisions 6, 7 and 8 are supported, but more should be added in the future.
The object file format has changed several times over RGBDS’ lifespan. The following table indicates which object file version each release of RGBDS uses.
Note that a “revision” field was introduced in version 9, so it’s not listed earlier.
|RGBDS release||Object file format|
Earlier releases use v6, up to and including v0.3.4.
A link-time assertion.
Functions mostly like a
An iterator over a RPN expression’s operations (this includes literals).
A file stack node.
A RGBDS object file.
A section patch. Patches are bytes (or groups of bytes) whose computation was deferred to the linker.
A Reverse Polish Notation expression.
An error produced while iterating on a RPN expression. This can be an early EOF, an operator trying to popping an item off of an empty RPN stack, etc.
A section definition.
A ROM section’s data.
A symbol declaration, which may include a definition.
A symbol definition’s data.
A RPN operation’s arity.
An assertion’s error type.
A file stack node’s type, and associated type-dependent data.
An error that occurs while walking the node tree.
A patch’s type.
A RPN operation; since this means “operation on the RPN stack” here, this includes literals, not just operators.
A section modifier.
A section memory type, and associated data if applicable.
A symbol’s visibility, and accompanying data if applicable.