 |
Description |
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:
[list]
[li]Implements all features supported by Cartographer.[/li]
[li]Implements all features supported by Atlas except for running Atlas extensions.[/li]
[li]Corrects many features that were broken to varying degrees in Cartographer and Atlas.[/li]
[li]Uses expanded table file syntax that allow you to:[list]
[li]Work with non-octet text encodings (e.g. 6-bit tokens, Huffman encodings, etc.).[/li]
[li]Handle mid-string encoding changes (a.k.a. table switching within a single string) with a great deal of flexibility.[/li]
[/list][/li]
[li]Adds new extraction commands that allow you to:[list]
[li]Dump multiple strings from a single pointer.[/li]
[li]Re-align the ROM read position when an end token is encountered.[/li]
[li]Dump strings with internal gaps.[/li]
[li]Sort output by string address instead of pointer address (making it easier to find gaps between strings that might indicate unused content).[/li]
[li]Output only one copy of strings that are the target of multiple pointers.[/li]
[li]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.[/li]
[/list][/li]
[li]Adds new insertion commands that allow you to:[list]
[li]Execute arbitrary insertion commands when the insertion point reaches a specified ROM address.[/li]
[li]Count things and write the counter value to ROM like a pointer.[/li]
[li]Handle Pascal strings that specify their length in number of tokens rather than number of bytes.[/li]
[li]Write pointers (embedded or normal) whose value is the distance between the pointer and the text rather than the text's address.[/li]
[li]Change the current insert position by a relative amount rather than specifying an absolute ROM address.[/li]
[li]Dynamically calculate arbitrary arithmetic values and write the values to ROM.[/li]
[/list][/li]
[li]Open source code that you can modify or extend to suit your own needs or preferences.[/li]
[/list] |
|