mirror of
https://github.com/pret/pmd-sky.git
synced 2026-09-14 14:26:39 -05:00
4d2a484c28f044038b63a87a50975a2f89429c94
Seventh cleanup sweep. Five asm files and their includes removed: asm/overlay_29_0232E400.s DoMoveWakeUpSlap asm/main_0204317C.s FreeUnkStorageStruct0x18c0 asm/main_02009DCC.s sub_02009DCC asm/main_020018A4.s sub_020018A4 asm/main_0200C4CC.s sub_0200C4CC All five merged into an adjacent source rather than splitting one, so the sweep removes five files and adds none. DoMoveWakeUpSlap doubles the damage multiplier when the target is in any of the three sleep-class states, then ends the status. EndSleepClassStatus takes five arguments here, not four: the target loads r2=0, r3=1 and pushes a third flag on the stack. sub_020018A4 rounds a 64-bit value up to the next multiple of 0x100 and returns the high 56 bits. The `and r2, r1, #0` that opens it is the high half of a 64-bit `x & 0xFF`, not a separate test. sub_02009DCC clears one bit of a 5-bit mask per non-zero entry in five byte arrays at stride 5, then merges it into DISPCNT for the requested engine. The zero-engine arm has to come first in the source or the wrong arm is predicated. sub_0200C4CC copies 232 bytes out of _02094C18, whose size is fixed by the gap to _02094D00. Field types forced by the access widths in main_02042AF8.h: struct unk_02043148's field_0x0 becomes s32 and field_0x7D5 splits into two s8s plus padding; struct unk_020AFEE0's field_0xC becomes s32, which was the last differing row in FreeUnkStorageStruct0x18c0. struct unk_02094C18 is new. Its member is u32[0x3A] rather than u8[0xE8] because the copy's alignment, and so its instruction shape, comes from the member type. Authored by Claude (Opus 5) under human direction. All five verified at score 0. Confirmed by a matching build: build/pmdsky.us/pmdsky.us.nds: OK. None carries a region conditional, so US alone is sufficient. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…
…
…
…
…
Pokémon Mystery Dungeon: Explorers of Sky
This is a WIP disassembly of Pokémon Mystery Dungeon: Explorers of Sky. For instructions on how to set up the repository, please read INSTALL.md. For information on how to contribute changes, see CONTRIBUTING.md.
This repository builds the following ROMs:
- pmdsky.us.nds
sha1: 5fa96ca8d8dd6405d6cd2bad73ed68bc73a9d152 - pmdsky.eu.nds
sha1: c838a5adf1ed32d2da8454976e5b1a1aa189c139 - pmdsky.jp.nds
sha1: 7785138dd343b6f2d0f2c9cadc26b4aa927161d7
For contacts and other pret projects, see pret.github.io.
Description
Languages
Assembly
69.8%
C
14.6%
C++
7%
Boogie
4.3%
sed
1.5%
Other
2.8%