ov127 β€” overlay detail

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

containers: /map/plane/plight.ofs, Fas00_board00, NpcRoom (+21 more)

ov127 shop

containers: /map/plane/plight.ofs, Fas00_board00, NpcRoom (+21 more)

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 127
File ID 127
RAM load address 0x02161680
RAM size 46,336 bytes (0xb500)
BSS size 32 bytes
On-disk compressed size 39,760 bytes
Compression flag 0x1 (BLZ-compressed)
Functions 164
External calls 310
Jump tables 16
Data items 801
Code coverage 50% (23,286 of 46,336 bytes)

Reading the binary

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

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

Embedded strings

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

0x02165986 `ι€Šγ‚€ι€Šι …ι€‰γ‚¨ι€‰ι …ι€ˆγ‚¬ι€ˆι …ι€‡γ‚Όι€‡ι …ι€†γƒ€ι€†ι …γƒ„ι€…`
0x02169521 `葨歂槐ム`
0x0216ad28 `γ‚€ι€Œζ €ι¬Ž`
0x0216ad34 `ιˆŒγ‚¨ι€ζ €`
0x0216aecc `γ‚€ι€Œζ €ι¬Ž`
0x0216bc3a `逄へ逄逄`
0x0216bc76 `ι ˆγ‚’ι€ˆεˆΉι ‚`
0x0216bec2 `ι „γ‚’ι€„εˆ±ι ‚`

Container references

Distinct container basenames referenced by this overlay. Each is loaded via the content cache by passing the basename string to a lookup that resolves it to a file ID in the ROM's FAT. The path column shows the file's location in the clean extract, where resolved.

Unresolved

