The current URL is datacrystal.tcrf.net.
Donkey Kong Land III/Notes
The following article is a Notes Page for Donkey Kong Land III.
Japanese Version
All color palettes, such as the sprite color palettes (0x0001BE60-0x0001BE67) and the level color palettes (0x00084FFB-0x000852FA) have four different colors (eight bytes) each and each color is a 15-bit value: 5 bits for blue, 5 bits for green, and 5 for red, in that order. Since each color has two bytes and there are 16 bits in two bytes, the first bit is unused. The bits for each color are then translated into a four-digit hex value, and the first two hex digits and the last two are switched because all Game Boy variants are little endian. Sprite palettes are constant and never change at all in the game, so each sprite can have one of eight different color palettes.
All sprite color values, from 0x0001BEA0-0x0001BF1E (?), is assigned a 3-bit value from 00-07. This number corresponds to the palette defined in the Sprite Color Palettes section (from 0x0001BE60-0x0001BE9F). Any number 08 or higher will cause the sprite to be invisible, which isn't used at all.
Most playable characters have different colors for various animations (such as jumping or swimming), especially Dixie and Kiddy (however, Ellie also has three and Squitter has two). Therefore, if you change the color of a character, it is important to change the color for every byte that relates to that character, otherwise a character can change color depending on his/her action.
When Kobble is defeated, his color becomes that of Skidda's. Therefore, if you make Skidda a different color from Kobble (Kobble's color is located in 0x0001BEA1, Skidda's is 0x0001BEA4), Kobble will turn into a different color when he is defeated.
For some reason, when trying to edit the color palette for cave levels (0x000851FB-0x0008523A), it completely screws up when playing the level Haunted Hollows (except the bonus stages in that level). It is likely because it is the only cave level with water in it. The same problem occurs with Ugly Ducting when trying to edit the color palette for tube levels.
(todo: add screenshots)
Level Header Data
This is the level header data, which controls different aspects of each level. In the English version, this data is located in 0x40065-0x4047E, and in the Japanese version, this data is located in 0x40067-0x40480. In both versions, level headers have an array of $19 (25) bytes and is as follows: aa bb cc dd ee ff gg hh ii jj kk ll mm nn oo pp qq rr ss tt uu vv ww xx yy aa = Determines the level map that is used. bb = Tileset pointer? cc = Sprite pointer? dd = Level properties. This determines water visibility, starting direction, and traction. Only bits 6, 3, and 0 have properties. Bit 6 = Water visibility. If this bit is 1, then water will be darkened. If this bit is 0, then it will be clear. Note: In the Game Boy Color version, this bit only has an effect on Tube and Cave stages, where it uses a raster effect to darken the palette during the middle of a frame using scanlines. Even if this bit is set as 1 on any other type of stage, the water will still be clear. Bit 3 = Starting direction. If this bit is 0, then Dixie/Kiddy will start the level facing right. If this bit is 1, then Dixie/Kiddy will face left at the beginning of the level. Bit 0 = Traction. If this bit is 0, then the level will not be slippery. If it is 1, then it will be slippery (like in snow stages). ee = The music used in the level. See this for index numbers. After entering a level at least once, a flag is set so that when entering a level again (this affects bonus levels as well), the music played will be this value added by $14. This makes it so that you will hear slightly shortened music after this. For example, if this byte is $0B (Stilt Village) and you have been to at least one level, you will hear $1F (the same music, but shorter) instead. This flag resets when turning the game off. ff = Water level. A lower value means the water will be higher up. If this value is 00, then the whole level will be submerged. Increasing the value by 01 will lower the water by 32 pixels. gg = This determines the precipitation. 00 = Snow 01 = Rain FF = Nothing Note: If a level has water in it, the bubbles floating from the water will cause sprite overload and cause precipitation to not show up properly, even if the bubbles are offscreen. hh = X position from start, in increments of 32 pixels. ii = Y position from start, in increments of 32 pixels. jj = X position from Star Barrel, in increments of 32 pixels. kk = Y position from Star Barrel, in increments of 32 pixels. ll = X position from Bonus Barrel #1, in increments of 32 pixels. mm = Y position from Bonus Barrel #1, in increments of 32 pixels. nn = X position from Bonus Barrel #2, in increments of 32 pixels. oo = Y position from Bonus Barrel #2, in increments of 32 pixels. pp = X position from Warp Barrel, in increments of 32 pixels. qq = Y position from Warp Barrel, in increments of 32 pixels. rr = Bonus #1 map. ss = Bonus #2 map. tt = Warp map. uu = ??? (This is either 00 or 01) vv = ??? (This is either 00 or 01) ww = ??? (This is either 00 or 01) xx = If both this and byte yy is 00, then you will get an instant death upon entering the level. The purpose of this byte besides this is unknown. yy = If both this and byte xx is 00, then you will get an instant death upon entering the level. The purpose of this byte besides this is unknown. The levels in this group of data are ordered as follows: Total Rekoil Liftshaft Lottery Miller Instinct Black Ice Blitz Polar Pitfalls Tundra Blunda Bleak Magic Red Wharf Ford Knocks Jetty Jitters Koco Channel Riverbank Riot Surface Tension Seabed Shanty Coral Quarrel Deep Reef Grief Barbos Bastion Minky Mischief Redwood Rampage Simian Shimmy Arich Attack Vertigo Verge Rockface Chase Clifftop Critters Rocketeer Rally Footloose Falls Rickety Rapids Stalagmite Frights Haunted Hollows Ghoulish Grotto K. Rool's Last Stand Jungle Jeopardy Tropical Tightropes Rainforest Rumble Karbine Kaos Bazuka Bombard Kuchuka Karnage Barrel Boulevard Krazy Kaos Ugly Ducting Whiplash Dash K. Rool Duel
Music Index Numbers
Here are index numbers for the music in the game.
00 - (Silence) 01 - (Silence) 02 - Dixie Beat 03 - Crazy Calypso 04 - Northern Kremisphere 05 - Brothers Bear 06 - Bonus Time (screen) 07 - Bonus Time (stage) 08 - Bonus Win 09 - Bonus Lose 0A - (Silence) 0B - Stilt Village 0C - Enchanted Riverbank 0D - Nuts & Bolts 0E - Treetop Tumble 0F - Rockface Rumble 10 - Water World 11 - Mill Fever 12 - Hot Pursuit 13 - Jungle Jitter 14 - Rocket Run (Unused theme!) 15 - Cascade Capers 16 - Cavern Caprice 17 - (Silence) 18 - (Silence) 19 - Death 1A - Level Complete 1B - Big Boss Blues 1C - Wrinkly Refuge 1D - Baddies on Parade 1E - Game Over 1F-2A is the same as 0B-16, but with shorter beginnings. 2F is the same as 1B.