🎊 Happy 2025, TCRF! 🎊
User:Trash Bandatcoot/Mario vs. Donkey Kong
This is a sub-page of User:Trash Bandatcoot.
(This page documents research done by Lunar. Most content featured here mentions the final US build.)
Contents
Prerelease doodoo
E3 2002
At the start of E3 2002, Nintendo revealed a game titled Donkey Kong Plus - stylised as Donkey Kong + on Nintendo's official website[1]. According to the game's fact sheet [2], the game would've been a remake of Donkey Kong '94, featuring over 100 levels, new moves for Mario, and new to this remake; a level editor with GameCube Link Cable functionality, with players being able to save levels to the Memory Card, transfer them to the Game Boy Advance and trade them with friends. No other info was shared, with the game being slated for a Q1 2003 release date as a Game Boy Advance game.
Two levels based on those from Donkey Kong '94 are known to have been playable at the E3 showfloor, with one monitor showing the game, and another demonstrating the Link Cable showing levels on the Game Boy Advance. The level editor was very simple. Pressing Up/Down on the C-Stick would've allowed the player to toggle between building materials, characters, special items and three required items, those being Mario, a key and a door to the exit. The A button allowed you to place the item, B to remove an item and Z to toggle a grid on the screen. Pressing Start/Pause would allow you to play your edited level either on the GameCube or the Game Boy Advance. During gameplay, the player gets to see what level they're in, the time represented by a counter and bar on the side, a score, lives and three collectibles that need to be collected. After completing the level, a screen would appear reading "GREAT! YOU WIN!" using updated artwork of Donkey Kong from Donkey Kong '94's title screen. A few graphics based on this early design for Mario are still present in the final game.
After E3, the game wasn't heard from again. Near the beginning of 2003, Nintendo updated their official website reading that no release date has been announced. Between E3 2002 and E3 2003, the game would be reworked into Mario vs. Donkey Kong as a standalone title for the Game Boy Advance. The only known screenshots of the game originate from IGN[3], with the only known footage being a 15 second snippit from Planet GameCube's E3 2002 "Shine Get" DVD[4].
E3 2003
Mario vs. Donkey Kong, then known as Mario and Donkey Kong, was first revealed when Nintendo sent out press kits to gaming news organisations. Nintendo didn't share any other details however[6], other than twelve screenshots.
General Differences
All that stuff goes here...
E3 2003 Showfloor
Reported by IGN[7] and David Dayton[8], the game was playable from a single Game Boy Advance on the E3 showfloor. No pictures or videos seem to exist.
According to IGN, the game was already close to being finished, aside from the lack of an interface before entering a level. Many of the things described in the article show up in the final game, though the plot synopsis is different.
"The game features a storyline where Mario opens up a toy factory manufacturing Mini Mario wind-up dolls. Donkey Kong feels left out since Mario never made a DK doll, so the monkey has infiltrated the factory and stolen many of the toys before hopping off deeper into the factory. It's up to Mario to traverse the hazards of his factory to grab the lost toys and head to the next part of the building."
In the final game, Donkey Kong is upset that all the Mini Mario's are sold out, and ends up robbing the Mario Toy Factory - which was already opened without an introduction - before Mario takes notice and goes after him. The idea for Donkey Kong to travel deeper into the factory was reused for World+.
E3 2004
To do: Check screenshots. E3 2004 b-roll appears to slightly predate the kiosk demo in terms of scores you get from collecting presents. |
Unused Levels
To do: annoy the hell out of Lunar until I get to know how to load these levels into the game. |
World 1
Early Boss #1
Offset: 0xB198F8
Early Boss #2
Offset: 0xB17390
World 3
Unknown Level #1
Offset: 0xB12ACC
Unknown Level #2
Offset: 0xB12EFC
Note: Level should be vertical but is denoted to be horizontal in its header.
Unknown Level #3
Offset: 0xB13344
Note: Level unbeatable due to the chain being too short. Possible leftover from Donkey Kong Plus with Mario's 16x16 size.
World 4
Unknown Level
Offset: 0xB15200
Early Boss
Offset: 0xB154C8
World 5
World 6 Level #1
Offset: 0xB18A08
World 6 Level #2
Offset: 0xB18D94
Card-e+
Early Hot Feet
Offset: 0x12684
Early Boo in a Box
Offset: 0xB145DC
Early The Thwamplet
Offset: 0xB149BC
Early A Tricky Candle
Offset: 0xB14EC8
Early Key to the Key
Offset: 0xB16004
Early Danger Flowers
Offset: 0xB1664C
Early Climb and Fall
Offset: 0xB183F4 & 0xB19368
Early Hitasura Kawase!
Offset: 0xB16BD0
Misc
B section of some level in some unknown world
Offset: 0xB170C8
Unused Objects / Graphics
To do:
|
All offsets apply to the US retail game.
Placeholder DK Mech Hand
Offset: 0x1CFAC0
Format: 8bpp
A crude placeholder graphic of DK's mech hand, found among graphics of the final boss. Unfortunately, no palette seems to exist anymore.
Placeholder Cage
Offset: 0x12E3A4
Format: 4bpp
Placeholder graphics for a cage, found among other general graphics.
Early Mario Graphics
These few graphics are scattered across the game, taking on a more standard sprite approach for the game's art style instead of pre-rendered graphics. The design for Mario seen here closely resembles that from what was seen in Donkey Kong Plus.
Offset: 0x457E40
Format: 8bpp
Mario stuck in a ball, found among other graphics for Mini Mario.
Offset: 0x5A10B0
Format: 4bpp
Two frames of Mario possibly grabbing something.
Offset: 0x5B18AC
Format: 4bpp
A single frame of Mario performing a backflip. When compared to the backflip animation from Donkey Kong (Game Boy), Mario's moves closely match that of the 6th backflip graphic.
Mario & Donkey Kong Running
Offset: 0x2F9184
Format: 4bpp
A full nine frame animation of Donkey Kong running away. Not only is this animation considerably smaller than any other animation with him, but he's also running away without his sack. No palette seems to exist unfortunately.
Offset: 0x2F9E54
Format: 4bpp
A similar twelve frame animation for Mario exists as well, also in a smaller format and lacking a proper palette.
Pause Menu Text
A few graphics from an earlier pause menu are leftover. The pause menu is in the same style, but the text is different.
Offset: 0x2EDE24 & 0x2EF194
Format: 4bpp
A restart option, which was retitled to "RETRY". This graphic is split up into two parts.
Offset: 0x2EDCF8 & 0x2EEF44
Format: 4bpp
A quit option, which was retitled to "EXIT LEVEL".
Offset: 0x2ED8C8 & 0x2EE704
Format: 4bpp
The most interesting however, is an edit option, leftover from the scrapped level editor.
Glass Ball Slot
Offset: 0x514094
Format: 4bpp
Much like keys, glass balls containing Mini Mario's were also intended to have a visible slot when they were picked up. Although the palette is no longer present, screenshots from E3 2003 do show what the graphic looked like in-game.
Early Boss Health Bar
To do: MvsDK graphic exists here too - duplicate? |
Offset: 0x2E911C
Format: 8bpp
An early health bar for the boss fights found among Mini Mario and barrel warnings, using a simple bar rather than displaying Mini Mario and Donkey Kong heads.
Unused Functionality
"Main" Level Select Button
To do: basically the menu button is selectable and functions when pressing A, but some palettes may be fucked |
Early Opening Cutscene
A bunch of assets and code for an alternate, early opening cutscene when starting a new save file exist in the game's data. This opening cutscene is more dummied down, featuring only a specific palette for each slide and dialog for all characters. Some parts of this cutscene were overwritten, including a couple of sound effects that were replaced with those from the opening cutscene, and a proper palette for the text, making the text hard to read.
To view this cutscene, change the first four values at offset 0x2D4C4 to 0CE9B208 in the game's US retail build. The cutscene will play when starting a new save file.
The dialog is as follows:
Character | Text |
---|---|
DK | GRRRROOOOOOWLLLL!! |
Gimmie all your toys!! | |
Toad | WAAAAAAAAAH! |
Mario | Whats going on? |
Toad | Donkey Kong stole all the mini marios!! |
Mario | I will get them back!! Here we go!! |
Notes
RAM Values
Level Editor
030008C8 (4 bytes) - Level Editor Cursor X Position 030008CC (4 bytes) - Level Editor Cursor Y Position 03000900 (4 bytes) - Level Editor Object Class 0 current object ID 03000904 (4 bytes) - Level Editor Object Class 1 current object ID 03000908 (4 bytes) - Level Editor Object Class 2 current object ID 0300090C (4 bytes) - Level Editor Object Class 3 current object ID 03000910 (4 bytes) - Level Editor Object Class 4 current object ID 03000914 (4 bytes) - Level Editor Object Class 5 current object ID 03000918 (4 bytes) - Level Editor Object Class 6 current object ID 0300091C (4 bytes) - Level Editor Object Class 7 current object ID 03000920 (4 bytes) - Level Editor Object Class 8 current object ID 03000924 (4 bytes) - ??? 03000928 (4 bytes) - Level Editor Object Class ID
Level Information
0300170C (2 bytes) - Currently playing level height in pixels 03001720 (2 bytes) - Currently playing level width in pixels 03000B54 (2 bytes) - Current level timer in frames
Level Data
Taken from https://github.com/LuigiBlood/eReaderTools/wiki/Mario-VS-Donkey-Kong-eWorld-Level-Data#level-data just modified to be the location in RAM.
02000000 (2 bytes) - Background horizontal shift in pixels 02000002 (2 bytes) - Background vertical shift in pixels 02000004 (2 bytes) - Level width in pixels 02000006 (2 bytes) - Level height in pixels 02000008 (2 bytes) - ??? (Lunar's note: seems to always copy the level height) 0200000A (2 bytes) - ??? 0200000C (???? bytes) - Object data
Object Data Format
Taken from https://github.com/LuigiBlood/eReaderTools/wiki/Mario-VS-Donkey-Kong-eWorld-Level-Data#object-data.
OOOO XX YY OOOO = Object ID XX = X position YY = Y position
Camera
03001710 (2 bytes) - Camera vertical offset in pixels 03001724 (2 bytes) - Sprite horizontal offset in pixels 03001730 (2 bytes) - Background layer 0 horizontal offset in pixels 03001732 (2 bytes) - Background layer 0 vertical offset in pixels 03001734 (2 bytes) - Background layer 1 horizontal offset in pixels 03001736 (2 bytes) - Background layer 1 vertical offset in pixels 03001738 (2 bytes) - Background layer 2 horizontal offset in pixels 0300173A (2 bytes) - Background layer 2 vertical offset in pixels 0300173C (2 bytes) - Background layer 3 horizontal offset in pixels 0300173C (2 bytes) - Background layer 3 vertical offset in pixels
Player / Mario
03003514 (4 bytes) - Mario's X position within the level (byte 1 is sub pixel, bytes 2-4 are pixel position) 03003518 (4 bytes) - Mario's Y position within the level (byte 1 is sub pixel, bytes 2-4 are pixel position) 0300351C (4 bytes) - Mirrors 03003514 03003520 (4 bytes) - Mirrors 03003518 03001984 (2 bytes) - Mario idle timer (goes up by 1 every frame mario is idle until it reaches 7FFF and then loops back to 0) 03003548 (4 bytes) - Mario Animation timer 03003570 - Mirrors mario's vertical pixel position 03003571 - Mario sprite properties (0x20 is normal, 0x24 is transparent, resets back to 20 upon moving) 03003572 - Mirrors mario's horizontal pixel position 03003573 - Mario Facing direction (0x80 is facing left, 0x90 is facing right, unintended ones following here 0xA0 is upside down facing left, 0xB0 is upside down facing right, resets to normal when you move) 03003524 (2 bytes) - Marios horizontal momentum 03003526 (2 bytes) - Mario's vertical momentum
Misc
030009C4 - Current game mode 030009E8 - Level timer on/off flag 030009C0 - Seems to always contain a copy of 030009C4, changing it results in some weird results, changing it to anything while in the pre-level tutorial demo or on the title screen demo allows you to play on the level the demo is 03000020 - Seems to always contain a copy of 030009C4, changing it results in the mode getting set to 1F which causes the screen to cut to black and return to the previous mode (Note: setting it to 0A or 0B crash, also worth noting that 0A is known to crash and 0B being the level edit mode) 03000080 - Level select cursor, cannot be changed via memory editing 03000081 - Current level select UI world cursor position 03000082 - Seems to be the level select UI mode (00, is selecting normal levels, 01 is selecting normal worlds, 02 is selecting plus levels, 03 is selecting plus worlds, 04 and 05 have unintended behavior where 04 leads you to non plus final boss and 05 leads you to world plus final boss) 03000083 - Seems to change while scrolling the different worlds 0300010C - Current world (unknown what this is for, it gets set to the current world ID on level start, changing it doesnt seem to do much at all) 03000B58 - Changing this on the tutorial screen changes the world you get sent to when you exit the tutorial (changing it to a 01 after selecting 1-1 will send you to 2-1) 03000B74 - Changing this on the tutorial screen changes the level you get sent to when you exit the tutorial (changing it to a 02 after selecting any level will bring you to X-2 X being whatever value 03000B58 currently is) 03000BA2 - Mirrors 0300010C 03000BD4 - Currently selected world in the level select screen, changing it changes the UI to that of the world ID 03000BD8 - Currently selected level in the level select screen (goes by increments of +2 -- the inbetweens are the B segments of the level) 03000DD0 - Mirrors 0300010C 03001BD8 - Mirrors 0300010C 03004C58 - Currently selected option menu option 03004C64 - Audio options music number (Note: changing this does nothing to the menu) 03004C66 - Audio options fx number (Note: changing this does nothing to the menu) 03004C68 - Currently selected visual options movie 03004C6A - Selected visual options screen mode (Note: changing this does nothing to the menu) 03004C6C - Currently selected audio options mono/stereo (Note: changing this does nothing to the menu)
Game Modes
Offsets:
- 030009B4 (demo)
- 030009C4 (USA & Japanese retail)
- 03000984 (Europe retail)
00 - game boot up 01 - Credits? (sends the game to mode 1E with the data to load the credits scenes) 02 - Title screen demo 03 - main menu 04 - options menu 05 - tutorial demo 06 - tutorial demo reset? 07 - title screen 08 - world/level select screen 09 - expert levels 0A - crash 0B - level editor 0C - (sets the mode to 0D) 0D - in level 0E - restart button in the pause screen 0F - mutes currently playing song and returns to mode 0D 10 - pause screen 11 - help/tips screen 12 - crash 13 - same as 0F 14 - boss clear screen 15 - level results 16 - all presents minigame (stop the arrow) 17 - all presents minigame (save the present) 18 - e World screen 19 - e World screen again, when set outside of the base e world screen the graphics get messed up 1A - e card scan screen (sets mode to 19 when pressing B) 1B - same as 1A 1C - e world debug menu 1D - fade in the e world screen 1E - Movie player 1F - Fade in/out transition used almost everywhere 20 - World start screen 21 - Level viewer accessed by pressing L+R anywhere in a level 22 - game init
References
- ↑ Donkey Kong + on Nintendo.com (Archive)
- ↑ Game Info: Donkey Kong Plus (Planet GameCube) (Archive)
- ↑ 3.0 3.1 3.2 E3 2002: Nintendo Reveals Donkey Kong Plus (IGN) (Archive)
- ↑ 4.0 4.1 Planet GameCube E3 2002 "Shine Get" DVD (DVD Video)
- ↑ Nintendo: E3 Booth Report (IGN)
- ↑ E3 2003: Mario and Donkey Kong (IGN)
- ↑ E3 2003: Hands-on: Mario and Donkey Kong (IGN)
- ↑ E3 2003: David Dayton's Report (The Mushroom Kingdom)