abcde is a script extraction/insertion utility that aims to take as many of the things that are good about Atlas and Cartographer as possible and make them even better.
Features:
- Implements all features supported by Cartographer.
- Implements all features supported by Atlas except for running Atlas extensions.
- Corrects many features that were broken to varying degrees in Cartographer and Atlas.
- Uses expanded table file syntax that allow you to:
- Work with non-octet text encodings (e.g. 6-bit tokens, Huffman encodings, etc.).
- Handle mid-string encoding changes (a.k.a. table switching within a single string) with a great deal of flexibility.
- Adds new extraction commands that allow you to:
- Dump multiple strings from a single pointer.
- Re-align the ROM read position when an end token is encountered.
- Dump strings with internal gaps.
- Sort output by string address instead of pointer address (making it easier to find gaps between strings that might indicate unused content).
- Output only one copy of strings that are the target of multiple pointers.
- Output more Atlas commands automatically; in many cases it is possible to use the extraction output as a complete Atlas input file without needing to modify it further.
- Adds new insertion commands that allow you to:
- Execute arbitrary insertion commands when the insertion point reaches a specified ROM address.
- Count things and write the counter value to ROM like a pointer.
- Handle Pascal strings that specify their length in number of tokens rather than number of bytes.
- Write pointers (embedded or normal) whose value is the distance between the pointer and the text rather than the text’s address.
- Change the current insert position by a relative amount rather than specifying an absolute ROM address.
- Dynamically calculate arbitrary arithmetic values and write the values to ROM.
- Open source code that you can modify or extend to suit your own needs or preferences.
File download: