Known shifting issues
The following are known issues when building the US rom with the original compiler (./configure.py --shift us). Since pj64 is the easiest place to debug from, issues that manifest there will be listed first. Then will follow issues that manifest on ares, followed by issues that only manifest on hardware.
PJ64, other emulators, and hardware
- [ ] Adding a byte to the SaveMetadata struct causes crashes
Ares and hardware
- [x] ~~Crashes before the first part of the intro on a white screen~~ (fixed in https://github.com/pmret/papermario/commit/ca9478a86ad8f5a8e80290c95f113ca9cae4cfa2)
- [ ] Filenames contain trailing 0s for some reason when loading a file (may be an issue during saving too)
Hardware only
I got a crash when using an item. This is because of an 80 byte overlap between the world_use_item and evt segments. evt_VRAM is calculated as 0x80496CE0 but world_use_item_VRAM_END is calculated as 0x80496D30 which overwrites part of the sort_scripts function in evt. Adding 80 bytes of unused BSS to world_use_item prevents the crash because of BSS not being initialized for the overlay but keeps the 80 bytes of overlap.