ov139 β€” overlay detail

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

containers: Connection, HTTP_X_GAMECD, HotSpotResponse (+43 more)

ov139 unknown

containers: Connection, HTTP_X_GAMECD, HotSpotResponse (+43 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 139
File ID 139
RAM load address 0x021a5ee0
RAM size 35,616 bytes (0x8b20)
BSS size 12,704 bytes
On-disk compressed size 28,044 bytes
Compression flag 0x1 (BLZ-compressed)
Functions 128
External calls 112
Jump tables 4
Data items 490
Code coverage 31% (10,914 of 35,616 bytes)

Reading the binary

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

0x021a633c `适ぐ适摑頂`
0x021add9a `ζͺΉι₯Œε€Ÿγ‚˜`

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 128 functions
# Address Size Calls Strings Role hint
1 0x021a66bc 244 13 9 refs: acctcreate \| action \| acctcreate \| login \| action \| login
2 0x021a67d8 32 2 0 trampoline / small helper
3 0x021a69c4 16 1 0 trampoline / small helper
4 0x021a69d4 26 2 0 trampoline / small helper
5 0x021a69f0 416 28 4 refs: %013llu \| %02x%02x \| %02d%02d%02d%02d%02d%02d \| %02d:0000000-00
6 0x021a6bb0 538 32 16 refs: %03d%03d \| sdkver \| userid \| passwd \| bssid \| apinfo
7 0x021a6f48 102 5 0 code
8 0x021a6ff8 72 6 0 code
9 0x021a704c 60 2 0 code
10 0x021a7098 8 0 0 trampoline / small helper
11 0x021a70a8 156 10 2 refs: Content-Length: \| Content-Length:
12 0x021a7154 524 35 0 high-fan-out (likely dispatcher / setup)
14 0x021a7524 164 6 0 code
15 0x021a7648 46 0 0 code
16 0x021a767c 32 1 0 trampoline / small helper
17 0x021a76a0 90 1 0 code
18 0x021a7b0c 70 0 0 code
19 0x021a8a04 36 2 0 trampoline / small helper
20 0x021a8c00 8 0 0 trampoline / small helper
21 0x021a8c0c 100 4 0 code
22 0x021a8c7c 32 1 0 trampoline / small helper
23 0x021a8d68 4 0 0 trampoline / small helper
24 0x021a8d70 4 0 0 trampoline / small helper
25 0x021a8d78 4 0 0 trampoline / small helper
26 0x021a8d80 20 2 0 trampoline / small helper
27 0x021a8d94 16 0 0 trampoline / small helper
28 0x021a8da8 10 1 0 trampoline / small helper
29 0x021a8db8 10 1 0 trampoline / small helper
30 0x021a8dc8 14 1 0 trampoline / small helper
31 0x021a8ddc 12 0 0 trampoline / small helper
32 0x021a8dfc 16 2 0 trampoline / small helper
33 0x021a8e0c 16 2 0 trampoline / small helper
34 0x021a8e1c 54 2 0 code
35 0x021a8e54 42 2 0 code
36 0x021a8ec4 52 2 0 code
37 0x021a8ef8 28 2 0 trampoline / small helper
38 0x021a8f14 22 1 0 trampoline / small helper
39 0x021a8f38 160 1 0 code
40 0x021a8fd8 106 4 6 refs: non-blocking \| blocking \| SetSockBlocking: Set socket %d t \| non-blocking \| blocking \| SetSockBlocking failed: tried to
41 0x021a9074 30 1 0 trampoline / small helper
42 0x021a914c 4 0 0 trampoline / small helper
43 0x021a9154 4 0 0 trampoline / small helper
44 0x021a915c 4 0 0 trampoline / small helper
45 0x021a9164 38 3 0 trampoline / small helper
46 0x021a91c0 24 2 0 trampoline / small helper
47 0x021a9264 68 0 0 code
48 0x021a92a8 82 0 0 code
49 0x021a92fc 332 3 1 refs: +/=-_=[]_SunMonTueWedThuFriSat
50 0x021a9538 4 0 0 trampoline / small helper
51 0x021a95e8 244 15 3 refs: [Udp Engine] Connection closed t \| [Udp Engine] Connection closed: \| [Udp Engine] Connection closed:
54 0x021a9a9c 228 12 3 refs: [Udp Engine] Connection attempt \| [Udp Engine] Connection attempt \| [Udp Engine] Connection attempt
56 0x021aa270 42 2 0 code
57 0x021aa2a4 68 1 0 code
58 0x021aa338 32 2 0 trampoline / small helper
59 0x021aa35c 20 1 0 trampoline / small helper
60 0x021aa370 26 1 0 trampoline / small helper
61 0x021aa38c 22 2 0 trampoline / small helper
62 0x021aa3a4 68 3 0 code
63 0x021aa3e8 46 3 0 code
64 0x021aa418 4 0 0 trampoline / small helper
65 0x021aa41c 24 0 0 trampoline / small helper
66 0x021aa434 14 1 0 trampoline / small helper
67 0x021aa444 76 5 0 code
68 0x021aa490 50 3 0 code
69 0x021aa4c4 50 3 0 code
70 0x021aa4f8 20 2 0 trampoline / small helper
71 0x021aa50c 26 2 0 trampoline / small helper
72 0x021aa528 18 1 0 trampoline / small helper
73 0x021aa53c 118 5 0 code
74 0x021aa5b4 32 1 0 trampoline / small helper
75 0x021aa5d4 44 1 0 code
76 0x021aa600 26 2 0 trampoline / small helper
77 0x021aa61c 58 0 0 code
78 0x021aa658 80 0 0 code
79 0x021aa6a8 24 1 0 trampoline / small helper
80 0x021aa6c0 76 3 0 code
81 0x021aa70c 46 3 0 code
82 0x021aa73c 44 1 0 code
83 0x021aa76c 68 3 0 code
84 0x021aa7b0 66 2 0 code
85 0x021aa7f4 64 2 0 code
86 0x021aa834 40 1 0 code
87 0x021aa85c 46 1 0 code
88 0x021aa8b4 118 4 0 code
89 0x021aa92c 80 5 0 code
90 0x021aa980 1,862 2 0 code
91 0x021ab1c8 48 0 0 code
92 0x021ab1f8 56 0 0 code
93 0x021ab230 4 0 0 trampoline / small helper
94 0x021ab238 4 0 0 trampoline / small helper
95 0x021ab2ac 72 5 0 code
96 0x021ab2f8 28 2 0 trampoline / small helper
97 0x021ab314 96 9 0 code
98 0x021ab374 88 9 0 code
99 0x021ab3cc 86 9 0 code
100 0x021ab424 90 10 0 code
101 0x021ab480 80 10 0 code
102 0x021ab4d0 142 14 0 code
103 0x021ab560 8 0 0 trampoline / small helper
104 0x021ab570 10 0 0 trampoline / small helper
105 0x021ab584 34 0 0 trampoline / small helper
106 0x021ab5a8 72 4 0 code
107 0x021ab5f0 22 0 0 trampoline / small helper
108 0x021ab608 26 1 0 trampoline / small helper
109 0x021ab628 60 4 0 code
110 0x021ab74c 44 0 1 refs: ameSpy3D
111 0x021ab77c 120 4 0 code
112 0x021ab878 84 3 0 code
113 0x021abb90 136 3 0 code
114 0x021abc24 108 4 0 code
115 0x021abca0 28 1 0 trampoline / small helper
116 0x021abcc0 28 1 0 trampoline / small helper
117 0x021abce0 62 1 0 code
118 0x021abd24 66 1 0 code
119 0x021abd6c 52 1 0 code
120 0x021abda4 50 3 1 refs: %s_t%d
121 0x021abddc 58 3 1 refs: %s_t%d
122 0x021abe1c 50 3 1 refs: %s_t%d
123 0x021abe54 50 3 1 refs: %s_%d
124 0x021abe8c 58 3 1 refs: %s_%d
125 0x021abecc 50 3 1 refs: %s_%d
126 0x021ac05c 32 1 0 trampoline / small helper
127 0x021ac084 30 3 0 trampoline / small helper
128 0x021ac198 18 0 0 trampoline / small helper
129 0x021ac694 658 33 0 high-fan-out (likely dispatcher / setup)
130 0x021ac970 6 0 0 trampoline / small helper
131 0x021ac97c 18 0 0 trampoline / small helper
132 0x021acb38 160 12 0 code

Open questions & conflicts

Open questions / unknowns

Conflicts with the prior shallow pass

Source