Thoughts on v0.5
After some discussion on IRC today, I thought it'd be good to post my plans for 0.5 and the current status. I welcome any of your thoughts and opinions on any of these matters.
3D Models
1. Choose 3D file format to use for models that support vertex coloring [
WIP, looking at Collada or VRML/X3D]
2. Implement F3D->model converter [
WIP]
3. Implement model->F3D converter [
TODO Use
sm64Import as base?]
Graphics
4. Support all RGBA and IA/I formats in n64graphics [
DONE]
5. Support for CI image formats [
DONE]
6. Rewrite graphics code to convert .png->.bin and include in assembly code [
TODO]
Disassembly
7. Add option to insert comments with addresses and word for each instruction [
DONE]
8. Add option to merge LUI/LW and LUI/ADDIU pairs into pseudo-instructions [
DONE]
9. Rewrite core disassembler to output all "asm" section [
TODO]
10. Map levels, geo layout, and display lists to segmented addressing [
TODO]
11. Decode RAM .data addresses [
TODO]
Re-Assembly
12. Considering using 'armips' instead of GNU as/ld to rebuild, at least as an option [
TODO]
Advantages: can easily ship 'armps' with n64split, easier to maintain and read, supports dialog text encoding
Disadvantages: cannot have .bss segment, single-file assembly
Config Files
13. Remove 'memory' section and relocate existing info into 'ranges' [
TODO]
14. Support .data addresses [
TODO]
15. Add some way to comment functions [
TODO]
16. Switch from libconfig to YAML [
DONE]
17. Add tool to help automate creating a new config file from emulator tracing and logging [
WIP]
18. Add more config files for MK64, Blast Corps, Super Smash Bros. [
WIP]