ov094 β€” overlay detail

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

(no containers/strings -- pure code)

ov094 game_mode_logic

(no containers/strings -- pure code)

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 94
File ID 94
RAM load address 0x0215c540
RAM size 6,208 bytes (0x1840)
BSS size 0 bytes
On-disk compressed size 5,108 bytes
Compression flag 0x1 (BLZ-compressed)
Functions 37
External calls 38
Jump tables 4
Data items 115
Code coverage 64% (3,968 of 6,208 bytes)

Reading the binary

The overlay ships on the cart at file ID 94 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 + 94 * 0x20, allocates the destination RAM region at 0x0215c540, decompresses the body in-place (if compressed), and resolves any external relocations.

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

Embedded strings

No UTF-16 LE strings are embedded directly in this overlay's binary. Any text it displays at runtime comes from a container file loaded via the content cache.

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 37 functions
# Address Size Calls Strings Role hint
1 0x0215c740 40 1 0 code
2 0x0215c76c 358 15 0 code
3 0x0215c8ec 4 0 0 trampoline / small helper
4 0x0215c8f0 130 6 0 code
5 0x0215cb20 42 2 0 code
6 0x0215cb4c 42 2 0 code
7 0x0215cb78 42 2 0 code
8 0x0215cba4 204 15 0 code
9 0x0215cc70 170 12 0 code
10 0x0215cd1c 52 0 0 code
11 0x0215cd6c 62 4 0 code
12 0x0215cdac 68 4 0 code
13 0x0215cdf0 74 4 0 code
14 0x0215ce44 58 4 0 code
15 0x0215ce80 42 2 0 code
16 0x0215ceec 304 17 0 code
17 0x0215d024 4 0 0 trampoline / small helper
18 0x0215d028 74 0 0 code
19 0x0215d074 56 4 0 code
20 0x0215d0ac 170 2 0 code
21 0x0215d184 216 11 0 code
22 0x0215d260 4 0 0 trampoline / small helper
23 0x0215d264 66 3 0 code
24 0x0215d2ac 76 3 0 code
25 0x0215d2fc 84 3 0 code
26 0x0215d550 112 6 0 code
27 0x0215d5c0 18 1 0 trampoline / small helper
28 0x0215d60c 878 42 0 high-fan-out (likely dispatcher / setup)
29 0x0215d99c 78 4 0 code
30 0x0215d9f4 40 2 0 code
31 0x0215da20 32 0 0 trampoline / small helper
32 0x0215da40 66 1 0 code
33 0x0215da88 38 1 0 trampoline / small helper
34 0x0215dab0 26 0 0 trampoline / small helper
35 0x0215dacc 26 0 0 trampoline / small helper
36 0x0215dae8 200 12 0 code
37 0x0215dbbc 12 1 0 trampoline / small helper

Open questions & conflicts

Open questions / unknowns

Conflicts with the prior shallow pass

Source