This commit changes the output structure of topti to a format that
supports arbitrary Unicode blocks, but still only accepts the fixed set
of charsets that was defined before.
This commit introduces the libimg image format, selected with the option
type:libimg-image. To avoid confusion with the bopti image format,
options -i and --image are now deprecated and should be replaced with
--bopti-image or type:bopti-image. The fxSDK Makefile has been updated
accordingly.
To support the construction of a structure that contains a pointer in
fxconv, an assembly-code feature has been added. The structure itself is
assembled with as and then linked with the data proper. This allows the
structure to reference the data by name and have the pointer calculated
by ld at link time.
This is because several libraries have separate binaries, and so are
linked with different command-line arguments, just like gint is linked
with -lgint-fx on one side and -lgint-cg on the other.
This makes it possible to change PREFIX at the last minute when running
install, effectively installing the files into a false packaging root
while retaining the same contents as if installed normally.
This change enhances the style of fxconv by using more classes and
generally more Pythonic constructions.
It also introduces image conversion for fx-CG 50, requiring the use
of --fx or --cg to specify the target machine with -i. The default
is set to --fx to maintain compatibility with older Makefiles.
Almost-complete implementation of fxos, the disassembler in particular
is now able to detect syscalls and register addresses on the fly, plus
support for SH4-only instructions.