The current URL is datacrystal.tcrf.net.
Donkey Kong Land III/ROM map: Difference between revisions
Blaziken257 (talk | contribs) (→Text) |
m (Xkeeper moved page Donkey Kong Land III:ROM map to Donkey Kong Land III/ROM map: normalize subpages and titles) |
||
(21 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{rommap|game=Donkey Kong Land III}} | {{rommap|game=Donkey Kong Land III}} | ||
== | == Color Palettes == | ||
=== English Version === | |||
=== | |||
Notes: <ol> | Notes: <ol> | ||
Line 83: | Line 82: | ||
* <tt>106AF-106BE</tt> - K. Rool's Last Stand | * <tt>106AF-106BE</tt> - K. Rool's Last Stand | ||
= | === Japanese Version === | ||
== Japanese Version | |||
==== Sprite Color Palettes ==== | ==== Sprite Color Palettes ==== | ||
Line 209: | Line 105: | ||
* <tt>851BB-851FA</tt> - Falls | * <tt>851BB-851FA</tt> - Falls | ||
* <tt>851FB-8523A</tt> - Cave | * <tt>851FB-8523A</tt> - Cave | ||
** <tt>14F60</tt>, <tt>14F64</tt> - Shaded water palette for Haunted Hollows | ** <tt>3515</tt>, <tt>3519</tt> - Shaded water palette for Haunted Hollows (used when the screen is partially submerged) | ||
** <tt>14F60</tt>, <tt>14F64</tt> - Shaded water palette for Haunted Hollows (used when the screen is fully submerged) | |||
* <tt>8523B-8527A</tt> - Jungle | * <tt>8523B-8527A</tt> - Jungle | ||
* <tt>8527B-852BA</tt> - Machine | * <tt>8527B-852BA</tt> - Machine | ||
* <tt>852BB-852FA</tt> - Tube | * <tt>852BB-852FA</tt> - Tube | ||
** <tt>14F72</tt>, <tt>14F76</tt> - Shaded water palette for Ugly Ducting | ** <tt>3523</tt>, <tt>3527</tt> - Shaded water palette for Ugly Ducting (used when the screen is partially submerged) | ||
** <tt>14F72</tt>, <tt>14F76</tt> - Shaded water palette for Ugly Ducting (used when the screen is fully submerged) | |||
==== World Map Color Palettes ==== | ==== World Map Color Palettes ==== | ||
Line 385: | Line 283: | ||
* <span style="color:#808080;"><tt>1BF28</tt> - ???</span> | * <span style="color:#808080;"><tt>1BF28</tt> - ???</span> | ||
== Level Header Data == | |||
=== Pointer Table === | |||
{| class="wikitable" border="1" | |||
! rowspan="2" | !! colspan="2" | Offset | |||
|- | |||
! width="60" | English !! Japanese | |||
|- | |||
| Levels || <tt>40011-40064</tt> || <tt>40013-40066</tt> | |||
|- | |||
| Bonus stages || <tt>4047F-4050E</tt> || <tt>40481-40510</tt> | |||
|- | |||
| Warps || <tt>4050F-4051A</tt> || <tt>40511-4051C</tt> | |||
|- | |||
|} | |||
=== Levels === | |||
See [[Donkey_Kong_Land_III:Notes#Level_Header_Data|this page]] for more information on this. | See [[Donkey_Kong_Land_III:Notes#Level_Header_Data|this page]] for more information on this. | ||
* <tt> | * English level headers: <tt>40065-4047E</tt> | ||
* | * Japanese level headers: <tt>40067-40480</tt> | ||
== | {| class="wikitable" border="1" | ||
|- | |||
! Level !! English !! Japanese | |||
|- | |||
| Total Rekoil || <tt>40065-4007D</tt> || <tt>40067-4007F</tt> | |||
|- | |||
| Liftshaft Lottery || <tt>4007E-40096</tt> || <tt>40080-40098</tt> | |||
|- | |||
| Miller Instinct || <tt>40097-400AF</tt> || <tt>40099-400B1</tt> | |||
|- | |||
| Black Ice Blitz || <tt>400B0-400C8</tt> || <tt>400B2-400CA</tt> | |||
|- | |||
| Polar Pitfalls || <tt>400C9-400E1</tt> || <tt>400CB-400E3</tt> | |||
|- | |||
| Tundra Blunda || <tt>400E2-400FA</tt> || <tt>400E4-400FC</tt> | |||
|- | |||
| Bleak Magic || <tt>400FB-40113</tt> || <tt>400FD-40115</tt> | |||
|- | |||
| Red Wharf || <tt>40114-4012C</tt> || <tt>40116-4012E</tt> | |||
|- | |||
| Ford Knocks || <tt>4012D-40145</tt> || <tt>4012F-40147</tt> | |||
|- | |||
| Jetty Jitters || <tt>40146-4015E</tt> || <tt>40148-40160</tt> | |||
|- | |||
| Koco Channel || <tt>4015F-40177</tt> || <tt>40161-40179</tt> | |||
|- | |||
| Riverbank Riot || <tt>40178-40190</tt> || <tt>4017A-40192</tt> | |||
|- | |||
| Surface Tension || <tt>40191-401A9</tt> || <tt>40193-401AB</tt> | |||
|- | |||
| Seabed Shanty || <tt>401AA-401C2</tt> || <tt>401AC-401C4</tt> | |||
|- | |||
| Coral Quarrel || <tt>401C3-401DB</tt> || <tt>401C5-401DD</tt> | |||
|- | |||
| Deep Reef Grief || <tt>401DC-401F4</tt> || <tt>401DE-401F6</tt> | |||
|- | |||
| Barbos Bastion || <tt>401F5-4020D</tt> || <tt>401F7-4020F</tt> | |||
|- | |||
| Minky Mischief || <tt>4020E-40226</tt> || <tt>40210-40228</tt> | |||
|- | |||
| Redwood Rampage || <tt>40227-4023F</tt> || <tt>40229-40241</tt> | |||
|- | |||
| Simian Shimmy || <tt>40240-40258</tt> || <tt>40242-4025A</tt> | |||
|- | |||
| Arich Attack || <tt>40259-40271</tt> || <tt>4025B-40273</tt> | |||
|- | |||
| Vertigo Verge || <tt>40272-4028A</tt> || <tt>40274-4028C</tt> | |||
|- | |||
| Rockface Chase || <tt>4028B-402A3</tt> || <tt>4028D-402A5</tt> | |||
|- | |||
| Clifftop Critters || <tt>402A4-402BC</tt> || <tt>402A6-402BE</tt> | |||
|- | |||
| Rocketeer Rally || <tt>402BD-402D5</tt> || <tt>402BF-402D7</tt> | |||
|- | |||
| Footloose Falls || <tt>402D6-402EE</tt> || <tt>402D8-402F0</tt> | |||
|- | |||
| Rickety Rapids || <tt>402EF-40307</tt> || <tt>402F1-40309</tt> | |||
|- | |||
| Stalagmite Frights || <tt>40308-40320</tt> || <tt>4030A-40322</tt> | |||
|- | |||
| Haunted Hollows || <tt>40321-40339</tt> || <tt>40323-4033B</tt> | |||
|- | |||
| Ghoulish Grotto || <tt>4033A-40352</tt> || <tt>4033C-40354</tt> | |||
|- | |||
| K. Rool's Last Stand || <tt>40353-4036B</tt> || <tt>40355-4036D</tt> | |||
|- | |||
| Jungle Jeopardy || <tt>4036C-40384</tt> || <tt>4036E-40386</tt> | |||
|- | |||
| Tropical Tightropes || <tt>40385-4039D</tt> || <tt>40387-4039F</tt> | |||
|- | |||
| Rainforest Rumble || <tt>4039E-403B6</tt> || <tt>403A0-403B8</tt> | |||
|- | |||
| Karbine Kaos || <tt>403B7-403CF</tt> || <tt>403B9-403D1</tt> | |||
|- | |||
| Bazuka Bombard || <tt>403D0-403E8</tt> || <tt>403D2-403EA</tt> | |||
|- | |||
| Kuchuka Karnage || <tt>403E9-40401</tt> || <tt>403EB-40403</tt> | |||
|- | |||
| Barrel Boulevard || <tt>40402-4041A</tt> || <tt>40404-4041C</tt> | |||
|- | |||
| Krazy Kaos || <tt>4041B-40433</tt> || <tt>4041D-40435</tt> | |||
|- | |||
| Ugly Ducting || <tt>40434-4044C</tt> || <tt>40436-4044E</tt> | |||
|- | |||
| Whiplash Dash || <tt>4044D-40465</tt> || <tt>4044F-40467</tt> | |||
|- | |||
| K. Rool Duel || <tt>40466-4047E</tt> || <tt>40468-40480</tt> | |||
|} | |||
=== | === Bonus Stages === | ||
This uses a different format from the regular levels. (TODO: Figure this out...) | |||
* English bonus level/warp headers: <tt>4051B-40962</tt> | |||
* Japanese bonus level/warp headers: <tt>4051D-40964</tt> | |||
* <tt> | |||
* <tt> | |||
==== ASM Code ==== | {| class="wikitable" border="1" | ||
! colspan="2" rowspan="2" | Level !! colspan="2" | Offset | |||
|- | |||
! width="60" | English !! Japanese | |||
|- | |||
| rowspan="2" | Red Wharf || Bonus #1 || <tt>4058B-40598</tt> || <tt>4058D-4059A</tt> | |||
|- | |||
| Bonus #2 || <tt>40599-405A6</tt> || <tt>4059B-405A8</tt> | |||
|- | |||
| rowspan="2" | Seabed Shanty || Bonus #1 || <tt>40661-4066E</tt> || <tt>40663-40670</tt> | |||
|- | |||
| Bonus #2 || <tt>4066F-4067C</tt> || <tt>40671-4067E</tt> | |||
|- | |||
| rowspan="2" | Ford Knocks || Bonus #1 || <tt>405A7-405B4</tt> || <tt>405A9-405B6</tt> | |||
|- | |||
| Bonus #2 || <tt>405B7-405C4</tt> || <tt>405B9-405C6</tt> | |||
|- | |||
| rowspan="2" | Total Rekoil || Bonus #1 || <tt>4051B-40528</tt> || <tt>4051D-4052A</tt> | |||
|- | |||
| Bonus #2 || <tt>40529-40536</tt> || <tt>4052B-40538</tt> | |||
|- | |||
| rowspan="2" | Koco Channel || Bonus #1 || <tt>405FF-4060C</tt> || <tt>40601-4060E</tt> | |||
|- | |||
| Bonus #2 || <tt>4060D-4061A</tt> || <tt>4060F-4061C</tt> | |||
|- | |||
| rowspan="2" | Liftshaft Lottery || Bonus #1 || <tt>40537-40544</tt> || <tt>40539-40546</tt> | |||
|- | |||
| Bonus #2 || <tt>40545-40552</tt> || <tt>40547-40554</tt> | |||
|- | |||
| rowspan="2" | Coral Quarrel || Bonus #1 || <tt>4067D-4068A</tt> || <tt>4067F-4068C</tt> | |||
|- | |||
| Bonus #2 || <tt>4068B-40698</tt> || <tt>4068D-4069A</tt> | |||
|- | |||
| rowspan="2" | Minky Mischief || Bonus #1 || <tt>40717-40724</tt> || <tt>40719-40726</tt> | |||
|- | |||
| Bonus #2 || <tt>40725-40732</tt> || <tt>40727-40734</tt> | |||
|- | |||
| rowspan="2" | Jetty Jitters || Bonus #1 || <tt>405C7-405D4</tt> || <tt>405C9-405D6</tt> | |||
|- | |||
| Bonus #2 || <tt>405D5-405E2</tt> || <tt>405D7-405E4</tt> | |||
|- | |||
| rowspan="2" | Black Ice Blitz || Bonus #1 || <tt>40709-40716</tt> || <tt>4070B-40718</tt> | |||
|- | |||
| Bonus #2 || <tt>406FB-40708</tt> || <tt>406FD-4070A</tt> | |||
|- | |||
| rowspan="2" | Riverbank Riot || Bonus #1 || <tt>4061B-40628</tt> || <tt>4061D-4062A</tt> | |||
|- | |||
| Bonus #2 || <tt>40629-40636</tt> || <tt>4062B-40638</tt> | |||
|- | |||
| rowspan="2" | Miller Instinct || Bonus #1 || <tt>40553-40560</tt> || <tt>40555-40562</tt> | |||
|- | |||
| Bonus #2 || <tt>40561-4056E</tt> || <tt>40563-40570</tt> | |||
|- | |||
| rowspan="2" | Rocketeer Rally || Bonus #1 || <tt>407BF-407CC</tt> || <tt>407C1-407CE</tt> | |||
|- | |||
| Bonus #2 || <tt>407CD-407DA</tt> || <tt>407CF-407DC</tt> | |||
|- | |||
| rowspan="2" | Vertigo Verge || Bonus #1 || <tt>4076B-40778</tt> || <tt>4076D-4077A</tt> | |||
|- | |||
| Bonus #2 || <tt>40779-40786</tt> || <tt>4077B-40788</tt> | |||
|- | |||
| rowspan="2" | Polar Pitfalls || Bonus #1 || <tt>406C3-406D0</tt> || <tt>406C5-406D2</tt> | |||
|- | |||
| Bonus #2 || <tt>406D1-406DE</tt> || <tt>406D3-406E0</tt> | |||
|- | |||
| rowspan="2" | Surface Tension || Bonus #1 || <tt>40637-40644</tt> || <tt>40639-40646</tt> | |||
|- | |||
| Bonus #2 || <tt>40645-40652</tt> || <tt>40647-40654</tt> | |||
|- | |||
| rowspan="2" | Tundra Blunda || Bonus #1 || <tt>406DF-406EC</tt> || <tt>406E1-406EE</tt> | |||
|- | |||
| Bonus #2 || <tt>406ED-406FA</tt> || <tt>406EF-406FC</tt> | |||
|- | |||
| rowspan="2" | Redwood Rampage || Bonus #1 || <tt>40733-40740</tt> || <tt>40735-40742</tt> | |||
|- | |||
| Bonus #2 || <tt>40741-4074E</tt> || <tt>40743-40750</tt> | |||
|- | |||
| rowspan="2" | Jungle Jeopardy || Bonus #1 || <tt>40867-40874</tt> || <tt>40869-40876</tt> | |||
|- | |||
| Bonus #2 || <tt>40875-40882</tt> || <tt>40877-40884</tt> | |||
|- | |||
| rowspan="2" | Footloose Falls || Bonus #1 || <tt>407DB-407E8</tt> || <tt>407DD-407EA</tt> | |||
|- | |||
| Bonus #2 || <tt>407E9-407F6</tt> || <tt>407EB-407F8</tt> | |||
|- | |||
| rowspan="2" | Deep Reef Grief || Bonus #1 || <tt>40699-406A6</tt> || <tt>4069B-406A8</tt> | |||
|- | |||
| Bonus #2 || <tt>406A7-406B4</tt> || <tt>406A9-406B6</tt> | |||
|- | |||
| rowspan="2" | Karbine Kaos || Bonus #1 || <tt>408BB-408C8</tt> || <tt>408BD-408CA</tt> | |||
|- | |||
| Bonus #2 || <tt>408C9-408D6</tt> || <tt>408CB-408D8</tt> | |||
|- | |||
| rowspan="2" | Simian Shimmy || Bonus #1 || <tt>4074F-4075C</tt> || <tt>40751-4075E</tt> | |||
|- | |||
| Bonus #2 || <tt>4075D-4076A</tt> || <tt>4075F-4076C</tt> | |||
|- | |||
| rowspan="2" | Rockface Chase || Bonus #1 || <tt>40787-40794</tt> || <tt>40789-40796</tt> | |||
|- | |||
| Bonus #2 || <tt>40795-407A2</tt> || <tt>40797-407A4</tt> | |||
|- | |||
| rowspan="2" | Tropical Tightropes || Bonus #1 || <tt>40883-40890</tt> || <tt>40885-40892</tt> | |||
|- | |||
| Bonus #2 || <tt>40891-4089E</tt> || <tt>40893-408A0</tt> | |||
|- | |||
| rowspan="2" | Clifftop Critters || Bonus #1 || <tt>407A3-407B0</tt> || <tt>407A5-407B2</tt> | |||
|- | |||
| Bonus #2 || <tt>407B1-407BE</tt> || <tt>407B3-407C0</tt> | |||
|- | |||
| rowspan="2" | Rickety Rapids || Bonus #1 || <tt>407F7-40804</tt> || <tt>407F9-40806</tt> | |||
|- | |||
| Bonus #2 || <tt>40805-40812</tt> || <tt>40807-40814</tt> | |||
|- | |||
| rowspan="2" | Bazuka Bombard || Bonus #1 || <tt>408D7-408E4</tt> || <tt>408D9-408E6</tt> | |||
|- | |||
| Bonus #2 || <tt>408E5-408F2</tt> || <tt>408E7-408F4</tt> | |||
|- | |||
| rowspan="2" | Ugly Ducting || Bonus #1 || <tt>4092B-40938</tt> || <tt>4092D-4093A</tt> | |||
|- | |||
| Bonus #2 || <tt>40939-40946</tt> || <tt>4093B-40948</tt> | |||
|- | |||
| rowspan="2" | Stalagmite Frights || Bonus #1 || <tt>40813-40820</tt> || <tt>40815-40822</tt> | |||
|- | |||
| Bonus #2 || <tt>40821-4082E</tt> || <tt>40823-40830</tt> | |||
|- | |||
| rowspan="2" | Whiplash Dash || Bonus #1 || <tt>40947-40954</tt> || <tt>40949-40956</tt> | |||
|- | |||
| Bonus #2 || <tt>40955-40962</tt> || <tt>40957-40964</tt> | |||
|- | |||
| rowspan="2" | Kuchuka Karnage || Bonus #1 || <tt>408F3-40900</tt> || <tt>408F5-40902</tt> | |||
|- | |||
| Bonus #2 || <tt>40901-4090E</tt> || <tt>40903-40910</tt> | |||
|- | |||
| rowspan="2" | Haunted Hollows || Bonus #1 || <tt>4082F-4083C</tt> || <tt>40831-4083E</tt> | |||
|- | |||
| Bonus #2 || <tt>4083D-4084A</tt> || <tt>4083F-4084C</tt> | |||
|- | |||
| rowspan="2" | Rainforest Rumble || Bonus #1 || <tt>4089F-408AC</tt> || <tt>408A1-408AE</tt> | |||
|- | |||
| Bonus #2 || <tt>408AD-408BA</tt> || <tt>408AF-408BC</tt> | |||
|- | |||
| rowspan="2" | Barrel Boulevard || Bonus #1 || <tt>4090F-4091C</tt> || <tt>40911-4091E</tt> | |||
|- | |||
| Bonus #2 || <tt>4091D-4092A</tt> || <tt>4091F-4092C</tt> | |||
|- | |||
| rowspan="2" | Ghoulish Grotto || Bonus #1 || <tt>4084B-40858</tt> || <tt>4084D-4085A</tt> | |||
|- | |||
| Bonus #2 || <tt>40859-40866</tt> || <tt>4085B-40868</tt> | |||
|} | |||
<!-- What is the purpose of 405B5-405B6 and 405C5-405C6 in the English version (405B7-405B8 and 405C7-405C8 in the Japanese version)? --> | |||
=== Warps === | |||
This probably uses the same format as the bonus stages. | |||
{| class="wikitable" border="1" | |||
! rowspan="2" | Level !! colspan="2" | Offset | |||
|- | |||
! width="60" | English !! Japanese | |||
|- | |||
| Red Wharf || <tt>405E3-405F0</tt> || <tt>405E5-405F2</tt> | |||
|- | |||
| Seabed Shanty || <tt>406B5-406C2</tt> || <tt>406B7-406C4</tt> | |||
|- | |||
| Ford Knocks || <tt>405F1-405FE</tt> || <tt>405F3-40600</tt> | |||
|- | |||
| Total Rekoil || <tt>4056F-4057C</tt> || <tt>40571-4057E</tt> | |||
|- | |||
| Koco Channel || <tt>40653-40660</tt> || <tt>40655-40662</tt> | |||
|- | |||
| Liftshaft Lottery || <tt>4057D-4058A</tt> || <tt>4057F-4058C</tt> | |||
|} | |||
== Cheat Codes == | |||
{| class="wikitable" border="1" | |||
|- | |||
! Data !! English !! Japanese | |||
|- | |||
| Cheat code info || <tt>141B8-141CA</tt> || <tt>8EE86-8EE98</tt> | |||
|- | |||
| rowspan="3" | Pointers for cheat codes || <tt>14188</tt> || <tt>8EE53</tt> | |||
|- | |||
| <tt>1418E</tt> || <tt>8EE59</tt> | |||
|- | |||
| <tt>14194</tt> || <tt>8EE5F</tt> | |||
|} | |||
* Format works like this: | |||
** First byte indicates the number of button presses, excluding Right. | |||
** Subsequent bytes indicate the button presses: | |||
*** <span style="color:#808080">0x80 (bit 7) = Start</span> | |||
*** 0x40 (bit 6) = Select | |||
*** <span style="color:#808080">0x20 (bit 5) = B</span> | |||
*** <span style="color:#808080">0x10 (bit 4) = A</span> | |||
*** 0x08 (bit 3) = Down | |||
*** 0x04 (bit 2) = Up | |||
*** 0x02 (bit 1) = Left | |||
*** <span style="color:#808080">0x01 (bit 0) = Right</span> | |||
*** These button presses, excluding Right, are stored in RAM, starting at 0xD100. | |||
** Last byte indicates which bit(s) are set to 1. The use of a bitflag allows multiple cheats to be used at once since they can be ORed together. Note that only the three least significant bits are used: | |||
*** 0x01 (bit 0) = Play the card game after the title screen | |||
*** 0x02 (bit 1) = Have 50 lives when starting the game | |||
*** 0x04 (bit 2) = Unlock all levels except the Lost World. | |||
*** This gets ORed with whatever value is in 0xFFF9 in RAM (which starts out at 0). (In the Japanese version, the RAM address is 0xFFF8 instead.) | |||
** In each cheat code, each button sequence must be followed by Right. Pressing Right in the middle of a sequence does not affect anything. | |||
== Time Attack == | |||
{| border="1" class="wikitable" | |||
|- | |||
! Data !! English !! Japanese | |||
|- | |||
| Required times to beat || <tt>15A46-15A69</tt> || <tt>1613F-16162</tt> | |||
|- | |||
| Levels || <tt>15874-1587F</tt> || <tt>16047-16052</tt> | |||
|} | |||
=== ASM Code === | |||
{| border="1" class="wikitable" | |||
|- | |||
! Data !! English !! Japanese | |||
|- | |||
| Print level types (e.g. Stilt), Re-enter game, <span class="explain" title="English version only">Last time on screen</span> || <tt>15880-158A2</tt> || <tt>7D7D6-7D803</tt> | |||
|- | |||
| Load Time Attack records from SRAM, then print them || <tt>158A3-158DC</tt> || <tt>16053-1608C</tt> | |||
|- | |||
| Print most recent time on bottom-right of screen || <tt>158DD-15901</tt> || N/A | |||
|- | |||
| Print ! on screen for cleared times || <tt>15902-15930</tt> || <tt>1608D-160BB</tt> | |||
|- | |||
---- | |||
| Generate two-digit number (seconds, 1/100 seconds) || <tt>15931-15950</tt> || <tt>160BC-160DB</tt> | |||
|- | |||
| Load data in SRAM based on save file || <tt>15B94-15BA4</tt> || <tt>16294-162A4</tt> | |||
|} | |||
== World Map Animations == | |||
=== Function Caller === | |||
{| border="1" class="wikitable" | |||
|- | |||
! Data !! English !! Japanese | |||
|- | |||
| Bank for map animation ASM code || <tt>1278</tt> || <tt>125E</tt> | |||
|- | |||
| Pointer for map animation ASM code (little endian) || <tt>127D-127E</tt> || <tt>1263-1264</tt> | |||
|} | |||
=== ASM Code === | |||
==== English version ==== | |||
* <tt>1641A-16701</tt> = ASM code to animate maps | |||
** <tt>1641A-1641B</tt> = Get current world | |||
** <tt>1641C-16427</tt> = Get proper pointer to jump to based on world, then jump | |||
** <tt>16428-16435</tt> = Jump pointer table (big endian) | |||
---- | |||
** <tt>165DF-165E1</tt> = Northern Kremisphere map animation | |||
** <tt>16436-164C5</tt> = Cape Codswallop map animation | |||
** <tt>164C6-16572</tt> = Primate Plains map animation | |||
** <tt>16573-165BA</tt> = Blackforest Plateau map animation | |||
** <tt>165BB-165DE</tt> = Great Ape Lakes map animation | |||
** <tt>165FA-1661A</tt> = Tin Can Valley map animation | |||
** <tt>165E2-165F9</tt> = The Lost World map animation | |||
---- | |||
** <tt>1643F-16481</tt> = Mill animation (Cape Codswallop) | |||
** <tt>16511-15648</tt> = Mill animation (Primate Plains) | |||
** <tt>1661B-16646</tt> = Water animation | |||
** <tt>16647-16681</tt> = Waterfall animation | |||
** <tt>166A7-166D8</tt> = Sheepy Shop animation (most maps, except for Primate Plains and Blackforest Plateau) | |||
** <tt>166D9-16701</tt> = Factory smoke animation | |||
** <tt>16682-166A6</tt> = Wrinkly Refuge animation (most maps, including Blackforest Plateau, Great Ape Lakes, Tin Can Valley, and The Lost World) | |||
==== Japanese version ==== | |||
* <tt>14910</tt> = Dummied ASM code to animate maps (only consists of a single "ret" instruction), thus removing animated maps | * <tt>14910</tt> = Dummied ASM code to animate maps (only consists of a single "ret" instruction), thus removing animated maps | ||
Map animations can be restored by porting the code from the GB version, and changing the function pointer so that when it is called, the function is in a different part of the ROM.<br />For example, in the Spanish | Map animations can be restored by porting the code from the GB version, and changing the function pointer so that when it is called, the function is in a different part of the ROM.<br />For example, in the English and Spanish fan translations, which restore the map animations, <tt>125E</tt> is changed to <tt>25</tt>, and <tt>1263-1264</tt> is changed to <tt>00 40</tt>, placing the new function at <tt>94000</tt>. | ||
=== Text === | == Level Maps == | ||
=== Pointer Table === | |||
Pointer format works as follows: | |||
* First byte contains the ROM bank. | |||
* Last two bytes contain the RAM address. This is stored in ''big endian''. | |||
See [[Pointer#Game_Boy_Pointers|this page]] for more information. | |||
{| class="wikitable" border="1" | |||
! rowspan="2" | !! colspan="2" | Offset | |||
|- | |||
! width="60" | English !! Japanese | |||
|- | |||
| Levels || <tt>40963-409E0</tt> || <tt>40965-409E2</tt> | |||
|- | |||
| Bonus stages || <tt>409E1-40AB8</tt> || <tt>409E3-40ABA</tt> | |||
|- | |||
| Warps || <tt>40AB9-40ACA</tt> || <tt>40ABB-40ACC</tt> | |||
|- | |||
|} | |||
=== Levels === | |||
{| class="wikitable" border="1" | |||
! rowspan="2" | Level !! colspan="4" | Offset | |||
|- | |||
! width="65" | English Prototype !! width="65" | English v1.0 !! width="65" | English v1.1 !! width="65" | Japanese | |||
|- | |||
| Red Wharf || colspan="4" | <tt>5C001</tt> | |||
|- | |||
| Seabed Shanty || colspan="4" | <tt>58001</tt> | |||
|- | |||
| Ford Knocks || colspan="4" | <tt>5C3E0</tt> | |||
|- | |||
| Total Rekoil || <tt>5A456</tt> || colspan="3" | <tt>5A457</tt> | |||
|- | |||
| Koco Channel || <tt>6A259</tt> || colspan="3" | <tt>6A25F</tt> | |||
|- | |||
| Liftshaft Lottery || <tt>5A886</tt> || colspan="3" | <tt>5A88E</tt> | |||
|- | |||
| Barbos Bastion || <tt>5A422</tt> || colspan="3" | <tt>5A423</tt> | |||
|- | |||
| Coral Quarrel || <tt>58C01</tt> || colspan="3" | <tt>58C02</tt> | |||
|- | |||
| Minky Mischief || <tt>5DE5C</tt> || colspan="3" | <tt>5DE56</tt> | |||
|- | |||
| Jetty Jitters || <tt>5C97A</tt> || colspan="3" | <tt>5C975</tt> | |||
|- | |||
| Black Ice Blitz || <tt>5CE75</tt> || colspan="3" | <tt>5CE70</tt> | |||
|- | |||
| Riverbank Riot || <tt>5BAFC</tt> || colspan="3" | <tt>5BB0D</tt> | |||
|- | |||
| Miller Instinct || <tt>5AE89</tt> || colspan="3" | <tt>5AE93</tt> | |||
|- | |||
| Bleak Magic || <tt>6BDA9</tt> || colspan="3" | <tt>6BD9D</tt> | |||
|- | |||
| Rocketeer Rally || colspan="4" | <tt>60001</tt> | |||
|- | |||
| Vertigo Verge || <tt>68D39</tt> || colspan="3" | <tt>68D38</tt> | |||
|- | |||
| Polar Pitfalls || <tt>5D45C</tt> || colspan="3" | <tt>5D457</tt> | |||
|- | |||
| Surface Tension || <tt>69ED5</tt> || colspan="3" | <tt>69EDB</tt> | |||
|- | |||
| Tundra Blunda || <tt>5DA05</tt> || colspan="3" | <tt>5D9FF</tt> | |||
|- | |||
| Redwood Rampage || <tt>5E486</tt> || <tt>5E487</tt> || colspan="2" | <tt>5E4A0</tt> | |||
|- | |||
| Arich Attack || <tt>5E936</tt> || <tt>5E939</tt> || colspan="2" | <tt>5E952</tt> | |||
|- | |||
| Jungle Jeopardy || <tt>5E961</tt> || <tt>5E964</tt> || colspan="2" | <tt>5E97D</tt> | |||
|- | |||
| Footloose Falls || <tt>6228B</tt> || colspan="3" | <tt>6225E</tt> | |||
|- | |||
| Deep Reef Grief || <tt>5979B</tt> || colspan="3" | <tt>5979C</tt> | |||
|- | |||
| Karbine Kaos || <tt>6A5F1</tt> || colspan="3" | <tt>6A5F7</tt> | |||
|- | |||
| Simian Shimmy || <tt>62FCC</tt> || colspan="3" | <tt>62FA2</tt> | |||
|- | |||
| Rockface Chase || <tt>69266</tt> || colspan="3" | <tt>69265</tt> | |||
|- | |||
| Krazy Kaos || <tt>6BD6A</tt> || colspan="3" | <tt>6BD5E</tt> | |||
|- | |||
| Tropical Tightropes || <tt>5EE01</tt> || <tt>5EE04</tt> || colspan="2" | <tt>5EE1D</tt> | |||
|- | |||
| Clifftop Critters || <tt>6986D</tt> || colspan="3" | <tt>69873</tt> | |||
|- | |||
| Rickety Rapids || <tt>6279B</tt> || colspan="3" | <tt>62775</tt> | |||
|- | |||
| Bazuka Bombard || <tt>6B174</tt> || colspan="3" | <tt>6B182</tt> | |||
|- | |||
| Ugly Ducting || <tt>43988</tt> || colspan="2" | <tt>439B8</tt> || <tt>43A08</tt> | |||
|- | |||
| Stalagmite Frights || <tt>63864</tt> || colspan="3" | <tt>63863</tt> | |||
|- | |||
| K. Rool Duel || <tt>6BDDB</tt> || colspan="3" | <tt>6BDCF</tt> | |||
|- | |||
| Whiplash Dash || <tt>5FC08</tt> || <tt>5FC0B</tt> || colspan="2" | <tt>5FC24</tt> | |||
|- | |||
| Kuchuka Karnage || <tt>6AB56</tt> || colspan="3" | <tt>6AB67</tt> | |||
|- | |||
| Haunted Hollows || colspan="4" | <tt>68001</tt> | |||
|- | |||
| Rainforest Rumble || <tt>5F2A0</tt> || <tt>5F2A1</tt> || colspan="2" | <tt>5F2BA</tt> | |||
|- | |||
| Barrel Boulevard || <tt>5B31C</tt> || colspan="3" | <tt>5B328</tt> | |||
|- | |||
| Ghoulish Grotto || <tt>685AB</tt> || colspan="3" | <tt>685AA</tt> | |||
|- | |||
| K. Rool's Last Stand || <tt>6BE18</tt> || colspan="3" | <tt>6BE0C</tt> | |||
|} | |||
=== Bonus Stages === | |||
{| class="wikitable" border="1" | |||
! rowspan="2" colspan="2" | Level !! colspan="4" | Offset | |||
|- | |||
! width="65" | English Prototype || width="65" | English v1.0 !! width="65" | English v1.1 !! width="65" | Japanese | |||
|- | |||
| rowspan="2" | Red Wharf || Bonus #1 || <tt>61442</tt> || colspan="3" | <tt>61445</tt> | |||
|- | |||
| Bonus #2 || <tt>614EA</tt> || colspan="3" | <tt>614ED</tt> | |||
|- | |||
| rowspan="2" | Seabed Shanty || Bonus #1 || colspan="4" | <tt>6046D</tt> | |||
|- | |||
| Bonus #2 || colspan="4" | <tt>6054D</tt> | |||
|- | |||
| rowspan="2" | Ford Knocks || Bonus #1 || <tt>61570</tt> || colspan="3" | <tt>61573</tt> | |||
|- | |||
| Bonus #2 || <tt>61610</tt> || colspan="3" | <tt>61613</tt> | |||
|- | |||
| rowspan="2" | Total Rekoil || Bonus #1 || colspan="4" | <tt>60915</tt> | |||
|- | |||
| Bonus #2 || <tt>6096E</tt> || colspan="3" | <tt>6096D</tt> | |||
|- | |||
| rowspan="2" | Koco Channel || Bonus #1 || <tt>60C44</tt> || colspan="3" | <tt>60C43</tt> | |||
|- | |||
| Bonus #2 || <tt>60D05</tt> || colspan="3" | <tt>60D04</tt> | |||
|- | |||
| rowspan="2" | Liftshaft Lottery || Bonus #1 || <tt>609E2</tt> || colspan="3" | <tt>609E1</tt> | |||
|- | |||
| Bonus #2 || <tt>60A6F</tt> || colspan="3" | <tt>60A6E</tt> | |||
|- | |||
| rowspan="2" | Coral Quarrel || Bonus #1 || colspan="4" | <tt>60656</tt> | |||
|- | |||
| Bonus #2 || colspan="4" | <tt>606EC</tt> | |||
|- | |||
| rowspan="2" | Minky Mischief || Bonus #1 || <tt>6184A</tt> || colspan="3" | <tt>61822</tt> | |||
|- | |||
| Bonus #2 || <tt>618FE</tt> || colspan="3" | <tt>618D6</tt> | |||
|- | |||
| rowspan="2" | Jetty Jitters || Bonus #1 || <tt>61683</tt> || colspan="3" | <tt>6165A</tt> | |||
|- | |||
| Bonus #2 || <tt>61758</tt> || colspan="3" | <tt>6172F</tt> | |||
|- | |||
| rowspan="2" | Black Ice Blitz || Bonus #1 || <tt>613AF</tt> || colspan="3" | <tt>613B2</tt> | |||
|- | |||
| Bonus #2 || <tt>612DB</tt> || colspan="3" | <tt>612DE</tt> | |||
|- | |||
| rowspan="2" | Riverbank Riot || Bonus #1 || <tt>60DDF</tt> || colspan="3" | <tt>60DDE</tt> | |||
|- | |||
| Bonus #2 || <tt>60E71</tt> || colspan="3" | <tt>60E70</tt> | |||
|- | |||
| rowspan="2" | Miller Instinct || Bonus #1 || <tt>60B30</tt> || colspan="3" | <tt>60B2F</tt> | |||
|- | |||
| Bonus #2 || <tt>60BFA</tt> || colspan="3" | <tt>60BF9</tt> | |||
|- | |||
| rowspan="2" | Rocketeer Rally || Bonus #1 || <tt>62D19</tt> || colspan="3" | <tt>62CF3</tt> | |||
|- | |||
| Bonus #2 || <tt>62D9D</tt> || colspan="3" | <tt>62D77</tt> | |||
|- | |||
| rowspan="2" | Vertigo Verge || Bonus #1 || <tt>61D65</tt> || colspan="3" | <tt>61D3C</tt> | |||
|- | |||
| Bonus #2 || <tt>61DB9</tt> || colspan="3" | <tt>61D8C</tt> | |||
|- | |||
| rowspan="2" | Polar Pitfalls || Bonus #1 || <tt>61011</tt> || colspan="3" | <tt>61010</tt> | |||
|- | |||
| Bonus #2 || <tt>610B9</tt> || colspan="3" | <tt>610B8</tt> | |||
|- | |||
| rowspan="2" | Surface Tension || Bonus #1 || <tt>60EFD</tt> || colspan="3" | <tt>60EFC</tt> | |||
|- | |||
| Bonus #2 || <tt>60F64</tt> || colspan="3" | <tt>60F63</tt> | |||
|- | |||
| rowspan="2" | Tundra Blunda || Bonus #1 || <tt>61180</tt> || colspan="3" | <tt>61183</tt> | |||
|- | |||
| Bonus #2 || <tt>61214</tt> || colspan="3" | <tt>61217</tt> | |||
|- | |||
| rowspan="2" | Redwood Rampage || Bonus #1 || <tt>619E4</tt> || colspan="3" | <tt>619BC</tt> | |||
|- | |||
| Bonus #2 || <tt>61AAD</tt> || colspan="3" | <tt>61A84</tt> | |||
|- | |||
| rowspan="2" | Jungle Jeopardy || Bonus #1 || <tt>5F6A3</tt> || <tt>5F6A4</tt> || colspan="2" | <tt>5F6BD</tt> | |||
|- | |||
| Bonus #2 || <tt>5F746</tt> || <tt>5F747</tt> || colspan="2" | <tt>5F760</tt> | |||
|- | |||
| rowspan="2" | Footloose Falls || Bonus #1 || <tt>62E03</tt> || colspan="3" | <tt>62DDD</tt> | |||
|- | |||
| Bonus #2 || <tt>62E8C</tt> || colspan="3" | <tt>62E62</tt> | |||
|- | |||
| rowspan="2" | Deep Reef Grief || Bonus #1 || colspan="4" | <tt>607A2</tt> | |||
|- | |||
| Bonus #2 || colspan="4" | <tt>60861</tt> | |||
|- | |||
| rowspan="2" | Karbine Kaos || Bonus #1 || <tt>6B86A</tt> || colspan="3" | <tt>6B85B</tt> | |||
|- | |||
| Bonus #2 || <tt>6B8E0</tt> || colspan="3" | <tt>6B8D1</tt> | |||
|- | |||
| rowspan="2" | Simian Shimmy || Bonus #1 || <tt>61B84</tt> || colspan="3" | <tt>61B5B</tt> | |||
|- | |||
| Bonus #2 || <tt>61C42</tt> || colspan="3" | <tt>61C19</tt> | |||
|- | |||
| rowspan="2" | Rockface Chase || Bonus #1 || <tt>61E6B</tt> || colspan="3" | <tt>61E3E</tt> | |||
|- | |||
| Bonus #2 || <tt>61F4F</tt> || colspan="3" | <tt>61F22</tt> | |||
|- | |||
| rowspan="2" | Tropical Tightropes || Bonus #1 || <tt>5F7CF</tt> || <tt>5F7D0</tt> || colspan="2" | <tt>5F7E9</tt> | |||
|- | |||
| Bonus #2 || <tt>5F85F</tt> || <tt>5F860</tt> || colspan="2" | <tt>5F879</tt> | |||
|- | |||
| rowspan="2" | Clifftop Critters || Bonus #1 || <tt>61FF5</tt> || colspan="3" | <tt>61FC8</tt> | |||
|- | |||
| Bonus #2 || <tt>62055</tt> || colspan="3" | <tt>62028</tt> | |||
|- | |||
| rowspan="2" | Rickety Rapids || Bonus #1 || <tt>62EDD</tt> || colspan="3" | <tt>62EB3</tt> | |||
|- | |||
| Bonus #2 || <tt>62F5A</tt> || colspan="3" | <tt>62F30</tt> | |||
|- | |||
| rowspan="2" | Bazuka Bombard || Bonus #1 || <tt>6B952</tt> || colspan="3" | <tt>6B943</tt> | |||
|- | |||
| Bonus #2 || <tt>6B9FD</tt> || colspan="3" | <tt>6B9EE</tt> | |||
|- | |||
| rowspan="2" | Ugly Ducting || Bonus #1 || <tt>5FA41</tt> || <tt>5FA42</tt> || colspan="2" | <tt>5FA5B</tt> | |||
|- | |||
| Bonus #2 || <tt>5FAED</tt> || <tt>5FAEE</tt> || colspan="2" | <tt>5FB07</tt> | |||
|- | |||
| rowspan="2" | Stalagmite Frights || Bonus #1 || <tt>633C7</tt> || colspan="3" | <tt>633A5</tt> | |||
|- | |||
| Bonus #2 || <tt>6347F</tt> || colspan="3" | <tt>6345D</tt> | |||
|- | |||
| rowspan="2" | Whiplash Dash || Bonus #1 || <tt>5FB58</tt> || <tt>5FB5B</tt> || colspan="2" | <tt>5FB74</tt> | |||
|- | |||
| Bonus #2 || <tt>5FB8D</tt> || <tt>5FB90</tt> || colspan="2" | <tt>5FBA9</tt> | |||
|- | |||
| rowspan="2" | Kuchuka Karnage || Bonus #1 || <tt>6BAE2</tt> || colspan="3" | <tt>6BAD6</tt> | |||
|- | |||
| Bonus #2 || <tt>6BB7B</tt> || colspan="3" | <tt>6BB6F</tt> | |||
|- | |||
| rowspan="2" | Haunted Hollows || Bonus #1 || <tt>6357D</tt> || colspan="3" | <tt>6355A</tt> | |||
|- | |||
| Bonus #2 || <tt>63620</tt> || colspan="3" | <tt>635FD</tt> | |||
|- | |||
| rowspan="2" | Rainforest Rumble || Bonus #1 || <tt>5F8DE</tt> || <tt>5F8DF</tt> || colspan="2" | <tt>5F8F8</tt> | |||
|- | |||
| Bonus #2 || <tt>5F989</tt> || <tt>5F98A</tt> || colspan="2" | <tt>5F9A3</tt> | |||
|- | |||
| rowspan="2" | Barrel Boulevard || Bonus #1 || <tt>6BC46</tt> || colspan="3" | <tt>6BC3A</tt> | |||
|- | |||
| Bonus #2 || <tt>6BCD0</tt> || colspan="3" | <tt>6BCC4</tt> | |||
|- | |||
| rowspan="2" | Ghoulish Grotto || Bonus #1 || <tt>63724</tt> || colspan="3" | <tt>63723</tt> | |||
|- | |||
| Bonus #2 || <tt>637E6</tt> || colspan="3" | <tt>637E5</tt> | |||
|} | |||
=== Warps === | |||
{| class="wikitable" border="1" | |||
! rowspan="2" | Level !! colspan="2" | Offset | |||
|- | |||
! width="100" | English Prototype || width="100" | English v1.0 / v1.1 / Japanese | |||
|- | |||
| Red Wharf || <tt>621F9</tt> || <tt>621CC</tt> | |||
|- | |||
| Seabed Shanty || <tt>620E2</tt> || <tt>620B5</tt> | |||
|- | |||
| Ford Knocks || <tt>62237</tt> || <tt>6220A</tt> | |||
|- | |||
| Total Rekoil || <tt>6214E</tt> || <tt>62121</tt> | |||
|- | |||
| Koco Channel || <tt>621DA</tt> || <tt>621AD</tt> | |||
|- | |||
| Liftshaft Lottery || <tt>6218C</tt> || <tt>6215F</tt> | |||
|} | |||
== Level Data Master Pointer Table == | |||
All pointers here are ''big endian''. | |||
* <tt>40001</tt> - Level header data | |||
* <tt>40003</tt> - Level map data | |||
* <tt>40005</tt> - Level tile data | |||
* <tt>40007</tt> - Level metatile data, tile properties | |||
* <tt>40009</tt> - Sprite pointer | |||
* <tt>4000B</tt> - Level sprite table | |||
* <tt>4000D</tt> - Bonus level/warp header data | |||
* <tt>4000F</tt> - Bonus level/warp sprite table | |||
* <tt>40011</tt> - Level palettes (Japanese version) | |||
== Text == | |||
=== English version === | |||
... | |||
=== Japanese version === | |||
==== Pointers ==== | ==== Pointers ==== | ||
Unless otherwise mentioned, pointers point to bank <tt>1F</tt> (corresponds to <tt>7C000-7FFFF</tt> in ROM). | Unless otherwise mentioned, pointers point to bank <tt>1F</tt> (corresponds to <tt>7C000-7FFFF</tt> in ROM). | ||
Line 505: | Line 1,005: | ||
|<tt>16993-16994</tt> || Delete game confirmation || Little endian | |<tt>16993-16994</tt> || Delete game confirmation || Little endian | ||
|- | |- | ||
|<tt> | |<tt>14337-14338</tt> || Cast list || Little endian || Points to bank <tt>5</tt> (corresponds to <tt>14000-17FFF</tt> in ROM) | ||
|- | |||
|<tt>14199-1419A</tt> || Credits || Little endian || Points to bank <tt>5</tt> (corresponds to <tt>14000-17FFF</tt> in ROM) | |||
|- | |- | ||
|<tt>F574-F579</tt> || Text on bottom of file select screen || Big endian (2 bytes each) || Points to bank <tt>3</tt> (corresponds to <tt>C000-FFFF</tt> in ROM) | |<tt>F574-F579</tt> || Text on bottom of file select screen || Big endian (2 bytes each) || Points to bank <tt>3</tt> (corresponds to <tt>C000-FFFF</tt> in ROM) | ||
Line 511: | Line 1,013: | ||
====Strings==== | ====Strings==== | ||
Note that these addresses are from the Japanese version. Fan translations obviously use different addresses due to differing string lengths. | |||
=====Level & World Names===== | =====Level & World Names===== | ||
Format: | Format: | ||
Line 570: | Line 1,073: | ||
* <tt>7DC02-7DC14</tt> = Tin Can Valley | * <tt>7DC02-7DC14</tt> = Tin Can Valley | ||
* <tt>7DC15-7DC25</tt> = The Lost World | * <tt>7DC15-7DC25</tt> = The Lost World | ||
====Other==== | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset !! Text !! Format | |||
|- | |||
|<tt>7DC26-7E222</tt> || Bear || Same as level/world format, except tiles get loaded into VRAM starting at <tt>8B40</tt>.<br />Notice that before the array terminator <tt>FE</tt>, the ROM inserts a newline <tt>FF</tt> right before. However, this is not only unnecessary, but it also causes a bug where tile <tt>FE</tt> (part of a DK Coin graphic) appears for a split second before the actual text does. | |||
|- | |||
|<tt>7E223-7E297</tt> || K. Rool (when defeated) || Same as level/world format, except tiles get loaded into VRAM starting at <tt>8CC0</tt>. Also contains the same bug present from Bear's dialogue. | |||
|- | |||
|<tt>7E298-7E330</tt> || Wrinkly || Same as level/world format, except tiles get loaded into VRAM starting at <tt>8C20</tt>. Also contains the same bug present from Bear's dialogue. | |||
|- | |||
|<tt>7E331-7E4C2</tt> || K. Rool (when entering Lost World or K. Rool's Last Stand) || Format is in reverse order of level format. That is, the array that loads the characters (e.g. kana) into VRAM (this time, starting at <tt>8800</tt>) appears first. Then, the table that uses the correct tiles is second. Also, in this table, <tt>80</tt> must be added, since the code that loads these screens does not do this automatically. For example, <tt>80</tt> will result in printing the first kana that appears in VRAM, <tt>81</tt> prints the second, etc. | |||
|- | |||
|<tt>7E4C3-7E4E3</tt> || Trophy || Similar to K. Rool format when entering the Lost World. However, the characters are loaded into VRAM starting at <tt>9600</tt>. Also, in the array of tiles, instead of adding <tt>80</tt>, <tt>60</tt> must be added to print the correct tile. | |||
|- | |||
|<tt>7E4E4-7E549</tt> || Time Attack || Similar to K. Rool format when entering the Lost World. However, the characters are loaded into VRAM starting at <tt>9300</tt>. Also, in the array of tiles, instead of adding <tt>80</tt>, <tt>30</tt> must be added to print the correct tile. | |||
|- | |||
|<tt>7E54A-7E564</tt> || Bash the Baddies! || rowspan="3" | Same as level/world format, except tiles get loaded into VRAM starting at <tt>8A00</tt>. | |||
|- | |||
|<tt>7E565-7E579</tt> || Collect the Stars! | |||
|- | |||
|<tt>7E57A-7E58E</tt> || Find the Token! | |||
|- | |||
|<tt>7E58F-7E5B7</tt> || Delete game confirmation || Similar to K. Rool format when entering the Lost World. However, the characters are loaded into VRAM starting at <tt>9000</tt>. Also, in the array of tiles, nothing needs to be added to print the correct tile. Finally, the first tile (from <tt>9000-9010</tt> in VRAM) will fill up the screen, excluding the text string, so it should always be a space here. | |||
|- | |||
|<tt>147A8-1490F</tt> || Cast list || All characters (kana, etc.) are loaded into VRAM, so this format is simply a traditional text string, reading the tiles one at a time. There are also various control codes between each enemy/NPC name whose format has yet to be determined. | |||
|- | |||
|<tt>14442-147A7</tt> || Credits || Mostly ASCII format, but a character conversion table exists elsewhere (at <tt>68C</tt>) to convert punctuation marks properly (since it's different from the ASCII format here). Due to the small size of the conversion table, there is no room to allow lowercase letters properly. | |||
|- | |||
|<tt>F57A-F588</tt> || Select game text (file select screen) || rowspan="3" | Uses kana that appear starting at <tt>92E0</tt> in VRAM. In the Japanese version, any byte <tt>80</tt> or greater (typically <tt>FF</tt>) will terminate the string. | |||
|- | |||
|<tt>F589-F597</tt> || Delete game text (file select screen) | |||
|- | |||
|<tt>F598-F5A6</tt> || Game saved text (file select screen) | |||
|} | |||
==== Positioning ==== | ==== Positioning ==== | ||
===== VRAM pointers ===== | |||
Generally, these are pointers that determine where the text starts in VRAM, and the pointers are little endian. For example, in the bonus screens in the Japanese version, at <tt>16907</tt>, the byte string is <tt>04 9A</tt>, which, when adjusted for endianness, is <tt>9A04</tt>. Changing this value will shift the text in the following ways: | |||
* <tt>+01</tt> = Shift right | |||
* <tt>+20</tt> = Shift down | |||
* <tt>-01</tt> = Shift left | |||
* <tt>-20</tt> = Shift up | |||
ROM Addresses: | |||
* <tt>16907-16908</tt> = Position of text on bonus screens | * <tt>16907-16908</tt> = Position of text on bonus screens | ||
** | * <tt>9F5E-9F5F</tt> = Position of text for level and world names | ||
** <tt> | ** Note: While changing this value will shift the text accordingly, keep in mind that when shifting to the right, the spaces left behind are uninitialized. For example, when exiting a level, the game will print glitchy tiles to the left of the level name since they were originally heart icons. A better way to work around this is to keep this value unmodified, but then write custom code set a to 00, then use the ldi a,(hl) instruction to set the first few tiles to 00 to create blank spaces. | ||
** <tt> | * <tt>F56A-F56B</tt> = Position of text on file select screen | ||
** <tt>- | * <tt>15F49-15F4A</tt> = Position of text on Time Attack screen (first line) | ||
** <tt>- | ** <tt>15F4C</tt> = Number of padded spaces on subsequent lines | ||
* <tt>162F5-162F6</tt> = Position of text on trophy screen (first line) | |||
** <tt>162F8</tt> = Number of padded spaces on subsequent lines | |||
* <tt>9FB2-9FB3</tt> = Top half of ! icon on map screen | |||
* <tt>9FB8-9FB9</tt> = Bottom half of ! icon on map screen | |||
* <tt>9FC3-9FC4</tt> = Top half of DK Coin icon on map screen | |||
* <tt>9FCA-9FCB</tt> = Bottom half of DK Coin icon on map screen | |||
==== Fonts ==== | |||
* <tt>7E700-7F43F</tt> = Main character table | |||
* <tt>7CBF4-7CF24</tt> = Alternate character table, used in credits and Time Attack | |||
* <tt>B635-B6E4</tt> = Numerical tiles, used in some Bear dialogue | |||
== Demos == | |||
Format is: Button combination, length. | |||
For button combinations: | |||
* 0x80 (bit 7) = Down | |||
* 0x40 (bit 6) = Up | |||
* 0x20 (bit 5) = Left | |||
* 0x10 (bit 4) = Right | |||
* 0x08 (bit 3) = Start | |||
* 0x04 (bit 2) = Select | |||
* 0x02 (bit 1) = B | |||
* 0x01 (bit 0) = A | |||
=== Demo data === | |||
{| class="wikitable" border="1" | |||
|- | |||
! Data !! English !! Japanese | |||
|- | |||
| Jetty Jitters || ??? || <tt>53014-53133</tt> | |||
|- | |||
| Rickety Rapids* || ??? || <tt>53134-5319B</tt> | |||
|- | |||
| Whiplash Dash* || ??? || <tt>53361-53384</tt> | |||
|- | |||
| Deep Reef Grief* || ??? || <tt>53405-537B5</tt> | |||
|} | |||
<nowiki>*Note: Could possibly be longer, but demo cuts short due to glitch</nowiki> | |||
=== Pointers === | |||
{| class="wikitable" border="1" | |||
|- | |||
! Data !! English !! Japanese | |||
|- | |||
| Levels || ??? || <tt>8EE26-8EE29</tt> | |||
|- | |||
| Pointers to button sequences (big endian) || ??? || <tt>8EE2A-8EE31</tt> | |||
|} | |||
{{Internal Data|game=Donkey Kong Land III}} |
Latest revision as of 02:41, 24 January 2024
The following article is a ROM map for Donkey Kong Land III.
Color Palettes
English Version
Notes:
- This only applies when you are playing this game on a Super Game Boy.
- This is an incomplete list.
Bonus Screens
- 102FF-1030E - Find The Token!
- 1030F-1031E - Collect The Stars!
- 1031F-1032E - Bash The Baddies!
Miscellaneous (Part 1)
- 1032F-1033E - K. Rool encounter
- 1033F-1034E - ???
World Maps
- 1034F-1035E - Cape Codswallop
- 1035F-1036E - Primate Plains
- 1036F-1037E - Blackforest Plateau
- 1037F-1038E - Great Ape Lakes
- 1038F-1039E - Tin Can Valley
- 1039F-103AE - The Lost World
- 103AF-103BE - Northern Kremisphere
Miscellaneous (Part 2)
- 103BF-103CE - ???
- 103CF-103EE - Title Screen
- 103EF-103FE - Intro Screen
- 103FF-1040E - File Select Screen/Wrinkly Refuge/Sheepy Shop/Card Game/Cast/Credits/K. Rool's Defeat/Time Attack Screen/Trophy Screen/Game Over
- 1040F-1041E - Character icon on bottom-right of screen
Levels
- 1041F-1042E - Black Ice Blitz
- 1042F-1043E - Polar Pitfalls
- 1043F-1044E - Tundra Blunda
- 1044F-1045E - Total Rekoil
- 1045F-1046E - Liftshaft Lottery
- 1046F-1047E - Miller Instinct
- 1047F-1048E - Jungle Jeopardy
- 1048F-1049E - Tropical Tightropes
- 1049F-104AE - Rainforest Rumble
- 104AF-104BE - Seabed Shanty
- 104BF-104CE - Coral Quarrel
- 104CF-104DE - Deep Reef Grief
- 104DF-104EE - Koco Channel
- 104EF-104FE - Riverbank Riot
- 104FF-1050E - Surface Tension
- 1050F-1051E - Red Wharf
- 1051F-1052E - Ford Knocks
- 1052F-1053E - Jetty Jitters
- 1053F-1054E - Stalagmite Frights
- 1054F-1055E - Haunted Hollows
- 1055F-1056E - Ghoulish Grotto
- 1056F-1057E - Ugly Ducting
- 1057F-1058E - Whiplash Dash
- 1058F-1059E - Karbine Kaos
- 1059F-105AE - Bazuka Bombard
- 105AF-105BE - Kuchuka Karnage
- 105BF-105CE - Barrel Boulevard
- 105CF-105DE - Rocketeer Rally
- 105DF-105EE - Footloose Falls
- 105EF-105FE - Rickety Rapids
- 105FF-1060E - Vertigo Verge
- 1060F-1061E - Rockface Chase
- 1061F-1062E - Clifftop Critters
- 1062F-1063E - Minky Mischief
- 1063F-1064E - Redwood Rampage
- 1064F-1065E - Simian Shimmy
- 1065F-1066E - Barbos Bastion
- 1066F-1067E - Bleak Magic
- 1067F-1068E - Arich Attack
- 1068F-1069E - Krazy Kaos
- 1069F-106AE - K. Rool Duel
- 106AF-106BE - K. Rool's Last Stand
Japanese Version
Sprite Color Palettes
- 1BE60-1BE67 - Palette #00
- 1BE68-1BE6F - Palette #01
- 1BE70-1BE77 - Palette #02
- 1BE78-1BE7F - Palette #03
- 1BE80-1BE87 - Palette #04
- 1BE88-1BE8F - Palette #05
- 1BE90-1BE97 - Palette #06
- 1BE98-1BE9F - Palette #07
Level Color Palettes
- 84FFB-8503A - Coral
- 8503B-8507A - Mill
- 8507B-850BA - River
- 850BB-850FA - Snow
- 850FB-8513A - Stilt
- 8513B-8517A - Tree
- 8517B-851BA - Cliff
- 851BB-851FA - Falls
- 851FB-8523A - Cave
- 3515, 3519 - Shaded water palette for Haunted Hollows (used when the screen is partially submerged)
- 14F60, 14F64 - Shaded water palette for Haunted Hollows (used when the screen is fully submerged)
- 8523B-8527A - Jungle
- 8527B-852BA - Machine
- 852BB-852FA - Tube
- 3523, 3527 - Shaded water palette for Ugly Ducting (used when the screen is partially submerged)
- 14F72, 14F76 - Shaded water palette for Ugly Ducting (used when the screen is fully submerged)
World Map Color Palettes
- 85B3B-85B7A - Northern Kremisphere
- 858FB-8593A - Cape Codswallop
- 858BB-858FA - Primate Plains
- 8587B-858BA - Blackforest Plateau
- 8583B-8587A - Great Ape Lakes
- 857FB-8583A - Tin Can Valley
- 8577B-857BA - The Lost World
Bonus Stage Screen Color Palettes
- 8557B-855BA - Bash the Baddies!
- 856BB-856FA - Collect the Stars!
- 85B7B-85BBA - Find the Token!
Miscellaneous Color Palettes
- 854FB-8553A - Sheepy Shop
- 8563B-8567A - File Select
- 856FB-8573A - Time Attack
- 859BB-859FA - Wrinkly Refuge
- 85AFB-85B3A - Game Over Screen
- 8D805-8D844 - Title Screen
- 91805-91844 - Intro Screen
Sprite Colors
Notes:
- All these bytes range from 00-07, depending on the sprite color palettes defined above.
- This list is incomplete.
- 1BEA0 - Niknak
- 1BEA1 - Kobble
- 1EBA2 - Koco
- 1BEA3 - Krimp
- 1BEA4 - Skidda/Defeated Kobble
- 1BEA5 - Booty Bird
- 1BEA6 - Klasp
- 1BEA7 - Krusha
- 1BEA8 - Steel Barrel
- 1BEA9 - Bazza
- 1BEAA - Bounty Bass
- 1BEAB - Flagpole
- 1BEAC - Elevator
- 1BEAD - Lurchin
- 1BEAE - ???
- 1BEAF - Bristles
- 1BEB0 - Nid
- 1BEB1 - Minky's nuts/Squawks's eggs
- 1BEB2 - Rekoil
- 1BEB3 - Minky
- 1BEB4 - Lemguin
- 1BEB5 - Buzz
- 1BEB6 - Krumple
- 1BEB7 - Koin
- 1BEB8 - Sneek
- 1BEB9 - Minky Shield Barrels
- 1BEBA - Clouds
- 1BEBB - Rocket Barrel
- 1BEBC - Tracker Barrel
- 1BEBD - Kopter
- 1BEBE - Barbos
- 1BEBF - Kuchuka
- 1BEC0 - Kuchuka's and K. Rool's bombs
- 1BEC1 - Ghost Barrel
- 1BEC2 - Dixie walking
- 1BEC3 - Dixie running
- 1BEC4 - Dixie standing
- 1BEC5 - Dixie's Helicopter Spin
- 1BEC6 - Dixie jumping
- 1BEC7 - Dixie turning around
- 1BEC8 - Dixie climbing vertically
- 1BEC9 - Dixie climbing vertically, switching sides
- 1BECA - Dixie attacking
- 1BECB - Dixie climbing horizontally
- 1BECC - Dixie crouching
- 1BECD - Dixie swimming
- 1BECE - Bazuka
- 1BECF - Wrinkly
- 1BED0 - ???
- 1BED1 - Ellie's water
- 1BED2 - Dixie launched (from barrel)
- 1BED3 - Dixie taking damage
- 1BED4 - Karbine
- 1BED5 - Kong letters in air
- 1BED6 - Bear Coin
- 1BED7 - Bonus Coin
- 1BED8 - DK Coin
- 1BED9 - ???
- 1BEDA - Banana Bunch
- 1BEDB - Balloon
- 1BEDC - Puffball/explosion (e.g. when switching Kongs or taking damage)
- 1BEDD - Blast Barrel
- 1BEDE - ???
- 1BEDF - Dixie picking up barrel
- 1BEE0 - Dixie carrying barrel, walking/jumping
- 1BEE1 - Dixie throwing barrel
- 1BEE2 - Dixie carrying barrel, standing
- 1BEE3 - Barrel explosion
- 1BEE4 - Karbine's fireballs/Bleak's snowballs
- 1BEE5 - Bear
- 1BEE6 - Watch
- 1BEE7 - Kiddy walking
- 1BEE8 - Kiddy crouching
- 1BEE9 - Kiddy climbing vertically
- 1BEEA - Kiddy climbing vertically, switching sides
- 1BEEB - Kiddy rolling
- 1BEEC - Arich
- 1BEED - Kiddy picking up barrel
- 1BEEE - Kiddy carrying barrel
- 1BEEF - Kiddy throwing barrel
- 1BEF0 - Arich's shots
- 1BEF1 - Kiddy taking damage
- 1BEF2 - Kiddy swimming
- 1BEF3 - Ellie turning around/moving/shooting
- 1BEF4 - Ellie standing/taking damage
- 1BEF5 - Ellie jumping/launched (from barrel)
- 1BEF6 - Dixie swimming, turning around
- 1BEF7 - Kiddy swimming, turning around
- 1BEF8 - Kiddy turning around
- 1BEF9 - Kiddy running
- 1BEFA - ???
- 1BEFB - Kiddy standing
- 1BEFC - Kiddy climbing horizontally
- 1BEFD - Squitter standing/walking
- 1BEFE - Squitter jumping
- 1BEFF - Squawks
- 1BF00 - Kiddy jumping
- 1BF01 - Enguarde
- 1BF02 - Toboggan
- 1BF03 - Squitter's webs
- 1BF04 - Kaos
- 1BF05 - Kaos's fists
- 1BF06 - ???
- 1BF07 - Splash animation
- 1BF08 - Bleak
- 1BF09 - K. Rool
- 1BF0A - Wooden barrels
- 1BF0B - K. Rool's lightning bolts
- 1BF0C - ???
- 1BF0D - Bonus/Warp Barrel
- 1BF0E - Star Barrel
- 1BF0F - ???
- 1BF10 - Animal Barrels
- 1BF11 - DK Barrel
- 1BF12 - No Animal Sign
- 1BF13 - ???
- 1BF14 - ???
- 1BF15 - ???
- 1BF16 - ???
- 1BF17 - Kiddy in a toboggan
- 1BF18 - Dixie in a toboggan
- 1BF19 - ???
- 1BF1A - ???
- 1BF1B - ???
- 1BF1C - ???
- 1BF1D - ???
- 1BF1E - Collected DK/Bonus Coin
- 1BF1F - ???
- 1BF20 - ???
- 1BF21 - ???
- 1BF22 - ???
- 1BF23 - ???
- 1BF24 - ???
- 1BF25 - ???
- 1BF26 - ???
- 1BF27 - ???
- 1BF28 - ???
Level Header Data
Pointer Table
Offset | ||
---|---|---|
English | Japanese | |
Levels | 40011-40064 | 40013-40066 |
Bonus stages | 4047F-4050E | 40481-40510 |
Warps | 4050F-4051A | 40511-4051C |
Levels
See this page for more information on this.
- English level headers: 40065-4047E
- Japanese level headers: 40067-40480
Level | English | Japanese |
---|---|---|
Total Rekoil | 40065-4007D | 40067-4007F |
Liftshaft Lottery | 4007E-40096 | 40080-40098 |
Miller Instinct | 40097-400AF | 40099-400B1 |
Black Ice Blitz | 400B0-400C8 | 400B2-400CA |
Polar Pitfalls | 400C9-400E1 | 400CB-400E3 |
Tundra Blunda | 400E2-400FA | 400E4-400FC |
Bleak Magic | 400FB-40113 | 400FD-40115 |
Red Wharf | 40114-4012C | 40116-4012E |
Ford Knocks | 4012D-40145 | 4012F-40147 |
Jetty Jitters | 40146-4015E | 40148-40160 |
Koco Channel | 4015F-40177 | 40161-40179 |
Riverbank Riot | 40178-40190 | 4017A-40192 |
Surface Tension | 40191-401A9 | 40193-401AB |
Seabed Shanty | 401AA-401C2 | 401AC-401C4 |
Coral Quarrel | 401C3-401DB | 401C5-401DD |
Deep Reef Grief | 401DC-401F4 | 401DE-401F6 |
Barbos Bastion | 401F5-4020D | 401F7-4020F |
Minky Mischief | 4020E-40226 | 40210-40228 |
Redwood Rampage | 40227-4023F | 40229-40241 |
Simian Shimmy | 40240-40258 | 40242-4025A |
Arich Attack | 40259-40271 | 4025B-40273 |
Vertigo Verge | 40272-4028A | 40274-4028C |
Rockface Chase | 4028B-402A3 | 4028D-402A5 |
Clifftop Critters | 402A4-402BC | 402A6-402BE |
Rocketeer Rally | 402BD-402D5 | 402BF-402D7 |
Footloose Falls | 402D6-402EE | 402D8-402F0 |
Rickety Rapids | 402EF-40307 | 402F1-40309 |
Stalagmite Frights | 40308-40320 | 4030A-40322 |
Haunted Hollows | 40321-40339 | 40323-4033B |
Ghoulish Grotto | 4033A-40352 | 4033C-40354 |
K. Rool's Last Stand | 40353-4036B | 40355-4036D |
Jungle Jeopardy | 4036C-40384 | 4036E-40386 |
Tropical Tightropes | 40385-4039D | 40387-4039F |
Rainforest Rumble | 4039E-403B6 | 403A0-403B8 |
Karbine Kaos | 403B7-403CF | 403B9-403D1 |
Bazuka Bombard | 403D0-403E8 | 403D2-403EA |
Kuchuka Karnage | 403E9-40401 | 403EB-40403 |
Barrel Boulevard | 40402-4041A | 40404-4041C |
Krazy Kaos | 4041B-40433 | 4041D-40435 |
Ugly Ducting | 40434-4044C | 40436-4044E |
Whiplash Dash | 4044D-40465 | 4044F-40467 |
K. Rool Duel | 40466-4047E | 40468-40480 |
Bonus Stages
This uses a different format from the regular levels. (TODO: Figure this out...)
- English bonus level/warp headers: 4051B-40962
- Japanese bonus level/warp headers: 4051D-40964
Level | Offset | ||
---|---|---|---|
English | Japanese | ||
Red Wharf | Bonus #1 | 4058B-40598 | 4058D-4059A |
Bonus #2 | 40599-405A6 | 4059B-405A8 | |
Seabed Shanty | Bonus #1 | 40661-4066E | 40663-40670 |
Bonus #2 | 4066F-4067C | 40671-4067E | |
Ford Knocks | Bonus #1 | 405A7-405B4 | 405A9-405B6 |
Bonus #2 | 405B7-405C4 | 405B9-405C6 | |
Total Rekoil | Bonus #1 | 4051B-40528 | 4051D-4052A |
Bonus #2 | 40529-40536 | 4052B-40538 | |
Koco Channel | Bonus #1 | 405FF-4060C | 40601-4060E |
Bonus #2 | 4060D-4061A | 4060F-4061C | |
Liftshaft Lottery | Bonus #1 | 40537-40544 | 40539-40546 |
Bonus #2 | 40545-40552 | 40547-40554 | |
Coral Quarrel | Bonus #1 | 4067D-4068A | 4067F-4068C |
Bonus #2 | 4068B-40698 | 4068D-4069A | |
Minky Mischief | Bonus #1 | 40717-40724 | 40719-40726 |
Bonus #2 | 40725-40732 | 40727-40734 | |
Jetty Jitters | Bonus #1 | 405C7-405D4 | 405C9-405D6 |
Bonus #2 | 405D5-405E2 | 405D7-405E4 | |
Black Ice Blitz | Bonus #1 | 40709-40716 | 4070B-40718 |
Bonus #2 | 406FB-40708 | 406FD-4070A | |
Riverbank Riot | Bonus #1 | 4061B-40628 | 4061D-4062A |
Bonus #2 | 40629-40636 | 4062B-40638 | |
Miller Instinct | Bonus #1 | 40553-40560 | 40555-40562 |
Bonus #2 | 40561-4056E | 40563-40570 | |
Rocketeer Rally | Bonus #1 | 407BF-407CC | 407C1-407CE |
Bonus #2 | 407CD-407DA | 407CF-407DC | |
Vertigo Verge | Bonus #1 | 4076B-40778 | 4076D-4077A |
Bonus #2 | 40779-40786 | 4077B-40788 | |
Polar Pitfalls | Bonus #1 | 406C3-406D0 | 406C5-406D2 |
Bonus #2 | 406D1-406DE | 406D3-406E0 | |
Surface Tension | Bonus #1 | 40637-40644 | 40639-40646 |
Bonus #2 | 40645-40652 | 40647-40654 | |
Tundra Blunda | Bonus #1 | 406DF-406EC | 406E1-406EE |
Bonus #2 | 406ED-406FA | 406EF-406FC | |
Redwood Rampage | Bonus #1 | 40733-40740 | 40735-40742 |
Bonus #2 | 40741-4074E | 40743-40750 | |
Jungle Jeopardy | Bonus #1 | 40867-40874 | 40869-40876 |
Bonus #2 | 40875-40882 | 40877-40884 | |
Footloose Falls | Bonus #1 | 407DB-407E8 | 407DD-407EA |
Bonus #2 | 407E9-407F6 | 407EB-407F8 | |
Deep Reef Grief | Bonus #1 | 40699-406A6 | 4069B-406A8 |
Bonus #2 | 406A7-406B4 | 406A9-406B6 | |
Karbine Kaos | Bonus #1 | 408BB-408C8 | 408BD-408CA |
Bonus #2 | 408C9-408D6 | 408CB-408D8 | |
Simian Shimmy | Bonus #1 | 4074F-4075C | 40751-4075E |
Bonus #2 | 4075D-4076A | 4075F-4076C | |
Rockface Chase | Bonus #1 | 40787-40794 | 40789-40796 |
Bonus #2 | 40795-407A2 | 40797-407A4 | |
Tropical Tightropes | Bonus #1 | 40883-40890 | 40885-40892 |
Bonus #2 | 40891-4089E | 40893-408A0 | |
Clifftop Critters | Bonus #1 | 407A3-407B0 | 407A5-407B2 |
Bonus #2 | 407B1-407BE | 407B3-407C0 | |
Rickety Rapids | Bonus #1 | 407F7-40804 | 407F9-40806 |
Bonus #2 | 40805-40812 | 40807-40814 | |
Bazuka Bombard | Bonus #1 | 408D7-408E4 | 408D9-408E6 |
Bonus #2 | 408E5-408F2 | 408E7-408F4 | |
Ugly Ducting | Bonus #1 | 4092B-40938 | 4092D-4093A |
Bonus #2 | 40939-40946 | 4093B-40948 | |
Stalagmite Frights | Bonus #1 | 40813-40820 | 40815-40822 |
Bonus #2 | 40821-4082E | 40823-40830 | |
Whiplash Dash | Bonus #1 | 40947-40954 | 40949-40956 |
Bonus #2 | 40955-40962 | 40957-40964 | |
Kuchuka Karnage | Bonus #1 | 408F3-40900 | 408F5-40902 |
Bonus #2 | 40901-4090E | 40903-40910 | |
Haunted Hollows | Bonus #1 | 4082F-4083C | 40831-4083E |
Bonus #2 | 4083D-4084A | 4083F-4084C | |
Rainforest Rumble | Bonus #1 | 4089F-408AC | 408A1-408AE |
Bonus #2 | 408AD-408BA | 408AF-408BC | |
Barrel Boulevard | Bonus #1 | 4090F-4091C | 40911-4091E |
Bonus #2 | 4091D-4092A | 4091F-4092C | |
Ghoulish Grotto | Bonus #1 | 4084B-40858 | 4084D-4085A |
Bonus #2 | 40859-40866 | 4085B-40868 |
Warps
This probably uses the same format as the bonus stages.
Level | Offset | |
---|---|---|
English | Japanese | |
Red Wharf | 405E3-405F0 | 405E5-405F2 |
Seabed Shanty | 406B5-406C2 | 406B7-406C4 |
Ford Knocks | 405F1-405FE | 405F3-40600 |
Total Rekoil | 4056F-4057C | 40571-4057E |
Koco Channel | 40653-40660 | 40655-40662 |
Liftshaft Lottery | 4057D-4058A | 4057F-4058C |
Cheat Codes
Data | English | Japanese |
---|---|---|
Cheat code info | 141B8-141CA | 8EE86-8EE98 |
Pointers for cheat codes | 14188 | 8EE53 |
1418E | 8EE59 | |
14194 | 8EE5F |
- Format works like this:
- First byte indicates the number of button presses, excluding Right.
- Subsequent bytes indicate the button presses:
- 0x80 (bit 7) = Start
- 0x40 (bit 6) = Select
- 0x20 (bit 5) = B
- 0x10 (bit 4) = A
- 0x08 (bit 3) = Down
- 0x04 (bit 2) = Up
- 0x02 (bit 1) = Left
- 0x01 (bit 0) = Right
- These button presses, excluding Right, are stored in RAM, starting at 0xD100.
- Last byte indicates which bit(s) are set to 1. The use of a bitflag allows multiple cheats to be used at once since they can be ORed together. Note that only the three least significant bits are used:
- 0x01 (bit 0) = Play the card game after the title screen
- 0x02 (bit 1) = Have 50 lives when starting the game
- 0x04 (bit 2) = Unlock all levels except the Lost World.
- This gets ORed with whatever value is in 0xFFF9 in RAM (which starts out at 0). (In the Japanese version, the RAM address is 0xFFF8 instead.)
- In each cheat code, each button sequence must be followed by Right. Pressing Right in the middle of a sequence does not affect anything.
Time Attack
Data | English | Japanese |
---|---|---|
Required times to beat | 15A46-15A69 | 1613F-16162 |
Levels | 15874-1587F | 16047-16052 |
ASM Code
Data | English | Japanese |
---|---|---|
Print level types (e.g. Stilt), Re-enter game, Last time on screen | 15880-158A2 | 7D7D6-7D803 |
Load Time Attack records from SRAM, then print them | 158A3-158DC | 16053-1608C |
Print most recent time on bottom-right of screen | 158DD-15901 | N/A |
Print ! on screen for cleared times | 15902-15930 | 1608D-160BB |
Generate two-digit number (seconds, 1/100 seconds) | 15931-15950 | 160BC-160DB |
Load data in SRAM based on save file | 15B94-15BA4 | 16294-162A4 |
World Map Animations
Function Caller
Data | English | Japanese |
---|---|---|
Bank for map animation ASM code | 1278 | 125E |
Pointer for map animation ASM code (little endian) | 127D-127E | 1263-1264 |
ASM Code
English version
- 1641A-16701 = ASM code to animate maps
- 1641A-1641B = Get current world
- 1641C-16427 = Get proper pointer to jump to based on world, then jump
- 16428-16435 = Jump pointer table (big endian)
- 165DF-165E1 = Northern Kremisphere map animation
- 16436-164C5 = Cape Codswallop map animation
- 164C6-16572 = Primate Plains map animation
- 16573-165BA = Blackforest Plateau map animation
- 165BB-165DE = Great Ape Lakes map animation
- 165FA-1661A = Tin Can Valley map animation
- 165E2-165F9 = The Lost World map animation
- 1643F-16481 = Mill animation (Cape Codswallop)
- 16511-15648 = Mill animation (Primate Plains)
- 1661B-16646 = Water animation
- 16647-16681 = Waterfall animation
- 166A7-166D8 = Sheepy Shop animation (most maps, except for Primate Plains and Blackforest Plateau)
- 166D9-16701 = Factory smoke animation
- 16682-166A6 = Wrinkly Refuge animation (most maps, including Blackforest Plateau, Great Ape Lakes, Tin Can Valley, and The Lost World)
Japanese version
- 14910 = Dummied ASM code to animate maps (only consists of a single "ret" instruction), thus removing animated maps
Map animations can be restored by porting the code from the GB version, and changing the function pointer so that when it is called, the function is in a different part of the ROM.
For example, in the English and Spanish fan translations, which restore the map animations, 125E is changed to 25, and 1263-1264 is changed to 00 40, placing the new function at 94000.
Level Maps
Pointer Table
Pointer format works as follows:
- First byte contains the ROM bank.
- Last two bytes contain the RAM address. This is stored in big endian.
See this page for more information.
Offset | ||
---|---|---|
English | Japanese | |
Levels | 40963-409E0 | 40965-409E2 |
Bonus stages | 409E1-40AB8 | 409E3-40ABA |
Warps | 40AB9-40ACA | 40ABB-40ACC |
Levels
Level | Offset | |||
---|---|---|---|---|
English Prototype | English v1.0 | English v1.1 | Japanese | |
Red Wharf | 5C001 | |||
Seabed Shanty | 58001 | |||
Ford Knocks | 5C3E0 | |||
Total Rekoil | 5A456 | 5A457 | ||
Koco Channel | 6A259 | 6A25F | ||
Liftshaft Lottery | 5A886 | 5A88E | ||
Barbos Bastion | 5A422 | 5A423 | ||
Coral Quarrel | 58C01 | 58C02 | ||
Minky Mischief | 5DE5C | 5DE56 | ||
Jetty Jitters | 5C97A | 5C975 | ||
Black Ice Blitz | 5CE75 | 5CE70 | ||
Riverbank Riot | 5BAFC | 5BB0D | ||
Miller Instinct | 5AE89 | 5AE93 | ||
Bleak Magic | 6BDA9 | 6BD9D | ||
Rocketeer Rally | 60001 | |||
Vertigo Verge | 68D39 | 68D38 | ||
Polar Pitfalls | 5D45C | 5D457 | ||
Surface Tension | 69ED5 | 69EDB | ||
Tundra Blunda | 5DA05 | 5D9FF | ||
Redwood Rampage | 5E486 | 5E487 | 5E4A0 | |
Arich Attack | 5E936 | 5E939 | 5E952 | |
Jungle Jeopardy | 5E961 | 5E964 | 5E97D | |
Footloose Falls | 6228B | 6225E | ||
Deep Reef Grief | 5979B | 5979C | ||
Karbine Kaos | 6A5F1 | 6A5F7 | ||
Simian Shimmy | 62FCC | 62FA2 | ||
Rockface Chase | 69266 | 69265 | ||
Krazy Kaos | 6BD6A | 6BD5E | ||
Tropical Tightropes | 5EE01 | 5EE04 | 5EE1D | |
Clifftop Critters | 6986D | 69873 | ||
Rickety Rapids | 6279B | 62775 | ||
Bazuka Bombard | 6B174 | 6B182 | ||
Ugly Ducting | 43988 | 439B8 | 43A08 | |
Stalagmite Frights | 63864 | 63863 | ||
K. Rool Duel | 6BDDB | 6BDCF | ||
Whiplash Dash | 5FC08 | 5FC0B | 5FC24 | |
Kuchuka Karnage | 6AB56 | 6AB67 | ||
Haunted Hollows | 68001 | |||
Rainforest Rumble | 5F2A0 | 5F2A1 | 5F2BA | |
Barrel Boulevard | 5B31C | 5B328 | ||
Ghoulish Grotto | 685AB | 685AA | ||
K. Rool's Last Stand | 6BE18 | 6BE0C |
Bonus Stages
Level | Offset | ||||
---|---|---|---|---|---|
English Prototype | English v1.0 | English v1.1 | Japanese | ||
Red Wharf | Bonus #1 | 61442 | 61445 | ||
Bonus #2 | 614EA | 614ED | |||
Seabed Shanty | Bonus #1 | 6046D | |||
Bonus #2 | 6054D | ||||
Ford Knocks | Bonus #1 | 61570 | 61573 | ||
Bonus #2 | 61610 | 61613 | |||
Total Rekoil | Bonus #1 | 60915 | |||
Bonus #2 | 6096E | 6096D | |||
Koco Channel | Bonus #1 | 60C44 | 60C43 | ||
Bonus #2 | 60D05 | 60D04 | |||
Liftshaft Lottery | Bonus #1 | 609E2 | 609E1 | ||
Bonus #2 | 60A6F | 60A6E | |||
Coral Quarrel | Bonus #1 | 60656 | |||
Bonus #2 | 606EC | ||||
Minky Mischief | Bonus #1 | 6184A | 61822 | ||
Bonus #2 | 618FE | 618D6 | |||
Jetty Jitters | Bonus #1 | 61683 | 6165A | ||
Bonus #2 | 61758 | 6172F | |||
Black Ice Blitz | Bonus #1 | 613AF | 613B2 | ||
Bonus #2 | 612DB | 612DE | |||
Riverbank Riot | Bonus #1 | 60DDF | 60DDE | ||
Bonus #2 | 60E71 | 60E70 | |||
Miller Instinct | Bonus #1 | 60B30 | 60B2F | ||
Bonus #2 | 60BFA | 60BF9 | |||
Rocketeer Rally | Bonus #1 | 62D19 | 62CF3 | ||
Bonus #2 | 62D9D | 62D77 | |||
Vertigo Verge | Bonus #1 | 61D65 | 61D3C | ||
Bonus #2 | 61DB9 | 61D8C | |||
Polar Pitfalls | Bonus #1 | 61011 | 61010 | ||
Bonus #2 | 610B9 | 610B8 | |||
Surface Tension | Bonus #1 | 60EFD | 60EFC | ||
Bonus #2 | 60F64 | 60F63 | |||
Tundra Blunda | Bonus #1 | 61180 | 61183 | ||
Bonus #2 | 61214 | 61217 | |||
Redwood Rampage | Bonus #1 | 619E4 | 619BC | ||
Bonus #2 | 61AAD | 61A84 | |||
Jungle Jeopardy | Bonus #1 | 5F6A3 | 5F6A4 | 5F6BD | |
Bonus #2 | 5F746 | 5F747 | 5F760 | ||
Footloose Falls | Bonus #1 | 62E03 | 62DDD | ||
Bonus #2 | 62E8C | 62E62 | |||
Deep Reef Grief | Bonus #1 | 607A2 | |||
Bonus #2 | 60861 | ||||
Karbine Kaos | Bonus #1 | 6B86A | 6B85B | ||
Bonus #2 | 6B8E0 | 6B8D1 | |||
Simian Shimmy | Bonus #1 | 61B84 | 61B5B | ||
Bonus #2 | 61C42 | 61C19 | |||
Rockface Chase | Bonus #1 | 61E6B | 61E3E | ||
Bonus #2 | 61F4F | 61F22 | |||
Tropical Tightropes | Bonus #1 | 5F7CF | 5F7D0 | 5F7E9 | |
Bonus #2 | 5F85F | 5F860 | 5F879 | ||
Clifftop Critters | Bonus #1 | 61FF5 | 61FC8 | ||
Bonus #2 | 62055 | 62028 | |||
Rickety Rapids | Bonus #1 | 62EDD | 62EB3 | ||
Bonus #2 | 62F5A | 62F30 | |||
Bazuka Bombard | Bonus #1 | 6B952 | 6B943 | ||
Bonus #2 | 6B9FD | 6B9EE | |||
Ugly Ducting | Bonus #1 | 5FA41 | 5FA42 | 5FA5B | |
Bonus #2 | 5FAED | 5FAEE | 5FB07 | ||
Stalagmite Frights | Bonus #1 | 633C7 | 633A5 | ||
Bonus #2 | 6347F | 6345D | |||
Whiplash Dash | Bonus #1 | 5FB58 | 5FB5B | 5FB74 | |
Bonus #2 | 5FB8D | 5FB90 | 5FBA9 | ||
Kuchuka Karnage | Bonus #1 | 6BAE2 | 6BAD6 | ||
Bonus #2 | 6BB7B | 6BB6F | |||
Haunted Hollows | Bonus #1 | 6357D | 6355A | ||
Bonus #2 | 63620 | 635FD | |||
Rainforest Rumble | Bonus #1 | 5F8DE | 5F8DF | 5F8F8 | |
Bonus #2 | 5F989 | 5F98A | 5F9A3 | ||
Barrel Boulevard | Bonus #1 | 6BC46 | 6BC3A | ||
Bonus #2 | 6BCD0 | 6BCC4 | |||
Ghoulish Grotto | Bonus #1 | 63724 | 63723 | ||
Bonus #2 | 637E6 | 637E5 |
Warps
Level | Offset | |
---|---|---|
English Prototype | English v1.0 / v1.1 / Japanese | |
Red Wharf | 621F9 | 621CC |
Seabed Shanty | 620E2 | 620B5 |
Ford Knocks | 62237 | 6220A |
Total Rekoil | 6214E | 62121 |
Koco Channel | 621DA | 621AD |
Liftshaft Lottery | 6218C | 6215F |
Level Data Master Pointer Table
All pointers here are big endian.
- 40001 - Level header data
- 40003 - Level map data
- 40005 - Level tile data
- 40007 - Level metatile data, tile properties
- 40009 - Sprite pointer
- 4000B - Level sprite table
- 4000D - Bonus level/warp header data
- 4000F - Bonus level/warp sprite table
- 40011 - Level palettes (Japanese version)
Text
English version
...
Japanese version
Pointers
Unless otherwise mentioned, pointers point to bank 1F (corresponds to 7C000-7FFFF in ROM).
Address(es) | Text | Format/endianness | Notes |
---|---|---|---|
A8DC-A953 | Level and world names | Big endian | Order of pointers: Levels for each world, includes Sheepy Shop and Wrinkly Refuge where necessary, then last six pointers determine the world names |
B0E1-B0F8 | Bear (part 1) | Number of lines (1 byte), big endian pointer (2 bytes) | |
B111-B134 | Bear (part 2) | ||
B13D-B154 | Bear (part 3) | ||
B15D-B162 | Bear (part 4) | ||
B203-B208 | K. Rool (part 1, when defeated for final time) | Number of lines (1 byte), big endian pointer (2 bytes) | |
B218-B21A | Wrinkly (part 1) | Number of lines (1 byte), big endian pointer (2 bytes) | |
B223-B22B | Wrinkly (part 2) | ||
F705-F706, F710-F711, F719-F71A, F728-F729 | K. Rool (part 2, when entering Lost World or K. Rool's Last Stand) | Little endian | |
162EF-162F0 | Trophy screen | Little endian | |
15F43-15F44 | Time Attack | Little endian | |
16875-16876 | Bash the Baddies! | Little endian | |
168B4-168B5 | Collect the Stars! | ||
168F2-168F3 | Find the Token! | ||
16993-16994 | Delete game confirmation | Little endian | |
14337-14338 | Cast list | Little endian | Points to bank 5 (corresponds to 14000-17FFF in ROM) |
14199-1419A | Credits | Little endian | Points to bank 5 (corresponds to 14000-17FFF in ROM) |
F574-F579 | Text on bottom of file select screen | Big endian (2 bytes each) | Points to bank 3 (corresponds to C000-FFFF in ROM) |
Strings
Note that these addresses are from the Japanese version. Fan translations obviously use different addresses due to differing string lengths.
Level & World Names
Format:
- Array of bytes that read the proper tiles in VRAM (where the tiles are defined in the next section). For example, 00 will read the first character tile, 01 will read the second, etc. Generally, this is in sequential order, but since this format is designed to load as few tiles in VRAM as necessary, it may read an earlier tile if that kana/letter appeared earlier in the string.
- FF indicates a new line.
- FE indicates the end of the array.
- Next, the character (i.e. kana, letters, kanji, etc.) table is loaded into VRAM (starting at 8DF0). This is basically a string of kana, etc.
- FF indicates the end of the string.
Addresses:
- 7D804-7D814 = Sheepy Shop
- 7D815-7D82A = Wrinkly Refuge
- 7D82B-7D83B = Red Wharf
- 7D83C-7D84A = Seabed Shanty
- 7D84B-7D85D = Ford Knocks
- 7D85E-7D86F = Total Rekoil
- 7D870-7D87D = Koco Channel
- 7D87E-7D88E = Liftshaft Lottery
- 7D88F-7D8AB = Barbos Bastion
- 7D8AC-7D8B8 = Coral Quarrel
- 7D8B9-7D8CD = Minky Mischief
- 7D8CE-7D8DE = Jetty Jitters
- 7D8DF-7D8F9 = Black Ice Blitz
- 7D8FA-7D90C = Riverbank Riot
- 7D90D-7D927 = Miller Instinct
- 7D928-7D942 = Bleak Magic
- 7D943-7D955 = Rocketeer Rally
- 7D956-7D96A = Vertigo Verge
- 7D96B-7D97F = Polar Pitfalls
- 7D980-7D994 = Surface Tension
- 7D995-7D9A5 = Tundra Blunda
- 7D9A6-7D9BE = Redwood Rampage
- 7D9BF-7D9D3 = Arich Attack
- 7D9D4-7D9E8 = Jungle Jeopardy
- 7D9E9-7D9FB = Footloose Falls
- 7D9FC-7DA08 = Deep Reef Grief
- 7DA09-7DA25 = Karbine Kaos
- 7DA26-7DA3A = Simian Shimmy
- 7DA3B-7DA53 = Rockface Chase
- 7DA54-7DA70 = Krazy KAOS
- 7DA71-7DA89 = Tropical Tightropes
- 7DA8A-7DAA4 = Clifftop Critters
- 7DAA5-7DAB9 = Rickety Rapids
- 7DABA-7DACC = Bazuka Bombard
- 7DACD-7DAE3 = Ugly Ducting
- 7DAE4-7DAFA = Stalagmite Frights
- 7DAFB-7DB11 = K. Rool Duel
- 7DB12-7DB24 = Whiplash Dash
- 7DB25-7DB3D = Kuchuka Karnage
- 7DB3E-7DB5A = Haunted Hollows
- 7DB5B-7DB6D = Rainforest Rumble
- 7DB6E-7DB7D = Barrel Boulevard
- 7DB7E-7DB90 = Ghoulish Grotto
- 7DB91-7DBAF = K. Rool's Last Stand
- 7DBB0-7DBC6 = Cape Codswallop
- 7DBC7-7DBDB = Primate Plains
- 7DBDC-7DBEE = Blackforest Plateau
- 7DBEF-7DC01 = Great Ape Lakes
- 7DC02-7DC14 = Tin Can Valley
- 7DC15-7DC25 = The Lost World
Other
Offset | Text | Format |
---|---|---|
7DC26-7E222 | Bear | Same as level/world format, except tiles get loaded into VRAM starting at 8B40. Notice that before the array terminator FE, the ROM inserts a newline FF right before. However, this is not only unnecessary, but it also causes a bug where tile FE (part of a DK Coin graphic) appears for a split second before the actual text does. |
7E223-7E297 | K. Rool (when defeated) | Same as level/world format, except tiles get loaded into VRAM starting at 8CC0. Also contains the same bug present from Bear's dialogue. |
7E298-7E330 | Wrinkly | Same as level/world format, except tiles get loaded into VRAM starting at 8C20. Also contains the same bug present from Bear's dialogue. |
7E331-7E4C2 | K. Rool (when entering Lost World or K. Rool's Last Stand) | Format is in reverse order of level format. That is, the array that loads the characters (e.g. kana) into VRAM (this time, starting at 8800) appears first. Then, the table that uses the correct tiles is second. Also, in this table, 80 must be added, since the code that loads these screens does not do this automatically. For example, 80 will result in printing the first kana that appears in VRAM, 81 prints the second, etc. |
7E4C3-7E4E3 | Trophy | Similar to K. Rool format when entering the Lost World. However, the characters are loaded into VRAM starting at 9600. Also, in the array of tiles, instead of adding 80, 60 must be added to print the correct tile. |
7E4E4-7E549 | Time Attack | Similar to K. Rool format when entering the Lost World. However, the characters are loaded into VRAM starting at 9300. Also, in the array of tiles, instead of adding 80, 30 must be added to print the correct tile. |
7E54A-7E564 | Bash the Baddies! | Same as level/world format, except tiles get loaded into VRAM starting at 8A00. |
7E565-7E579 | Collect the Stars! | |
7E57A-7E58E | Find the Token! | |
7E58F-7E5B7 | Delete game confirmation | Similar to K. Rool format when entering the Lost World. However, the characters are loaded into VRAM starting at 9000. Also, in the array of tiles, nothing needs to be added to print the correct tile. Finally, the first tile (from 9000-9010 in VRAM) will fill up the screen, excluding the text string, so it should always be a space here. |
147A8-1490F | Cast list | All characters (kana, etc.) are loaded into VRAM, so this format is simply a traditional text string, reading the tiles one at a time. There are also various control codes between each enemy/NPC name whose format has yet to be determined. |
14442-147A7 | Credits | Mostly ASCII format, but a character conversion table exists elsewhere (at 68C) to convert punctuation marks properly (since it's different from the ASCII format here). Due to the small size of the conversion table, there is no room to allow lowercase letters properly. |
F57A-F588 | Select game text (file select screen) | Uses kana that appear starting at 92E0 in VRAM. In the Japanese version, any byte 80 or greater (typically FF) will terminate the string. |
F589-F597 | Delete game text (file select screen) | |
F598-F5A6 | Game saved text (file select screen) |
Positioning
VRAM pointers
Generally, these are pointers that determine where the text starts in VRAM, and the pointers are little endian. For example, in the bonus screens in the Japanese version, at 16907, the byte string is 04 9A, which, when adjusted for endianness, is 9A04. Changing this value will shift the text in the following ways:
- +01 = Shift right
- +20 = Shift down
- -01 = Shift left
- -20 = Shift up
ROM Addresses:
- 16907-16908 = Position of text on bonus screens
- 9F5E-9F5F = Position of text for level and world names
- Note: While changing this value will shift the text accordingly, keep in mind that when shifting to the right, the spaces left behind are uninitialized. For example, when exiting a level, the game will print glitchy tiles to the left of the level name since they were originally heart icons. A better way to work around this is to keep this value unmodified, but then write custom code set a to 00, then use the ldi a,(hl) instruction to set the first few tiles to 00 to create blank spaces.
- F56A-F56B = Position of text on file select screen
- 15F49-15F4A = Position of text on Time Attack screen (first line)
- 15F4C = Number of padded spaces on subsequent lines
- 162F5-162F6 = Position of text on trophy screen (first line)
- 162F8 = Number of padded spaces on subsequent lines
- 9FB2-9FB3 = Top half of ! icon on map screen
- 9FB8-9FB9 = Bottom half of ! icon on map screen
- 9FC3-9FC4 = Top half of DK Coin icon on map screen
- 9FCA-9FCB = Bottom half of DK Coin icon on map screen
Fonts
- 7E700-7F43F = Main character table
- 7CBF4-7CF24 = Alternate character table, used in credits and Time Attack
- B635-B6E4 = Numerical tiles, used in some Bear dialogue
Demos
Format is: Button combination, length.
For button combinations:
- 0x80 (bit 7) = Down
- 0x40 (bit 6) = Up
- 0x20 (bit 5) = Left
- 0x10 (bit 4) = Right
- 0x08 (bit 3) = Start
- 0x04 (bit 2) = Select
- 0x02 (bit 1) = B
- 0x01 (bit 0) = A
Demo data
Data | English | Japanese |
---|---|---|
Jetty Jitters | ??? | 53014-53133 |
Rickety Rapids* | ??? | 53134-5319B |
Whiplash Dash* | ??? | 53361-53384 |
Deep Reef Grief* | ??? | 53405-537B5 |
*Note: Could possibly be longer, but demo cuts short due to glitch
Pointers
Data | English | Japanese |
---|---|---|
Levels | ??? | 8EE26-8EE29 |
Pointers to button sequences (big endian) | ??? | 8EE2A-8EE31 |
Internal Data for Donkey Kong Land III
| |
---|---|