Donkey Kong Land III/ROM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
No edit summary
m (Xkeeper moved page Donkey Kong Land III:ROM map to Donkey Kong Land III/ROM map: normalize subpages and titles)
 
(22 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{rommap|game=Donkey Kong Land III}}
{{rommap|game=Donkey Kong Land III}}


== English Version ==
== Color Palettes ==
 
=== English Version ===
=== Color Palettes ===


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


=== Level Header Data ===
=== Japanese Version ===
 
See [[Donkey_Kong_Land_III:Notes#Level_Header_Data|this page]] for more information on this.
 
* <tt>40065-4047E</tt> - Level Headers
** <tt>40065-4007D</tt> - Total Rekoil
** <tt>4007E-40096</tt> - Liftshaft Lottery
** <tt>40097-400AF</tt> - Miller Instinct
** <tt>400B0-400C8</tt> - Black Ice Blitz
** <tt>400C9-400E1</tt> - Polar Pitfalls
** <tt>400E2-400FA</tt> - Tundra Blunda
** <tt>400FB-40113</tt> - Bleak Magic
** <tt>40114-4012C</tt> - Red Wharf
** <tt>4012D-40145</tt> - Ford Knocks
** <tt>40146-4015E</tt> - Jetty Jitters
** <tt>4015F-40177</tt> - Koco Channel
** <tt>40178-40190</tt> - Riverbank Riot
** <tt>40191-401A9</tt> - Surface Tension
** <tt>401AA-401C2</tt> - Seabed Shanty
** <tt>401C3-401DB</tt> - Coral Quarrel
** <tt>401DC-401F4</tt> - Deep Reef Grief
** <tt>401F5-4020D</tt> - Barbos Bastion
** <tt>4020E-40226</tt> - Minky Mischief
** <tt>40227-4023F</tt> - Redwood Rampage
** <tt>40240-40258</tt> - Simian Shimmy
** <tt>40259-40271</tt> - Arich Attack
** <tt>40272-4028A</tt> - Vertigo Verge
** <tt>4028B-402A3</tt> - Rockface Chase
** <tt>402A4-402BC</tt> - Clifftop Critters
** <tt>402BD-402D5</tt> - Rocketeer Rally
** <tt>402D6-402EE</tt> - Footloose Falls
** <tt>402EF-40307</tt> - Rickety Rapids
** <tt>40308-40320</tt> - Stalagmite Frights
** <tt>40321-40339</tt> - Haunted Hollows
** <tt>4033A-40352</tt> - Ghoulish Grotto
** <tt>40353-4036B</tt> - K. Rool's Last Stand
** <tt>4036C-40384</tt> - Jungle Jeopardy
** <tt>40385-4039D</tt> - Tropical Tightropes
** <tt>4039E-403B6</tt> - Rainforest Rumble
** <tt>403B7-403CF</tt> - Karbine Kaos
** <tt>403D0-403E8</tt> - Bazuka Bombard
** <tt>403E9-40401</tt> - Kuchuka Karnage
** <tt>40402-4041A</tt> - Barrel Boulevard
** <tt>4041B-40433</tt> - Krazy Kaos
** <tt>40434-4044C</tt> - Ugly Ducting
** <tt>4044D-40465</tt> - Whiplash Dash
** <tt>40466-4047E</tt> - K. Rool Duel
 
=== Cheat Codes ===
* <tt>141B8-141CA</tt> - Cheat code info
** 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 each cheat code, each button sequence must be followed by Right. Pressing Right in the middle of a sequence does not affect anything.
** Pointers for these cheat codes are found at 0x14188, 0x1418E, and 0x14194 in ROM.
 
=== Time Attack ===
* <tt>15A46-15A69</tt> = Required times to beat
 
=== World Map Animations ===
==== Function Caller ====
* <tt>1278</tt> = Bank for map animation ASM code
* <tt>127D-127E</tt> = Pointer for map animation ASM code (little endian)
 
==== ASM Code ====
* <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 ==
 
=== Color Values ===
 
==== 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 ===
== 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>40067-40480</tt> - Level Headers
* English level headers: <tt>40065-4047E</tt>
** <tt>40067-4007F</tt> - Total Rekoil
* Japanese level headers: <tt>40067-40480</tt>
** <tt>40080-40098</tt> - Liftshaft Lottery
 
** <tt>40099-400B1</tt> - Miller Instinct
{| class="wikitable" border="1"
** <tt>400B2-400CA</tt> - Black Ice Blitz
|-
** <tt>400CB-400E3</tt> - Polar Pitfalls
! Level !! English !! Japanese
** <tt>400E4-400FC</tt> - Tundra Blunda
|-
** <tt>400FD-40115</tt> - Bleak Magic
| Total Rekoil || <tt>40065-4007D</tt> || <tt>40067-4007F</tt>
** <tt>40116-4012E</tt> - Red Wharf
|-  
** <tt>4012F-40147</tt> - Ford Knocks
| Liftshaft Lottery || <tt>4007E-40096</tt> || <tt>40080-40098</tt>
** <tt>40148-40160</tt> - Jetty Jitters
|-  
** <tt>40161-40179</tt> - Koco Channel
| Miller Instinct || <tt>40097-400AF</tt> || <tt>40099-400B1</tt>
** <tt>4017A-40192</tt> - Riverbank Riot
|-  
** <tt>40193-401AB</tt> - Surface Tension
| Black Ice Blitz || <tt>400B0-400C8</tt> || <tt>400B2-400CA</tt>
** <tt>401AC-401C4</tt> - Seabed Shanty
|-  
** <tt>401C5-401DD</tt> - Coral Quarrel
| Polar Pitfalls || <tt>400C9-400E1</tt> || <tt>400CB-400E3</tt>
** <tt>401DE-401F6</tt> - Deep Reef Grief
|-  
** <tt>401F7-4020F</tt> - Barbos Bastion
| Tundra Blunda || <tt>400E2-400FA</tt> || <tt>400E4-400FC</tt>
** <tt>40210-40228</tt> - Minky Mischief
|-  
** <tt>40229-40241</tt> - Redwood Rampage
| Bleak Magic || <tt>400FB-40113</tt> || <tt>400FD-40115</tt>
** <tt>40242-4025A</tt> - Simian Shimmy
|-  
** <tt>4025B-40273</tt> - Arich Attack
| Red Wharf || <tt>40114-4012C</tt> || <tt>40116-4012E</tt>
** <tt>40274-4028C</tt> - Vertigo Verge
|-  
** <tt>4028D-402A5</tt> - Rockface Chase
| Ford Knocks || <tt>4012D-40145</tt> || <tt>4012F-40147</tt>
** <tt>402A6-402BE</tt> - Clifftop Critters
|-  
** <tt>402BF-402D7</tt> - Rocketeer Rally
| Jetty Jitters || <tt>40146-4015E</tt> || <tt>40148-40160</tt>
** <tt>402D8-402F0</tt> - Footloose Falls
|-  
** <tt>402F1-40309</tt> - Rickety Rapids
| Koco Channel || <tt>4015F-40177</tt> || <tt>40161-40179</tt>
** <tt>4030A-40322</tt> - Stalagmite Frights
|-  
** <tt>40323-4033B</tt> - Haunted Hollows
| Riverbank Riot || <tt>40178-40190</tt> || <tt>4017A-40192</tt>
** <tt>4033C-40354</tt> - Ghoulish Grotto
|-  
** <tt>40355-4036D</tt> - K. Rool's Last Stand
| Surface Tension || <tt>40191-401A9</tt> || <tt>40193-401AB</tt>
** <tt>4036E-40386</tt> - Jungle Jeopardy
|-  
** <tt>40387-4039F</tt> - Tropical Tightropes
| Seabed Shanty || <tt>401AA-401C2</tt> || <tt>401AC-401C4</tt>
** <tt>403A0-403B8</tt> - Rainforest Rumble
|-  
** <tt>403B9-403D1</tt> - Karbine Kaos
| Coral Quarrel || <tt>401C3-401DB</tt> || <tt>401C5-401DD</tt>
** <tt>403D2-403EA</tt> - Bazuka Bombard
|-  
** <tt>403EB-40403</tt> - Kuchuka Karnage
| Deep Reef Grief || <tt>401DC-401F4</tt> || <tt>401DE-401F6</tt>
** <tt>40404-4041C</tt> - Barrel Boulevard
|-  
** <tt>4041D-40435</tt> - Krazy Kaos
| Barbos Bastion || <tt>401F5-4020D</tt> || <tt>401F7-4020F</tt>
** <tt>40436-4044E</tt> - Ugly Ducting
|-  
** <tt>4044F-40467</tt> - Whiplash Dash
| Minky Mischief || <tt>4020E-40226</tt> || <tt>40210-40228</tt>
** <tt>40468-40480</tt> - K. Rool Duel
|-  
| 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>
 
{| 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.  


=== Cheat Codes ===
{| class="wikitable" border="1"
* <tt>8EE86-8EE98</tt> - Cheat code info
! rowspan="2" | Level !! colspan="2" | Offset
** Format works like this:
|-
*** First byte indicates the number of button presses, excluding Right.
! width="60" | English !! Japanese
*** Subsequent bytes indicate the button presses:
|-
**** <span style="color:#808080">0x80 (bit 7) = Start</span>
| Red Wharf || <tt>405E3-405F0</tt> || <tt>405E5-405F2</tt>
**** 0x40 (bit 6) = Select
|-
**** <span style="color:#808080">0x20 (bit 5) = B</span>
| Seabed Shanty || <tt>406B5-406C2</tt> || <tt>406B7-406C4</tt>
**** <span style="color:#808080">0x10 (bit 4) = A</span>
|-
**** 0x08 (bit 3) = Down
| Ford Knocks || <tt>405F1-405FE</tt> || <tt>405F3-40600</tt>
**** 0x04 (bit 2) = Up
|-
**** 0x02 (bit 1) = Left
| Total Rekoil || <tt>4056F-4057C</tt> || <tt>40571-4057E</tt>
**** <span style="color:#808080">0x01 (bit 0) = Right</span>
|-
**** These button presses, excluding Right, are stored in RAM, starting at 0xD100.
| Koco Channel || <tt>40653-40660</tt> || <tt>40655-40662</tt>
*** Last byte indicates which bit(s) are set. 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
| Liftshaft Lottery || <tt>4057D-4058A</tt> || <tt>4057F-4058C</tt>
**** 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 0xFFF8 in RAM (which starts out at 0).
*** In each cheat code, each button sequence must be followed by Right. Pressing Right in the middle of a sequence does not affect anything.
** Pointers for these cheat codes are found at 0x8EE53, 0x8EE59, and 0x8EE5F in ROM.


=== Time Attack ===
== Cheat Codes ==
* <tt>161EF-16162</tt> = Required times to beat
{| 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.


=== World Map Animations ===
== Time Attack ==
==== Function Caller ====
{| border="1" class="wikitable"
* <tt>125E</tt> = Bank for map animation ASM code
|-
* <tt>1263-1264</tt> = Pointer for map animation ASM code (little endian)
! 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 ====
=== 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 hack, which restores 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>.
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>.
 
== 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>
|}


=== Text ===
== 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>14336-14337</tt> || Cast list || Little endian || Points to bank <tt>5</tt> (corresponds to <tt>14000-17FFF</tt> in ROM)
|<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)
|}
|}
====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, <tt>00</tt> will read the first character tile, <tt>01</tt> 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.
** <tt>FF</tt> indicates a new line.
** <tt>FE</tt> indicates the end of the array.
* Next, the character (i.e. kana, letters, kanji, etc.) table is loaded into VRAM (starting at <tt>8DF0</tt>). This is basically a string of kana, etc.
** <tt>FF</tt> indicates the end of the string.
Addresses:
* <tt>7D804-7D814</tt> = Sheepy Shop
* <tt>7D815-7D82A</tt> = Wrinkly Refuge
* <tt>7D82B-7D83B</tt> = Red Wharf
* <tt>7D83C-7D84A</tt> = Seabed Shanty
* <tt>7D84B-7D85D</tt> = Ford Knocks
* <tt>7D85E-7D86F</tt> = Total Rekoil
* <tt>7D870-7D87D</tt> = Koco Channel
* <tt>7D87E-7D88E</tt> = Liftshaft Lottery
* <tt>7D88F-7D8AB</tt> = Barbos Bastion
* <tt>7D8AC-7D8B8</tt> = Coral Quarrel
* <tt>7D8B9-7D8CD</tt> = Minky Mischief
* <tt>7D8CE-7D8DE</tt> = Jetty Jitters
* <tt>7D8DF-7D8F9</tt> = Black Ice Blitz
* <tt>7D8FA-7D90C</tt> = Riverbank Riot
* <tt>7D90D-7D927</tt> = Miller Instinct
* <tt>7D928-7D942</tt> = Bleak Magic
* <tt>7D943-7D955</tt> = Rocketeer Rally
* <tt>7D956-7D96A</tt> = Vertigo Verge
* <tt>7D96B-7D97F</tt> = Polar Pitfalls
* <tt>7D980-7D994</tt> = Surface Tension
* <tt>7D995-7D9A5</tt> = Tundra Blunda
* <tt>7D9A6-7D9BE</tt> = Redwood Rampage
* <tt>7D9BF-7D9D3</tt> = Arich Attack
* <tt>7D9D4-7D9E8</tt> = Jungle Jeopardy
* <tt>7D9E9-7D9FB</tt> = Footloose Falls
* <tt>7D9FC-7DA08</tt> = Deep Reef Grief
* <tt>7DA09-7DA25</tt> = Karbine Kaos
* <tt>7DA26-7DA3A</tt> = Simian Shimmy
* <tt>7DA3B-7DA53</tt> = Rockface Chase
* <tt>7DA54-7DA70</tt> = Krazy KAOS
* <tt>7DA71-7DA89</tt> = Tropical Tightropes
* <tt>7DA8A-7DAA4</tt> = Clifftop Critters
* <tt>7DAA5-7DAB9</tt> = Rickety Rapids
* <tt>7DABA-7DACC</tt> = Bazuka Bombard
* <tt>7DACD-7DAE3</tt> = Ugly Ducting
* <tt>7DAE4-7DAFA</tt> = Stalagmite Frights
* <tt>7DAFB-7DB11</tt> = K. Rool Duel
* <tt>7DB12-7DB24</tt> = Whiplash Dash
* <tt>7DB25-7DB3D</tt> = Kuchuka Karnage
* <tt>7DB3E-7DB5A</tt> = Haunted Hollows
* <tt>7DB5B-7DB6D</tt> = Rainforest Rumble
* <tt>7DB6E-7DB7D</tt> = Barrel Boulevard
* <tt>7DB7E-7DB90</tt> = Ghoulish Grotto
* <tt>7DB91-7DBAF</tt> = K. Rool's Last Stand
* <tt>7DBB0-7DBC6</tt> = Cape Codswallop
* <tt>7DBC7-7DBDB</tt> = Primate Plains
* <tt>7DBDC-7DBEE</tt> = Blackforest Plateau
* <tt>7DBEF-7DC01</tt> = Great Ape Lakes
* <tt>7DC02-7DC14</tt> = Tin Can Valley
* <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 ====
===== 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>9F5E-9F5F</tt> = 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.
* <tt>F56A-F56B</tt> = Position of text on file select screen
* <tt>15F49-15F4A</tt> = Position of text on Time Attack screen (first line)
** <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

Chip tiny.png The following article is a ROM map for Donkey Kong Land III.

Color Palettes

English Version

Notes:

  1. This only applies when you are playing this game on a Super Game Boy.
  2. 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:

  1. All these bytes range from 00-07, depending on the sprite color palettes defined above.
  2. 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