Donkey Kong Land III/ROM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
No edit summary
No edit summary
Line 152: Line 152:
*** In each cheat code, each button sequence must be followed by Right. Pressing Right in the middle of a sequence does not affect anything.
*** 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.
** 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 ==
== Japanese Version ==
Line 421: Line 451:
**** 0x02 (bit 1) = Have 50 lives when starting the game
**** 0x02 (bit 1) = Have 50 lives when starting the game
**** 0x04 (bit 2) = Unlock all levels except the Lost World.
**** 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).
**** 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.
*** 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.
** Pointers for these cheat codes are found at 0x8EE53, 0x8EE59, and 0x8EE5F in ROM.
Line 427: Line 457:
=== Time Attack ===
=== Time Attack ===
* <tt>161EF-16162</tt> = Required times to beat
* <tt>161EF-16162</tt> = Required times to beat
=== World Map Animations ===
==== Function Caller ====
* <tt>125E</tt> = Bank for map animation ASM code
* <tt>1263-1264</tt> = Pointer for map animation ASM code (little endian)
==== ASM Code ====
* <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.

Revision as of 18:52, 2 December 2012

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

English Version

Color Palettes

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

Level Header Data

See this page for more information on this.

  • 40065-4047E - Level Headers
    • 40065-4007D - Total Rekoil
    • 4007E-40096 - Liftshaft Lottery
    • 40097-400AF - Miller Instinct
    • 400B0-400C8 - Black Ice Blitz
    • 400C9-400E1 - Polar Pitfalls
    • 400E2-400FA - Tundra Blunda
    • 400FB-40113 - Bleak Magic
    • 40114-4012C - Red Wharf
    • 4012D-40145 - Ford Knocks
    • 40146-4015E - Jetty Jitters
    • 4015F-40177 - Koco Channel
    • 40178-40190 - Riverbank Riot
    • 40191-401A9 - Surface Tension
    • 401AA-401C2 - Seabed Shanty
    • 401C3-401DB - Coral Quarrel
    • 401DC-401F4 - Deep Reef Grief
    • 401F5-4020D - Barbos Bastion
    • 4020E-40226 - Minky Mischief
    • 40227-4023F - Redwood Rampage
    • 40240-40258 - Simian Shimmy
    • 40259-40271 - Arich Attack
    • 40272-4028A - Vertigo Verge
    • 4028B-402A3 - Rockface Chase
    • 402A4-402BC - Clifftop Critters
    • 402BD-402D5 - Rocketeer Rally
    • 402D6-402EE - Footloose Falls
    • 402EF-40307 - Rickety Rapids
    • 40308-40320 - Stalagmite Frights
    • 40321-40339 - Haunted Hollows
    • 4033A-40352 - Ghoulish Grotto
    • 40353-4036B - K. Rool's Last Stand
    • 4036C-40384 - Jungle Jeopardy
    • 40385-4039D - Tropical Tightropes
    • 4039E-403B6 - Rainforest Rumble
    • 403B7-403CF - Karbine Kaos
    • 403D0-403E8 - Bazuka Bombard
    • 403E9-40401 - Kuchuka Karnage
    • 40402-4041A - Barrel Boulevard
    • 4041B-40433 - Krazy Kaos
    • 40434-4044C - Ugly Ducting
    • 4044D-40465 - Whiplash Dash
    • 40466-4047E - K. Rool Duel

Cheat Codes

  • 141B8-141CA - Cheat code info
    • 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 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

  • 15A46-15A69 = Required times to beat

World Map Animations

Function Caller

  • 1278 = Bank for map animation ASM code
  • 127D-127E = Pointer for map animation ASM code (little endian)

ASM Code

  • 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

Color Values

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
    • 14F60, 14F64 - Shaded water palette for Haunted Hollows
  • 8523B-8527A - Jungle
  • 8527B-852BA - Machine
  • 852BB-852FA - Tube
    • 14F72, 14F76 - Shaded water palette for Ugly Ducting

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

See this page for more information on this.

  • 40067-40480 - Level Headers
    • 40067-4007F - Total Rekoil
    • 40080-40098 - Liftshaft Lottery
    • 40099-400B1 - Miller Instinct
    • 400B2-400CA - Black Ice Blitz
    • 400CB-400E3 - Polar Pitfalls
    • 400E4-400FC - Tundra Blunda
    • 400FD-40115 - Bleak Magic
    • 40116-4012E - Red Wharf
    • 4012F-40147 - Ford Knocks
    • 40148-40160 - Jetty Jitters
    • 40161-40179 - Koco Channel
    • 4017A-40192 - Riverbank Riot
    • 40193-401AB - Surface Tension
    • 401AC-401C4 - Seabed Shanty
    • 401C5-401DD - Coral Quarrel
    • 401DE-401F6 - Deep Reef Grief
    • 401F7-4020F - Barbos Bastion
    • 40210-40228 - Minky Mischief
    • 40229-40241 - Redwood Rampage
    • 40242-4025A - Simian Shimmy
    • 4025B-40273 - Arich Attack
    • 40274-4028C - Vertigo Verge
    • 4028D-402A5 - Rockface Chase
    • 402A6-402BE - Clifftop Critters
    • 402BF-402D7 - Rocketeer Rally
    • 402D8-402F0 - Footloose Falls
    • 402F1-40309 - Rickety Rapids
    • 4030A-40322 - Stalagmite Frights
    • 40323-4033B - Haunted Hollows
    • 4033C-40354 - Ghoulish Grotto
    • 40355-4036D - K. Rool's Last Stand
    • 4036E-40386 - Jungle Jeopardy
    • 40387-4039F - Tropical Tightropes
    • 403A0-403B8 - Rainforest Rumble
    • 403B9-403D1 - Karbine Kaos
    • 403D2-403EA - Bazuka Bombard
    • 403EB-40403 - Kuchuka Karnage
    • 40404-4041C - Barrel Boulevard
    • 4041D-40435 - Krazy Kaos
    • 40436-4044E - Ugly Ducting
    • 4044F-40467 - Whiplash Dash
    • 40468-40480 - K. Rool Duel

Cheat Codes

  • 8EE86-8EE98 - Cheat code info
    • 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. 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 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

  • 161EF-16162 = Required times to beat

World Map Animations

Function Caller

  • 125E = Bank for map animation ASM code
  • 1263-1264 = Pointer for map animation ASM code (little endian)

ASM Code

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