ov140 β€” overlay detail

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

UTF-16 strings: 1 embedded

ov140 unknown

UTF-16 strings: 1 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 140
File ID 140
RAM load address 0x021a5ee0
RAM size 16,704 bytes (0x4140)
BSS size 12,096 bytes
On-disk compressed size 13,404 bytes
Compression flag 0x1 (BLZ-compressed)
Functions 75
External calls 63
Jump tables 6
Data items 262
Code coverage 23% (3,826 of 16,704 bytes)

Reading the binary

The overlay ships on the cart at file ID 140 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 + 140 * 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_140.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/ov140.json; the per-overlay descriptive markdown is at notes/overlay_knowledgebase/ov140.md.

Embedded strings

1 UTF-16 LE string 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.

0x021a8395 `ι£·γƒΏη€œη‚½`

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 75 functions
# Address Size Calls Strings Role hint
1 0x021a5ee0 14 0 0 trampoline / small helper
2 0x021a5f8c 44 2 0 code
3 0x021a67a4 58 4 0 code
4 0x021a6884 6 0 0 trampoline / small helper
5 0x021a68b4 8 0 0 trampoline / small helper
6 0x021a68c0 8 0 0 trampoline / small helper
7 0x021a68d4 6 0 0 trampoline / small helper
8 0x021a68e0 6 0 0 trampoline / small helper
9 0x021a68ec 6 0 0 trampoline / small helper
10 0x021a68f8 98 4 0 code
11 0x021a696c 104 4 0 code
12 0x021a6a44 132 0 0 code
13 0x021a6ad4 136 5 0 code
14 0x021a6bc8 116 3 0 code
15 0x021a6c94 6 0 0 trampoline / small helper
16 0x021a6ca0 26 1 0 trampoline / small helper
17 0x021a6d10 10 0 0 trampoline / small helper
18 0x021a6d28 48 3 0 code
19 0x021a6d60 6 0 0 trampoline / small helper
20 0x021a6ee0 6 0 0 trampoline / small helper
21 0x021a6eec 6 0 0 trampoline / small helper
22 0x021a6f5c 16 1 0 trampoline / small helper
23 0x021a702c 24 0 0 trampoline / small helper
24 0x021a707c 8 0 0 trampoline / small helper
25 0x021a708c 8 0 0 trampoline / small helper
26 0x021a709c 22 2 0 trampoline / small helper
27 0x021a70b8 22 2 0 trampoline / small helper
28 0x021a7170 46 2 0 code
29 0x021a71b4 18 0 0 trampoline / small helper
30 0x021a71cc 268 15 0 code
31 0x021a72f8 266 18 0 code
32 0x021a79a0 86 9 0 code
33 0x021a79fc 56 4 0 code
34 0x021a7a38 32 2 0 trampoline / small helper
35 0x021a7a58 58 3 0 code
36 0x021a7b64 266 17 0 code
37 0x021a7c98 46 1 0 code
38 0x021a7cd4 90 4 0 code
39 0x021a7f6c 24 2 0 trampoline / small helper
40 0x021a7f8c 8 0 0 trampoline / small helper
41 0x021a7f9c 8 0 0 trampoline / small helper
42 0x021a7fac 22 2 0 trampoline / small helper
43 0x021a8080 70 0 0 code
44 0x021a81c4 18 0 0 trampoline / small helper
45 0x021a8288 56 6 0 code
46 0x021a82c8 22 3 0 trampoline / small helper
47 0x021a82e0 36 3 0 trampoline / small helper
48 0x021a8308 24 1 0 trampoline / small helper
49 0x021a8320 60 5 0 code
50 0x021a835c 64 6 0 code
51 0x021a839c 56 5 0 code
52 0x021a83d4 18 0 0 trampoline / small helper
53 0x021a83f0 26 1 0 trampoline / small helper
54 0x021a8410 48 3 0 code
55 0x021a8640 306 18 0 code
56 0x021a8eb8 46 1 0 code
57 0x021a8fd4 16 0 0 trampoline / small helper
58 0x021a8fe4 18 1 0 trampoline / small helper
59 0x021a8ffc 80 2 0 code
60 0x021a9050 8 0 0 trampoline / small helper
61 0x021a905c 52 2 0 code
62 0x021a9094 44 2 0 code
63 0x021a90c4 20 1 0 trampoline / small helper
64 0x021a9be4 18 1 0 trampoline / small helper
65 0x021a9c90 26 0 0 trampoline / small helper
66 0x021a9cac 32 1 0 trampoline / small helper
67 0x021a9cd0 6 0 0 trampoline / small helper
68 0x021a9d1c 6 0 0 trampoline / small helper
69 0x021a9d2c 128 0 0 code
70 0x021a9db0 116 1 0 code
71 0x021a9e34 28 0 0 trampoline / small helper
72 0x021a9e58 12 1 0 trampoline / small helper
73 0x021a9e64 34 1 0 trampoline / small helper
74 0x021a9e88 22 1 0 trampoline / small helper
75 0x021a9ea0 66 1 0 code

Open questions & conflicts

Open questions / unknowns

Conflicts with the prior shallow pass

Source