ov126 — overlay detail

DS game only とんがりボウシとおしゃれなまほうつかい The field guide documents the DS game's internals.

containers: 2d/pcshp_base.lzs, house_door, kanban00 (+15 more)

ov126 shop

containers: 2d/pcshp_base.lzs, house_door, kanban00 (+15 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 126
File ID 126
RAM load address 0x02161680
RAM size 41,280 bytes (0xa140)
BSS size 224 bytes
On-disk compressed size 34,456 bytes
Compression flag 0x1 (BLZ-compressed)
Functions 159
External calls 238
Jump tables 10
Data items 667
Code coverage 67% (27,712 of 41,280 bytes)

Reading the binary

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

Embedded strings

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

0x021630b9 `褀モ贐緢`
0x021630e1 `褀モ贐珢`
0x02163385 `茀ヨ齁ュ鼁`
0x02163461 `贀惥鼀ュ贐`
0x02167e53 `鈢鄃あ菚`
0x02169f22 `け探瀂揢敢昢`
0x0216a4ce `ぐ瀂掩鄂`
0x0216b5f3 `桳灯琯硥瀯彣慫扮湡獟漮獦欀湡慢の`
0x0216b623 `欀湡慢彮で`
0x0216b62f `欀湡慢の弰`
0x0216b63b `欀湡慢彮で`
0x0216b647 `欀湡慢彮で`
0x0216b76b `欀湡慢彮で`

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 159 functions
# Address Size Calls Strings Role hint
1 0x02161730 254 12 0 code
2 0x0216183c 172 7 0 code
3 0x021618e8 230 7 0 code
4 0x021619d0 38 3 0 trampoline / small helper
5 0x021619fc 32 0 0 trampoline / small helper
6 0x02161a1c 30 0 0 trampoline / small helper
7 0x02161a3c 12 1 0 trampoline / small helper
8 0x02161a48 18 2 0 trampoline / small helper
9 0x02161a5c 40 2 0 code
10 0x02161a88 8 0 0 trampoline / small helper
11 0x02161a90 42 2 0 code
12 0x02161ac4 14 1 0 trampoline / small helper
13 0x02161ad4 6 0 0 trampoline / small helper
14 0x02161ae0 154 5 0 code
15 0x02161b7c 102 1 0 code
16 0x02161c48 62 4 0 code
17 0x02161c88 130 3 0 code
18 0x02161d0c 162 6 0 code
19 0x02161db0 104 2 0 code
20 0x02161e18 50 1 0 code
21 0x02161e4c 206 11 1 refs: map/attribute/attrground.lzs
22 0x02161f2c 26 1 0 trampoline / small helper
23 0x02161f48 32 0 0 trampoline / small helper
24 0x02161f68 30 0 0 trampoline / small helper
25 0x02161f90 70 1 0 code
26 0x02161fdc 12 1 0 trampoline / small helper
27 0x02161fe8 18 2 0 trampoline / small helper
28 0x02161ffc 464 11 0 code
29 0x021621d0 4 0 0 trampoline / small helper
30 0x021621d8 6 0 0 trampoline / small helper
31 0x021621e0 132 6 0 code
32 0x02162268 58 3 0 code
33 0x021622a4 38 1 0 trampoline / small helper
34 0x021622d0 12 1 0 trampoline / small helper
35 0x021622dc 18 2 0 trampoline / small helper
36 0x021622f0 464 17 0 code
37 0x021625c4 18 2 0 trampoline / small helper
38 0x021625d8 702 24 0 high-fan-out (likely dispatcher / setup)
39 0x02162898 126 6 0 code
40 0x02162920 58 2 0 code
41 0x02162a98 214 9 0 code
42 0x02162b84 680 10 0 code
43 0x02162e3c 52 0 0 code
44 0x02162e70 184 0 0 code
45 0x02162f30 504 6 0 code
46 0x02163128 328 4 0 code
47 0x02163280 576 8 0 code
48 0x021634d0 148 2 0 code
49 0x0216356c 148 2 0 code
50 0x02163608 476 13 0 code
51 0x02163a7c 48 2 0 code
52 0x02163ab0 190 18 0 code
53 0x02163b94 12 1 0 trampoline / small helper
54 0x02163ba0 12 1 0 trampoline / small helper
55 0x02163bac 16 1 0 trampoline / small helper
56 0x02163bc0 12 1 0 trampoline / small helper
57 0x02163bcc 412 11 0 code
58 0x02163d9c 38 0 0 trampoline / small helper
59 0x02163dcc 744 21 0 high-fan-out (likely dispatcher / setup)
60 0x021640e0 6 0 0 trampoline / small helper
61 0x021640e8 440 14 0 code
62 0x021642d4 128 9 0 code
63 0x02164368 6 0 0 trampoline / small helper
64 0x0216449c 46 0 0 code
65 0x021645bc 1,422 45 0 high-fan-out (likely dispatcher / setup)
66 0x02164b7c 6 0 0 trampoline / small helper
67 0x02164b88 8 0 0 trampoline / small helper
68 0x02164b90 8 0 0 trampoline / small helper
69 0x02164b98 128 4 0 code
70 0x02164c20 88 1 0 code
71 0x02164e30 280 8 0 code
72 0x02164f54 36 1 0 trampoline / small helper
73 0x02164f78 310 13 0 code
74 0x021650b0 80 2 0 code
75 0x02165100 20 0 0 trampoline / small helper
76 0x02165118 290 14 1 refs: model/map/light.lzs
77 0x02165254 158 7 1 refs: md_%02d_%01d_pl
78 0x02165304 70 4 0 code
79 0x02165674 1,406 26 0 high-fan-out (likely dispatcher / setup)
80 0x02165c90 32 1 0 trampoline / small helper
81 0x02165cb8 12 0 0 trampoline / small helper
82 0x0216687c 540 28 0 high-fan-out (likely dispatcher / setup)
83 0x02166b84 92 4 0 code
84 0x02166bec 102 3 0 code
85 0x02166c58 114 3 0 code
86 0x02166cd0 132 0 0 code
87 0x02166d58 46 3 0 code
88 0x02166d8c 864 14 0 code
89 0x02167108 822 10 0 code
90 0x0216744c 394 10 0 code
91 0x021675f8 6 0 0 trampoline / small helper
92 0x02167600 6 0 0 trampoline / small helper
93 0x02167608 766 16 0 code
94 0x02167928 6 0 0 trampoline / small helper
95 0x02167930 1,078 25 0 high-fan-out (likely dispatcher / setup)
96 0x02167e20 158 3 0 code
97 0x02167ec8 24 1 0 trampoline / small helper
98 0x02167ee4 398 27 0 high-fan-out (likely dispatcher / setup)
99 0x021680a0 72 3 0 code
100 0x02168100 364 10 0 code
101 0x02168304 24 1 0 trampoline / small helper
102 0x0216831c 98 4 0 code
103 0x0216855c 32 2 0 trampoline / small helper
104 0x021685dc 216 1 0 code
105 0x021686c0 90 2 0 code
106 0x02168720 44 0 0 code
107 0x02168780 302 10 0 code
108 0x021688c4 44 2 0 code
109 0x021688f0 48 0 0 code
110 0x02168988 268 2 0 code
111 0x02168a9c 8 0 0 trampoline / small helper
112 0x02168aa4 162 4 0 code
113 0x02168ba4 350 4 0 code
114 0x02168dd0 218 12 0 code
115 0x02168eb0 42 1 0 code
116 0x02168ee0 442 19 0 code
117 0x0216911c 18 1 0 trampoline / small helper
118 0x02169134 158 6 0 code
119 0x02169258 20 1 0 trampoline / small helper
120 0x021692a8 1,092 54 0 high-fan-out (likely dispatcher / setup)
121 0x02169758 4 0 0 trampoline / small helper
122 0x0216975c 8 0 0 trampoline / small helper
123 0x0216976c 8 0 0 trampoline / small helper
124 0x02169780 20 1 0 trampoline / small helper
125 0x02169798 70 1 0 code
126 0x02169bb0 318 17 0 code
127 0x02169cf8 16 0 0 trampoline / small helper
128 0x02169d0c 12 1 0 trampoline / small helper
129 0x02169d1c 12 0 0 trampoline / small helper
130 0x02169d2c 12 1 0 trampoline / small helper
131 0x02169dc8 100 8 0 code
132 0x02169e50 106 9 0 code
133 0x02169ee4 12 1 0 trampoline / small helper
134 0x02169ef4 12 1 0 trampoline / small helper
135 0x02169f00 84 1 0 code
136 0x02169f54 12 1 0 trampoline / small helper
137 0x02169f60 22 0 0 trampoline / small helper
138 0x02169f78 1,284 48 14 refs: model/shop/model/pc_shop_f.ofs \| model/shop/model/pc_shop_s.ofs \| model/shop/tex/tex%d/pc_shop_tex \| model/shop/tex/pc_kanban_m.ofs \| model/shop/tex/pc_kanban_s.ofs \| model/shop/tex/pc_kanban_g.ofs
139 0x0216a510 38 0 0 trampoline / small helper
140 0x0216a538 242 5 0 code
141 0x0216a634 78 3 1 refs: star_01
142 0x0216a688 2 0 0 trampoline / small helper
143 0x0216a7c4 42 1 0 code
144 0x0216a834 20 1 0 trampoline / small helper
145 0x0216a878 164 2 0 code
146 0x0216a934 12 1 0 trampoline / small helper
147 0x0216a940 116 2 0 code
148 0x0216a9cc 36 2 0 trampoline / small helper
149 0x0216a9f8 40 0 0 code
150 0x0216aa24 648 20 2 refs: model/shop/model/npc_kan_mdl.ofs \| model/shop/tex/pc_kanban_m.ofs
151 0x0216ad30 46 1 0 code
152 0x0216aea0 76 0 0 code
153 0x0216aef0 94 0 0 code
154 0x0216af54 2 0 0 trampoline / small helper
155 0x0216af58 62 0 0 code
156 0x0216af9c 132 3 0 code
157 0x0216b030 24 1 0 trampoline / small helper
158 0x0216b048 28 2 0 trampoline / small helper
159 0x0216b064 110 2 0 code

Open questions & conflicts

Open questions / unknowns

Conflicts with the prior shallow pass

Source