mirror of
https://github.com/pret/pmd-sky.git
synced 2026-09-28 05:07:58 -05:00
c34d1196f281aadf5043e60ffeae86cb52a7322e
Third 5x10 batch: fifty located as five groups of ten before any matching, all fifty matched, one build, one commit. Dwci account bitfield accessors 10 Dwci_Acc_SetMaskBits .. Dwci_Acc_GetFlags overlay-11 menu/overlay loaders 10 ov11_0230CB88 .. LoadRecycleShopOverlayResume _020B0B6C accessors + copies 10 sub_0206C0D8 .. sub_0206C19C overlay-11 veneers 10 ov11_022E9A78 .. ov11_022E9B5C main_02065C84 wrappers 10 sub_020663C8 .. sub_020664AC Each group is a contiguous run, costing one .s split apiece. None of the fifty carries a region conditional -- checked per function, not per file -- so US alone verifies this commit. The two 8-byte copy loops need an UNSIGNED counter. With s32, `--n != 0` emits sub followed by cmp and scores 505; with u32 it fuses into the target's single subs. A struct assignment through a cast also scores 0 but needs a new type. ov11_0230CB88 passes an argument to EntryOverlay13, which this tree already has decompiled and matching as `void EntryOverlay13(void)`. Dropping the argument scores 220 -- the target saves r0 into r4 across the InitMenu call specifically to pass it. Retail's caller evidently had a prototype its definition did not match; reproducing that needs the two declarations to disagree across translation units, so this file declares `extern void EntryOverlay13(s32 a);` locally. Dwci_Acc_GetUserId and Dwci_Acc_GetFriendKey return 64-bit values; the tell is the pair of no-op `orr rX, rX, #0` instructions MWCC emits assembling a u64 across r0/r1. GetUserId's high half is field_0x0 masked to 0x7FF, which agrees with Dwci_Acc_SetUserId passing that same mask to Dwci_Acc_SetMaskBits. New placeholder structs: unk_022DB0E0, unk_020B0B70, unk_02388FC0, unk_023890A0. Authored by Claude (Opus 5) under human direction. All fifty verified at score 0. Confirmed by a matching build: build/pmdsky.us/pmdsky.us.nds: OK. 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
66.3%
C
18%
C++
7.1%
Boogie
4.3%
sed
1.5%
Other
2.8%