mirror of
https://github.com/pret/pmd-sky.git
synced 2026-09-28 05:07:58 -05:00
e865b69791d95caf7e91a5f0d06b55a87e76f2f0
Second 5x10 batch: located as five groups of ten before any matching, then all matched, then one build, then one commit. inventory menu window accessors 10 ov10_022BCC7C .. ov10_022BCDBC file/ROM transfer + bag init 10 FileRom_StopDataTransfer .. sub_0200CAE4 overlay_16 + secret bazaar 10 ov16_0238CC94 .. TalkToSecretBazaarNpcWithYesNoMenu Gt2 socket/connection accessors 10 Gt2GetConnectionState .. Gt2SetConnectionData forwarding veneers at +4 9 sub_0202613C .. sub_020261E4 Each group is a contiguous run, which costs one .s split apiece rather than one per function: after the first extraction the next function is at the head of the remainder and merges into the source just created. None of the 49 carries a region conditional -- checked per function, not per file -- so US alone verifies. GetDamageSource returns s16. The lsl #16 / asr #16 before its return is the return conversion, not a cast in the body; s16 return with an s32 parameter scores 0, while returning s32 and casting scores 510 in the shape the target does not use. ov29_022F05B4 needed its two arms in the other source order -- the fourth instance of MWCC letting the first arm written fall through. TalkToSecretBazaarNpcStandard and ov29_022F0618 differ only by `mov r3, #0` versus `mov ip, #0`. r3 is the fourth argument register: the Standard variant passes 0 for it, the other forwards its own. Same callee, different arity. IsInventoryMenuActive returns s32, not bool8 -- bool8 adds an and #0xff the target lacks. struct unk_0202AAA8's field_0xA4[0xF4] is split to expose field_0xF8. New placeholder structs: unk_020AF360, unk_0238CE40, unk_02026130, unk_0230E3E8 and unk_0230E420 (the Gt2 connection and socket are distinct types -- remote IP sits at offset 0, local IP at 4). A fiftieth was prepared and not landed: sub_0202614C stands at 300. The target materialises &v into r3 before the first store and moves it to r1; six spellings (struct by value, a pointer local, storing through the pointer, an array, a reversed store order, a hoisted destination) all compute the address after the stores instead. Authored by Claude (Opus 5) under human direction. All 49 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%