These container basenames appeared in the overlay's string table but no file of that name was found in the clean extract. Most are false-positive ASCII matches (function names, register maps, fragments of other strings); a few may be containers that the overlay names but never actually opens. Listed for completeness.

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 164 functions
# Address Size Calls Strings Role hint
1 0x021616ec 156 8 0 code
2 0x02161884 32 0 0 trampoline / small helper
3 0x021618a4 30 0 0 trampoline / small helper
4 0x021618c4 12 1 0 trampoline / small helper
5 0x021618d0 18 2 0 trampoline / small helper
6 0x021618e4 40 2 0 code
7 0x02161910 8 0 0 trampoline / small helper
8 0x02161918 34 1 0 trampoline / small helper
9 0x02161980 6 0 0 trampoline / small helper
10 0x02161988 48 2 0 code
11 0x021619b8 158 4 0 code
12 0x02161a74 58 1 2 refs: plane \| map/attribute/attrplane.ofs
13 0x02161ab8 170 8 0 code
14 0x02161b68 6 0 0 trampoline / small helper
15 0x02161b70 32 0 0 trampoline / small helper
16 0x02161b90 26 1 0 trampoline / small helper
17 0x02161c70 68 2 0 code
18 0x02161cb8 72 3 0 code
19 0x02161d04 206 10 0 code
20 0x02161f28 52 0 0 code
21 0x02161f5c 276 10 0 code
22 0x02162074 108 3 0 code
23 0x021620e0 286 7 0 code
24 0x02162200 228 16 0 code
25 0x02162334 346 23 0 high-fan-out (likely dispatcher / setup)
26 0x021624d4 8 0 0 trampoline / small helper
27 0x021624e0 48 2 0 code
28 0x02162514 190 18 0 code
29 0x021629a0 38 0 0 trampoline / small helper
30 0x02162dc0 6 0 0 trampoline / small helper
31 0x02162dc8 6 0 0 trampoline / small helper
32 0x02162dd0 14 0 0 trampoline / small helper
33 0x02162de0 8 0 0 trampoline / small helper
34 0x02162de8 356 12 0 code
35 0x02162f84 32 1 0 trampoline / small helper
36 0x02162fac 12 0 0 trampoline / small helper
37 0x02162fbc 30 1 0 trampoline / small helper
38 0x0216418e 4 0 0 trampoline / small helper
39 0x021641a4 6 0 0 trampoline / small helper
40 0x021641b0 16 0 0 trampoline / small helper
41 0x021641fc 944 48 0 high-fan-out (likely dispatcher / setup)
42 0x02164a7c 74 1 0 code
43 0x02164acc 576 6 0 code
44 0x02164d18 158 7 0 code
45 0x02164dc4 208 12 0 code
46 0x02165108 164 5 0 code
47 0x02165bb0 4 0 0 trampoline / small helper
48 0x02165bb8 154 7 0 code
49 0x02165c60 180 8 0 code
50 0x02165d5c 102 5 0 code
51 0x02165dcc 202 10 0 code
52 0x02165eb4 6 0 0 trampoline / small helper
53 0x02165ec0 780 32 0 high-fan-out (likely dispatcher / setup)
54 0x021661e0 108 4 0 code
55 0x02166254 36 1 0 trampoline / small helper
56 0x02166278 392 12 0 code
57 0x02166414 66 0 0 code
58 0x02166470 54 1 0 code
59 0x021664e0 224 10 0 code
60 0x021665d0 12 1 0 trampoline / small helper
61 0x021669c4 114 5 0 code
62 0x02166a3c 436 10 0 code
63 0x02166c10 360 8 0 code
64 0x02166e44 272 7 0 code
65 0x02166f5c 406 8 0 code
66 0x02167110 252 9 0 code
67 0x0216724c 30 0 0 trampoline / small helper
68 0x02167270 306 14 0 code
69 0x021673d0 72 4 0 code
70 0x0216760c 66 6 0 code
71 0x0216776c 186 9 0 code
72 0x0216782c 10 0 0 trampoline / small helper
73 0x02167838 32 3 0 trampoline / small helper
74 0x02167858 26 2 0 trampoline / small helper
75 0x02167874 32 3 0 trampoline / small helper
76 0x02167894 12 0 0 trampoline / small helper
77 0x021678a4 12 1 0 trampoline / small helper
78 0x021678b0 36 3 0 trampoline / small helper
79 0x021678d4 158 7 0 code
80 0x02167ab4 38 2 0 trampoline / small helper
81 0x02167bbc 102 5 0 code
82 0x02167c28 46 1 0 code
83 0x02167c58 106 5 0 code
84 0x02167cd0 38 2 0 trampoline / small helper
85 0x02167cf8 668 24 0 high-fan-out (likely dispatcher / setup)
86 0x02167fa4 6 0 0 trampoline / small helper
87 0x02167fb0 166 6 0 code
88 0x0216805c 56 3 0 code
89 0x02168098 496 20 0 code
90 0x021682a0 96 3 0 code
91 0x02168420 18 0 0 trampoline / small helper
92 0x0216843c 84 3 0 code
93 0x02168504 6 0 0 trampoline / small helper
94 0x02168510 60 0 0 code
95 0x02168558 42 2 0 code
96 0x0216858c 156 6 0 code
97 0x0216863c 22 0 0 trampoline / small helper
98 0x02168654 22 0 0 trampoline / small helper
99 0x0216866c 74 4 0 code
100 0x021686ec 58 1 0 code
101 0x0216872c 1,480 75 8 refs: /model/item/ \| shop.ofs \| room.ofs \| %sT%s \| /model/item/ \| shop.ofs
102 0x02168d64 64 0 0 code
103 0x02168da4 68 3 0 code
104 0x02168ef4 14 0 0 trampoline / small helper
105 0x02168f08 28 2 0 trampoline / small helper
106 0x02168f24 470 28 0 high-fan-out (likely dispatcher / setup)
107 0x02169110 12 1 0 trampoline / small helper
108 0x02169178 166 6 0 code
109 0x02169254 84 2 0 code
110 0x021692b0 94 8 0 code
111 0x0216931c 186 7 0 code
112 0x02169444 436 10 0 code
113 0x0216960c 244 10 0 code
114 0x02169724 114 5 0 code
115 0x0216979c 150 1 0 code
116 0x02169850 56 0 0 code
117 0x0216988c 402 16 0 code
118 0x02169a3c 154 5 0 code
119 0x02169ae4 200 12 0 code
120 0x02169bb8 54 2 0 code
121 0x02169bf4 122 2 0 code
122 0x02169f88 20 0 0 trampoline / small helper
123 0x02169fa0 192 8 0 code
124 0x0216a074 24 0 0 trampoline / small helper
125 0x0216a1a8 606 22 0 high-fan-out (likely dispatcher / setup)
126 0x0216a564 76 2 0 code
127 0x0216a5b4 26 2 0 trampoline / small helper
128 0x0216a664 674 14 0 code
129 0x0216a950 258 9 2 refs: model/item/tv_tex.ofs \| display
130 0x0216aaa0 12 1 0 trampoline / small helper
131 0x0216aab0 12 1 0 trampoline / small helper
132 0x0216aabc 8 0 0 trampoline / small helper
133 0x0216ab40 12 1 0 trampoline / small helper
134 0x0216ab4c 18 2 0 trampoline / small helper
135 0x0216ab60 96 3 0 code
136 0x0216abcc 148 9 0 code
137 0x0216ac6c 256 13 0 code
138 0x0216ad6c 4 0 0 trampoline / small helper
139 0x0216ad74 4 0 0 trampoline / small helper
140 0x0216ad7c 4 0 0 trampoline / small helper
141 0x0216ad84 402 22 0 high-fan-out (likely dispatcher / setup)
142 0x0216af1c 16 2 0 trampoline / small helper
143 0x0216af2c 110 3 0 code
144 0x0216afa0 18 0 0 trampoline / small helper
145 0x0216b28c 454 3 0 code
146 0x0216b460 20 0 0 trampoline / small helper
147 0x0216b478 366 8 0 code
148 0x0216b600 76 0 0 code
149 0x0216b658 30 1 0 trampoline / small helper
150 0x0216b678 36 2 0 trampoline / small helper
151 0x0216b69c 16 2 0 trampoline / small helper
152 0x0216b6ac 8 0 0 trampoline / small helper
153 0x0216b6b8 910 44 0 high-fan-out (likely dispatcher / setup)
154 0x0216c058 316 17 2 refs: npc/NpcRoom.ofs \| NpcRoom
155 0x0216c1cc 12 1 0 trampoline / small helper
156 0x0216c1d8 52 2 0 code
157 0x0216c210 32 3 0 trampoline / small helper
158 0x0216c234 38 4 0 trampoline / small helper
159 0x0216c260 20 0 0 trampoline / small helper
160 0x0216c274 56 2 0 code
161 0x0216c2ac 50 3 0 code
162 0x0216c2e0 10 0 0 trampoline / small helper
163 0x0216c2ec 134 10 0 code
164 0x0216c374 184 10 0 code

Open questions & conflicts

Open questions / unknowns

Conflicts with the prior shallow pass

Source