ov143 β€” overlay detail

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

UTF-16 strings: 2 embedded

ov143 unknown

UTF-16 strings: 2 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 143
File ID 143
RAM load address 0x021a5ee0
RAM size 4,448 bytes (0x1160)
BSS size 128 bytes
On-disk compressed size 3,648 bytes
Compression flag 0x1 (BLZ-compressed)
Functions 25
External calls 30
Jump tables 1
Data items 68
Code coverage 48% (2,130 of 4,448 bytes)

Reading the binary

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

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

Embedded strings

2 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.

0x021a667e `逇順ユ逆`
0x021a6893 `γƒ ηŒœε§ΆθŸΊ`

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 25 functions
# Address Size Calls Strings Role hint
1 0x021a5ee0 38 1 0 trampoline / small helper
2 0x021a5f0c 50 4 0 code
3 0x021a5f44 56 4 0 code
4 0x021a5fe8 8 0 0 trampoline / small helper
5 0x021a5ff4 8 0 0 trampoline / small helper
6 0x021a6000 22 2 0 trampoline / small helper
7 0x021a6020 12 1 0 trampoline / small helper
8 0x021a602c 56 3 0 code
9 0x021a606c 36 1 0 trampoline / small helper
10 0x021a6094 114 10 0 code
11 0x021a610c 20 1 0 trampoline / small helper
12 0x021a6120 48 1 0 code
13 0x021a6150 28 0 0 trampoline / small helper
14 0x021a61d4 68 2 0 code
15 0x021a6220 12 1 0 trampoline / small helper
16 0x021a622c 56 3 0 code
17 0x021a626c 28 0 0 trampoline / small helper
18 0x021a628c 644 31 0 high-fan-out (likely dispatcher / setup)
19 0x021a6530 16 0 0 trampoline / small helper
20 0x021a6544 12 0 0 trampoline / small helper
21 0x021a6554 6 0 0 trampoline / small helper
22 0x021a6560 32 0 0 trampoline / small helper
23 0x021a6580 668 21 0 high-fan-out (likely dispatcher / setup)
24 0x021a6854 18 0 0 trampoline / small helper
25 0x021a6cd8 74 3 0 code

Open questions & conflicts

Open questions / unknowns

Conflicts with the prior shallow pass

Source