ov066 β€” overlay detail

DS game only γ¨γ‚“γŒγ‚Šγƒœγ‚¦γ‚·γ¨γŠγ—γ‚ƒγ‚Œγͺまほう぀かい The field guide documents the DS game's internals.

UTF-16 strings: 4 embedded

ov066 body_no_strings

UTF-16 strings: 4 embedded

Header

Numeric metadata for this overlay as read from the overlay table at ROM offset 0x8DE00 (per-entry stride 32 bytes). Function counts, data-item counts, and the call-graph fan-out are from a Ghidra 11.3.1 headless auto-analysis pass.

Overlay ID 66
File ID 66
RAM load address 0x021597a0
RAM size 11,584 bytes (0x2d40)
BSS size 64 bytes
On-disk compressed size 10,312 bytes
Compression flag 0x1 (BLZ-compressed)
Functions 17
External calls 10
Jump tables 0
Data items 45
Code coverage 13% (1,558 of 11,584 bytes)

Reading the binary

The overlay ships on the cart at file ID 66 under the BLZ code-LZ compression wrapper (the same backward-LZ scheme Nintendo uses for executable ARM9 code). At load time the engine reads the overlay table entry at ROM offset 0x8DE00 + 66 * 0x20, allocates the destination RAM region at 0x021597a0, decompresses the body in-place (if compressed), and resolves any external relocations.

To inspect this overlay outside the running game, decompress overlay/overlay_066.bin with ndspy.codeCompression.decompress() (Python ndspy library) and load the resulting plaintext into Ghidra or IDA at base address 0x021597a0. The raw Ghidra auto-analysis dump used to populate this page lives at notes/overlay_knowledgebase/raw/ov066.json; the per-overlay descriptive markdown is at notes/overlay_knowledgebase/ov066.md.

Embedded strings

4 UTF-16 LE strings live inside this overlay's compiled binary. These addresses are absolute (inside the overlay's RAM image after load). The text is stored as little-endian UTF-16 code units, NUL-terminated.

0x02159d26 `砸瑺逓ケ退頄`
0x0215ae3a `頁嬩぀送`
0x0215af1e `ι€ƒγ˜ι€ƒι€€`
0x0215b52d `ζ€œη₯ƒγƒζ€˜`

Container references

This overlay references no container files β€” it is pure code (or reads only from globals shared with the persistent ARM9 binary).

Function list

Functions Ghidra auto-identified inside this overlay's RAM range. Names prefixed FUN_ are auto-generated from the function's entry address; size is in bytes; the "calls" column counts both intra-overlay branches and external ARM9 call targets. The "strings" column counts how many UTF-16 LE strings each function references.

Show all 17 functions
# Address Size Calls Strings Role hint
1 0x0215ad34 26 0 0 trampoline / small helper
2 0x0215ad50 16 1 0 trampoline / small helper
3 0x0215ad60 110 6 0 code
4 0x0215ae68 92 0 0 code
5 0x0215b1c4 38 3 0 trampoline / small helper
6 0x0215b1ec 410 10 0 code
7 0x0215b3c4 112 4 0 code
8 0x0215b434 236 10 0 code
9 0x0215b520 36 1 0 trampoline / small helper
10 0x0215b7ac 100 0 0 code
11 0x0215baac 130 0 0 code
12 0x0215bb30 46 1 1 refs: item/ItemNoList.itnt
13 0x0215bb70 40 2 0 code
14 0x0215bbc8 26 1 0 trampoline / small helper
15 0x0215bc00 18 0 0 trampoline / small helper
16 0x0215bc18 74 1 0 code
17 0x0215bc78 48 1 1 refs: item/old_safe_list.dat

Open questions & conflicts

Open questions / unknowns

Conflicts with the prior shallow pass

Source