Tools I have created to help with NES/Famicom development.
Note: this is under heavy development and it's not currently usable.
nasm is an assembler specifically tailored for the NES/Famicom. Read more
about it in ./crates/nasm/README.md.
Since nasm is still under heavy development, it's a good idea to compare the
results that it produces with a mature and stable assembler like
cc65. The purpose of xa65 is to provide a
bridge, and so it simply executes both nasm and cc65 with the given
arguments. If the results from both assemblers are not the same, then it will
display a warning and produce the binary as taken from cc65. Moreover, if you
want this warning to be an error instead, then use the --no-errors.
Last but not least, you can also pass flags to xa65 like --strict, which
will invoke nasm with more pedantic features like its address sanitizer.
readrom is an objdump-like utility that reads a given ROM file and shows
information about it. Read more about it in
./crates/readrom/README.md.
This repository holds two licenses, as you can also note on the Cargo.toml
file. As it's written there:
- The source code on the
crates/directory is licensed under the GNU GPLv3 (or any later version). - The source code on the
lib/directory is licensed under the GNU LGPLv3 (or any later version).
In practice, for the libraries under lib/ this means that if you plan to
compile your binary statically, you still need to abide by the LGPLv3+ license.
This means at least providing the object files necessary to allow someone to
recompile your program using a modified version of these libraries. See the
LGPLv3 license for more details.