They match when placed there, although its not immediately clear
that they truly belong there. But a match is a match.
Also cleaned up a bunch of .h files that had references to the
newly matched variables.
Signed-off-by: Taggerung <tyler.taggerung@email.com>
* Match audio/external.c BSS segment
Also fix a misnamed function found in audio/heap, used in
audio/load
* Match audio/seqplayer .data section
* Match func_800C76C0
That was the last function referencing some fake variables, so it
should be possible to match audio/external's .data section as
well
* Match audio/external's .data section
The only thing in src/audio left to be matched is audio/external's
.text section.
There's probably some beautifying that could be done to data/sound_data,
but that is a future problem
Signed-off-by: Taggerung <tyler.taggerung@email.com>
* Doc setup_game_memory and label syms
* match func_800132F4
* match func label defines
* fix some fake ptrs
* match more code
* Matches
* Add osSyncPrintf support and matches
* Add func equiv to draw_square and add comment to is_debug
* Lots of audio matches
Fully matched heap.c, lots of load.c and some stuff in seqplayer.c
Matched heap.c's BSS segement and moved some BSS stuff out of
load.c into data.c, since that where it appears to belong
according to SM64.
Signed-off-by: Taggerung <tyler.taggerung@email.com>
* Migrated data and rodata for code_80091750
And it even matches when built!
Minor annoyances:
There are some EUC-JP strings in `func_800A6E94` and `func_800A69C8`
that are currently in byte form. The asm files don't get put
through `icnov` so we can't have them as strings until they're
parent functions are matched.
`func_8009F5E0` has the symbol `D_800E7594` replaced with the
actual number `0x800e7594`. The symbol in question is almost
certainly fake, but I can't figure out what its meant to be.
So I've hardcoded it for the time being to make the migration
possible.
* Fully match all the NEEDS_RODATA functions
Signed-off-by: Taggerung <tyler.taggerung@email.com>
* All work done in audio
* Migrate audio/port_eu data
* Refereshed m2c
* Got the bss segment matching too
Signed-off-by: Taggerung <tyler.taggerung@email.com>
* Run iconv as part of build
That way files that need to be in EUC-JP encoding can still be
worked on in UTF-8
Signed-off-by: Taggerung <tyler.taggerung@email.com>
Had to create a new file in order to get stuff matching right,
even though making a separate file for just 3 functions is
incredibly silly.
Signed-off-by: Taggerung <tyler.taggerung@email.com>
* Add new asset extraction tool. Changes motivated by the quirks of how kart animation frames are stored
in the ROM.
each frame has a palette that is actually
composed of 2 other, incomplete palettes. As such, the existent
extract.py isn't really able to handle them.
* Move a variety of assets to new extract tool
---------
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
Mostly relocating rodata from data/* files to the appropriate
asm/nonmatching/* files, although there is some plain data
relocating to be found in here too.
Big change to note is the addition of the code_802AAA70.c file,
split from memory.c. Based on some padding in the ro/data for
memory it seems clear that a split is needed, although it is
not clear that exact spot chosen for the split is correct.
Still, it gets the file padding for the ro/data and text segments
correct so it can't be too wrong.
Also included is an update to the asm_processor tool to support
the .hword directive. I made a PR to the main repo of that
project with an identical change and it was accepted.
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
* Make the course models in a more Makefiley way
Required renaming one of the course directories to match the name
used elsewhere in the project
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
* Matches, add permute, and add notice to quick runners
* 80281fa0 matches, render_courses, and create defines for audio
* Renamed 80281fa0.h, func naming, and deleted data_121DA0
* Added clang format
* Matched load_surface_map
* Match func in memory.c
* Lots of audio decomp
* effects and playback are 100% matched
* Took some notes from the SM64 Makefile to get the right compiler
options for a couple files
* Added the audio files to rename_symbol utility
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
* Fix some of the memory allocation in framebuffers
Also includes a the questionable change of undoing a previously
made match for func_80027A20. The changes made here remove an
AVOID_UB usage and (I would argue) is therefore more "correct",
but undoing a byte-for-byte match is admittedly bad.
Also adds in some header files and updates some not-quite-right
decomps to be slighly more accurate.
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>