ov141 — overlay detail

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

containers: pG/ucc/uccflydat.lzs, /model/item/Tshop.ofs, /model/item/shop.ofs (+19 more)

ov141 ucc

containers: pG/ucc/uccflydat.lzs, /model/item/Tshop.ofs, /model/item/shop.ofs (+19 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 141
File ID 141
RAM load address 0x021a5ee0
RAM size 46,304 bytes (0xb4e0)
BSS size 448 bytes
On-disk compressed size 36,308 bytes
Compression flag 0x1 (BLZ-compressed)
Functions 121
External calls 111
Jump tables 4
Data items 385
Code coverage 37% (17,042 of 46,304 bytes)

Reading the binary

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

Embedded strings

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

0x021a604e `ギ瀄蕬括掬揬搬`
0x021a6d94 `庣循栀幡イ`
0x021a6e94 `庣循栀幡イ`
0x021a743d `瀠憽検ざ戜`
0x021a745b `慣検ざ戜零懫栝`
0x021a751e `需頉鐁鐂イ`
0x021a7554 `需須鐁鐂イ`
0x021a758a `頇需鐁イ`
0x021a75c6 `頋餄需鐁イ`
0x021a760c `頊餆需鐁イ`
0x021a7aec `丫嗩イ吩`
0x021a813c `恠炥桠梡よ态`
0x021a89ad `恞ち吜糶`
0x021aa315 `き慈彗鷶`
0x021aaac2 `遽で遽頊`
0x021ab454 `゠団奢栀`
0x021ab5f6 `丸锁阂゠栁`
0x021ab790 `イ栀污骢`
0x021ab805 `褙紘ヶ淺`
0x021abbdb `悂悉も鸜`
0x021aca75 `恨脞呂パ`
0x021ad8b3 `懑し尜櫶`
0x021ad8bd `怈慐し尜胶`
0x021addcf `鬜狶槿と鬜`
0x021adfc4 `グ怄案よ瀅`
0x021af8c4 `ゐ栆汩頁騄`
0x021af958 `ゔ栆涩頀騅`
0x021afb26 `适ゼ适桀`
0x021afc0c `适ゼ适桀`
0x021aff08 `桐ゾ考桐ゼ考`
0x021b045f `尨槑愜ざ夜`
0x021b046d `唨懑し夜賶`
0x021b047b `怹楐愜ざ夜蓶`
0x021b0b33 `懾し縜蓶`
0x021b112f `甂捣瑟湥ば`
0x021b12f7 `甂捣瑟湥ば`

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 121 functions
# Address Size Calls Strings Role hint
1 0x021a5ee0 8 0 0 trampoline / small helper
2 0x021a5eec 94 1 0 code
3 0x021a5f50 28 1 0 trampoline / small helper
4 0x021a5f70 8 0 0 trampoline / small helper
5 0x021a5f7c 22 0 0 trampoline / small helper
6 0x021a5f9c 36 0 0 trampoline / small helper
7 0x021a6454 88 3 0 code
8 0x021a64b0 38 4 0 trampoline / small helper
9 0x021a64f4 22 0 0 trampoline / small helper
10 0x021a6518 40 1 0 code
11 0x021a6544 308 19 0 code
12 0x021a667c 6 0 0 trampoline / small helper
13 0x021a6688 250 18 0 code
14 0x021a6784 6 0 0 trampoline / small helper
15 0x021a678c 22 0 0 trampoline / small helper
16 0x021a67b8 270 23 0 high-fan-out (likely dispatcher / setup)
17 0x021a68cc 16 0 0 trampoline / small helper
18 0x021a68dc 96 6 0 code
19 0x021a693c 148 6 2 refs: /ucc/ucctimer.lzs \| /ucc/uccact_timer.lzs
20 0x021a6a54 214 4 0 code
21 0x021a6b2c 6 0 0 trampoline / small helper
22 0x021a6b34 118 3 0 code
23 0x021a6bac 40 1 0 code
24 0x021a6bd4 118 6 0 code
25 0x021a6c4c 148 12 0 code
26 0x021a6ce0 16 0 0 trampoline / small helper
27 0x021a6cf4 12 1 0 trampoline / small helper
28 0x021a6d04 12 0 0 trampoline / small helper
29 0x021a6d14 12 1 0 trampoline / small helper
30 0x021a6e14 12 0 0 trampoline / small helper
31 0x021a6e20 244 8 0 code
32 0x021a6f14 126 2 0 code
33 0x021a6fb8 70 2 1 refs: /ucc/ucc_fly_tex.lzs
34 0x021a7144 98 3 0 code
35 0x021a71c0 38 2 0 trampoline / small helper
36 0x021a71f0 44 3 0 code
37 0x021a72b0 14 0 0 trampoline / small helper
38 0x021a73b4 28 1 0 trampoline / small helper
39 0x021a73d0 70 2 2 refs: /ucc/uccact_gra.ofs \| /ucc/uccact_txt.ofs
40 0x021a7428 70 4 0 code
41 0x021a7478 118 4 0 code
42 0x021a74f4 346 11 0 code
43 0x021a7660 130 2 0 code
44 0x021a783c 28 2 0 trampoline / small helper
45 0x021a7858 808 46 0 high-fan-out (likely dispatcher / setup)
46 0x021a7ba8 42 1 0 code
47 0x021a7bd4 22 0 0 trampoline / small helper
48 0x021a7bec 26 1 0 trampoline / small helper
49 0x021a7c08 294 20 0 code
50 0x021a7d40 98 11 0 code
51 0x021a894c 12 1 0 trampoline / small helper
52 0x021a8958 36 2 0 trampoline / small helper
53 0x021a897c 108 6 0 code
54 0x021a89e8 4 0 0 trampoline / small helper
55 0x021a89f0 34 2 0 trampoline / small helper
56 0x021a8a18 504 14 0 code
57 0x021a8c10 4 0 0 trampoline / small helper
58 0x021a8c28 94 2 0 code
59 0x021a8cb8 224 16 0 code
60 0x021a8d98 380 10 16 refs: /ucc/dishup/uccmdl.ofs \| /ucc/dishup/Tuccmdl.ofs \| /ucc/dishup/uccmdl.ofs \| /ucc/dishup/Tuccmdl.ofs \| /ucc/dishup/uccmdl2.ofs \| /ucc/dishup/Tuccmdl.ofs
61 0x021a8f64 518 14 0 code
62 0x021a916c 18 2 0 trampoline / small helper
63 0x021a9180 12 1 0 trampoline / small helper
64 0x021a918c 34 1 0 trampoline / small helper
65 0x021ab9f8 8 0 0 trampoline / small helper
66 0x021ad238 202 4 0 code
67 0x021ad304 318 10 0 code
68 0x021ad444 112 5 0 code
69 0x021adcf8 10 0 0 trampoline / small helper
70 0x021add04 12 1 0 trampoline / small helper
71 0x021add10 64 2 2 refs: /ucc/flydat.lzs \| /ucc/ucc_fly_tex.lzs
72 0x021add60 94 7 0 code
73 0x021addc4 62 4 0 code
74 0x021ade04 18 1 1 refs: ucc_tenp0
75 0x021ade1c 56 2 0 code
76 0x021ade58 152 1 0 code
77 0x021adef8 12 1 0 trampoline / small helper
78 0x021adf14 112 3 0 code
79 0x021ae01c 34 0 4 refs: /ucc/dishup/uccmdl.ofs \| /ucc/dishup/Tuccmdl.ofs \| /ucc/dishup/uccmdl2.ofs \| /ucc/dishup/Tuccmdl2.ofs
80 0x021ae054 3,894 162 4 refs: /ucc/dishup/dishup.lzs \| /ucc/dishup/dishup_mdl.ofs \| /model/item/Tshop.ofs \| /ucc/dishup/dishup_mdl.ofs
81 0x021ae43e 28 1 0 trampoline / small helper
82 0x021af2a0 6 0 0 trampoline / small helper
83 0x021af2ac 6 0 0 trampoline / small helper
84 0x021af2b8 100 4 0 code
85 0x021af320 16 0 0 trampoline / small helper
86 0x021af330 16 0 0 trampoline / small helper
87 0x021af340 334 15 0 code
88 0x021af49c 174 3 0 code
89 0x021af5e0 26 1 0 trampoline / small helper
90 0x021af600 20 1 0 trampoline / small helper
91 0x021af618 22 1 0 trampoline / small helper
92 0x021af634 20 1 0 trampoline / small helper
93 0x021af7e8 578 14 0 code
94 0x021afa4c 78 6 0 code
95 0x021afaa0 44 0 0 code
96 0x021afacc 232 8 0 code
97 0x021afbb8 226 8 0 code
98 0x021afca0 70 4 0 code
99 0x021afe28 194 3 0 code
100 0x021affd4 216 3 0 code
101 0x021b0114 74 6 0 code
102 0x021b0210 56 4 0 code
103 0x021b0250 142 2 0 code
104 0x021b02e8 102 3 0 code
105 0x021b03b0 54 1 0 code
106 0x021b03f0 296 10 2 refs: /ucc/act/wrap_mdl_prm.lzs \| /ucc/act/wrap_mdl_sub.ofs
107 0x021b053c 452 14 1 refs: /ucc/act/wrap_mdl.ofs
108 0x021b0728 208 6 1 refs: /ucc/act/wrap_mdl_sub.ofs
109 0x021b0808 50 2 0 code
110 0x021b0848 182 5 0 code
111 0x021b090c 362 2 0 code
112 0x021b0a88 50 4 0 code
113 0x021b0abc 266 11 1 refs: /ucc/act/wrap_mdl.ofs
114 0x021b0d10 60 0 0 code
115 0x021b0d50 14 0 0 trampoline / small helper
116 0x021b0d60 2 0 0 trampoline / small helper
117 0x021b0d64 84 7 0 code
118 0x021b0db8 20 0 0 trampoline / small helper
119 0x021b0dcc 20 0 0 trampoline / small helper
120 0x021b0de0 36 0 0 trampoline / small helper
121 0x021b0e04 36 0 0 trampoline / small helper

Open questions & conflicts

Open questions / unknowns

Conflicts with the prior shallow pass

Source