If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!
This article has a talk page!

Diddy Kong Racing

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Diddy Kong Racing

Developer: Rare[1]
Publisher: Rare
Platform: Nintendo 64
Released in JP: November 21, 1997[1]
Released in US: November 24, 1997[1]
Released in EU: November 21, 1997[1]
Released in AU: November 21, 1997[1]
Released in KR: 1997[1]


AreasIcon.png This game has unused areas.
CharacterIcon.png This game has unused playable characters.
CodeIcon.png This game has unused code.
CopyrightIcon.png This game has hidden developer credits.
GraphicsIcon.png This game has unused graphics.
ModelsIcon.png This game has unused models.
MovieIcon.png This game has unused cinematics.
MusicIcon.png This game has unused music.
SoundIcon.png This game has unused sounds.
TextIcon.png This game has unused text.
DebugIcon.png This game has debugging material.
SoundtestIcon.png This game has a hidden sound test.
RegionIcon.png This game has regional differences.
Carts.png This game has revisional differences.
PiracyIcon.png This game has anti-piracy features.


DevelopmentIcon.png This game has a development article
ProtoIcon.png This game has a prototype article
PrereleaseIcon.png This game has a prerelease article
NotesIcon.png This game has a notes page
BugsIcon.png This game has a bugs page
DCIcon.png This game has a Data Crystal page

Hmmm...
To do:
The decompilation project contains a few things worth adding here:
  • Unused code to print the version number on the title screen, a leftover from the pre-release build.
  • An unused player state which would've flipped them into the air and played an unused sound (spring_trap_snd)

Diddy Kong Racing is like Mario Kart but with more interesting tracks, as well as planes and hoverboats in addition to karts.

Also, Banjo and Conker (pre-alcoholism) are here.

Sub-Pages

Read about development information and materials for this game.
Development Info
Read about prototype versions of this game that have been released or dumped.
Prototype Info
Read about prerelease information and/or media for this game.
Prerelease Info
Miscellaneous tidbits that are interesting enough to point out here.
Notes
Read about notable bugs and errors in this game.
Bugs
Dkr-unusedtexticon.png
Unused Text
And lots of it, too.
Dkrbanjoplaceholder.png
Unused Graphics
Featuring ancient relics dating back to the A.M. times.
DKR64-banjoballoon.png
Unused Models
Many things that didn't reach the final game.
DKR64-frontend.png
Unused Tracks
Check out how Dino Domain looks like in winter.
DKR64-alcove.png
Oddities
Some strange things you can find off the beaten track.

Debugging Features

Debug Setup Objects

DKR64-Debugobjects1.png DKR64-Debugobjects2.png DKR64-Debugobjects3.png DKR64-Debugobjects4.png DKR64-Debugobjects5.png

Applying the below GameShark code will display various debug objects in the current map, normally unseen.

Version GameShark code
All 81014844 2402
81014846 0000
81012D70 240E
81012D72 0000
(Source: retroben)

Invisible Collision

Use one of the below GameShark codes to display the normally invisible collision.

Version GameShark code Version GameShark code
U V1.0 8002974A 0000 U V1.1
E V1.0 E V1.1
J
(Source: David)

Current Colors

DKR64-debugdisplay.png

A simple debug display showing the current colors being rendered in the area can be displayed with the below code.

Version GameShark code
US v1.0 81065E7C 0000
81065E7E 0000
80065E85 0001
81065E86 C6D5
EU v1.0
US v1.1 810660BC 0000
810660BE 0000
800660C5 0001
810660C6 C765
EU v1.1
Japan 81065F4C 0000
81065F4E 0000
80065F55 0001
81065F56 C70F
(Source: Punk7890)

Crash Debugger

Present in the game is a crash debugger that can be enabled by entering the cheat EPC in the Magic Codes screen. You'll also need a memory card plugged into the first controller. When the game crashes, reset the console and the crash debugger will appear. It'll quickly flip through four different pages automatically. Resetting the console again will boot up the game normally.

Checkpoint Error Message

DKR64-errormessage.png

If for whatever reason a track has more than one checkpoint, an error message will display at the bottom of the screen very quickly.

Version GameShark code
US v1.0 810180D4 0000
810180D6 0000
EU v1.0
Japan
US v1.1 81018108 0000
8101810A 0000
EU v1.1
(Source: SubDrag)

Sound Test

Diddy Kong Racing Sound Test.png

A sound test is accessible by the cheat code "JUKEBOX".

Unused Music

Early Crescent Island Theme

Sound test track 12 ("sea_2b" internally) is an early theme for Crescent Island but was cut in favor of a different song.

Unused Player-Select Theme

The character-select music changes its lead instrument depending on the character highlighted by the player. Within the track, there is a MIDI channel for a sitar lead which cannot be triggered under normal circumstances. This may point to Taj the genie being playable at some point in development as the track shares its sitar with his other in-game themes. Taj would eventually be made playable in the game's DS remake.

Unused Sounds

ID Sound Filename Comments
0x0005
shootmissile3_snd An unused, alternate missile firing sound.
0x004E
what_06_snd A cartoon boing sound.
0x0051
what_09_snd A cartoon bonk sound.
0x0057
select_up_dwn_snd A sound effect likely meant for a menu based on the filename.
0x0107
drive_past1_snd A sound of a car driving by.
0x0145
spring_trap_snd A sound for some kind of trap.
0x01B7
more_warden_16_snd A voice clip of Taj saying "It's a balloon".
0x030F
dactil_hit_snd A sound effect for the pterodactyls seen throughout Dino Domain tracks. It seems that you were able to hit them at one point, but in the final game, you can't interact with them in any way.


(Source: Ferrox)

Unused Code

Unused Cheats

There are some unused/debug cheat codes in the game. Some are still enterable, others have been changed to a string of numbers, rendering them unenterable due to the convenient lack of numbers on the cheat code entry keyboard. To unlock all cheats, including the unused ones, use one of the below GameShark codes.

Version GameShark code Version GameShark code
U V1.0 810DFD9C FFFF
810DFD9E FFFF
U V1.1 810E031C FFFF
810E031E FFFF
E V1.0 810DFE2C FFFF
810DFE2E FFFF
E V1.1 810E03AC FFFF
810E03AE FFFF
J 810E17FC FFFF
810E17FE FFFF
  • High Speed Racing (code 1234567890): According to Nintendo Power[2] this would have increased everyone's top speed or possibly just done the same thing as the "No Limit To Bananas" code, and as such it was removed for being redundant. Whatever the intended purpose, enabling it doesn't actually do anything in the final build.

It's also mistakenly listed in the official strategy guide, which helpfully doesn't give you the actual codes.

  • Print Coords (code 8846325012): Displays player 1's coordinates in the upper left corner of the screen.

Diddy Kong Racing Coordinate Display.png

  • ROM Checksum (code DODGYROMMER): Displays a checksum of the ROM when entered. (Appears to freeze for a few seconds.)

Diddy Kong Racing Checksum.png

  • Free Balloon (code EOLAOBFENRLONE): Exactly what it says. Every time you start Adventure Mode with this cheat active, a balloon will be added to the selected save file. This cheat can be entered normally but is never given in the credits. (Anagram of "ONEFREEBALLOON".)
  • EPC Lock Up Display (code EPC): If the game crashes, next time it's powered up it will display a crash report screen, which isn't very usable as it flashes through several pages quickly.
  • Control TT (code 1058732594) and Control Drumstick (code 8649305321): Actually implemented as cheats. When you unlock these characters, these cheats show up in the menu and can be toggled on and off.
  • Mirrored Tracks (code 0986754321): Appears to do the same thing as Adventure 2.

Extra Localizations

Looks German to me!
Japanese Japanese? Japanese Japanese Japanese.

Aside from the English and French options in the menu in the USA version, there are German and Japanese options, though the latter is not quite finished as it replaces much of the text in the game with placeholders.

Code 81084542 0001 replaces French with German in the menu; 81084542 0003 replaces with Japanese.

Unused Default Record Time

DKR64-defaultrecord.png

Levels in the game that don't contain any time trial records, like the hub world, will use a default record of 3 minutes with the best lap being 1 minute and with the name ABC.

Unused Vehicles

DiddyKongRacing UnusedFlyingVehicle.png

Present in the game are two unused vehicles which can be selected using one of the below GameShark codes.

Version GameShark code Version GameShark code
U V1.0 801269C0 00?? U V1.1 80126F80 00??
E V1.0 80126A50 00?? E V1.1 80127010 00??
J 80128508 00??

Vehicle ID 03 appears as a car without any wheels that can fly like a plane, but unlike the plane, this vehicle doesn't lose altitude when slowing down.

Vehicle ID 04 appears to be a duplicate of the car except you can't control it. In most tracks, it'll just crash the game.

(Source: Ferrox)

Unused Cutscenes

Hmmm...
To do:
Compare early cutscenes with their final counterparts.

Early Intros

A couple of early versions of the Adventure mode intro. The first appears to be a very early placeholder which just displays an unused textbox. The second is a slightly earlier version of the intro which has different camera angles and starts the player in a plane instead of a car. It also takes place in the final version of the hub area instead of the earlier version. The second cutscene also seems to be lacking a few major things from the final release, such as weather effects, music, characters and ambience. The dark skies and stormy weather that opens the introduction is replaced with a clear sunny day, resembling the hub world during gameplay. The theme 'Central Area Introduction' does not appear either, rather having the hub world ambience noises such as birds, frogs and rushing waterfalls. Strangely, the scene starts with the sound effect that is used when a race begins. Both Taj, his sound effects, voice lines and accompanying subtitles do not appear either. The test cutscene seems to have been made using the hub world that appears during normal gameplay, as the first free balloon that the player collects outside of Dino Domain appears in the test cutscene, but does not in it's release state.

Other Cutscenes

  • An early Rare logo screen which just contains a static Rare logo.
  • An early animation of Diddy flying by.
  • A cutscene of a spinning trophy.
  • Early versions of Taj congratulating the player after winning a race.
  • Early versions of the gold balloon spawning.
(Source: David)

Unused Camera Flybys

Three maps in the game contain a camera flyby that can't be seen normally since they're not selectable in the Tracks menu. To see these in-game, use the warp modifier codes on the notes page.

Central Area Walrus Boss Trickytops
(Source: Original TCRF research)

Out-of-Bounds Objects

Hot Top Volcano

DKR64-wrongwarp.png

For whatever reason, a normally inaccessible warp exists underneath the starting line in Hot Top Volcano (the green octagon in the screenshot). Where it warps you depends on the version you're playing.

Dragon Forest Boss Track

DKR64HiddenBalloon.png
Underneath the Dragon Forest boss track is an unreachable golden balloon.

DKR64-dragonspawnpoint.png
There's also an unused spawn point near the balloon (represented by the yellow dinosaur head).

Central Hub World

DKR64-centralarea1.pngDKR64-centralarea2.png

Behind the large Wizpig head in the main hub area is some out of bounds level geometry which is normally never shown in-game. By reversing towards the wall, it's possible to see a small portion. It lacks any collision, so you'll just go right through it.

(Source: Original TCRF research)

Regional Differences

Spaceport Alpha Wall Textures

International Japan
DKR-tunnelU.png DKR-tunnelJ.png
  • The wall textures for the tunnel in Spaceport Alpha are different in the Japanese version of the game.

Spaceport Alpha Pillar

International Japan
DKR64-spaceportalphapillarUS.png DKR64-spaceportalphapillarJP.png
  • For whatever reason, the top of one of the pillars in Spaceport Alpha was removed in the Japanese version. The collision was removed as well making it possible to go out of bounds by flying through the top of the pillar.

Resolution

US/JP EU
DKR64usres.png DKR64-eures.png
  • The North American and Japanese versions of the game render at 320x237 while the European version renders at 320x261. Only certain HUD elements take advantage of the higher resolution since the view is just stretched vertically.

Revisional Differences

  • In Spaceport Alpha, there's a long tunnel where many missiles are being fired from both of the walls and the end of the tunnel. The missiles fired from the walls were removed in 1.1 making this section of the track significantly easier.
  • After defeating Trickytops or Bluey for the first time, Taj tells you a gameplay tip. In 1.0, Taj speaks during the accompanying jingle, but in 1.1, his voice clip is delayed until afterwards.
  • The infamous "wrong warp" glitch from Hot Top Volcano works differently between versions. In 1.0, the game crashes once you go through the loading zone, but in 1.1, it warps you to the main hub world, loading the data from file 1. In the Japanese version of the game, the loading zone warps you to either the main hub world or Dragon Forest, with the latter either putting you into a car or plane. This glitch can be heavily abused to beat the game in under an hour.
Version 1.0 Version 1.1
DKR64-sun1.png
DKR64-sun3.png
DKR64-sun2.png
DKR64-sun4.png
  • In Star City, a neon sign of the sun was replaced with the N64 logo and some squares in the 1.1 version.
Version 1.0 Version 1.1
DKR64-kilogo1.png DKR64-kilogo2.png
  • The Killer Instinct logo in Star City was removed.
  • A space ship graphic in Star City doesn't animate in 1.1.
Version 1.0 Version 1.1
DKR1 Vent.png DKR2 Vent.png
  • The vent's graphics were changed to a somewhat glitchy blue texture.
Version 1.0 Version 1.1
DKR1 Wall.png DKR2 Wall.png
  • A wall was added near the vent to prevent players from going the wrong way.
Version 1.0 Version 1.1
DKR1 Hole.png DKR2 Hole.png
  • The hole directly behind the starting line was removed likely so that it wouldn't confuse players.

Anti-Piracy

The developers at RareWare created a lot of interesting anti-tamper measures in the code to stop people from editing the Diddy Kong Racing ROM. When an anti-tamper check fails, the game will do weird stuff. Each failed check does something different.

Spinning Heads

The game checks if the loop function of the Gold Balloon object has been tampered with by using a checksum. If the bytes of the function don't add up to 0xA597 exactly, then every racer will have their heads spinning in an anti-clockwise motion. It is creepy, but harmless.

Version GameShark code
US v1.0 8105A410 0000
8105A412 0000


Slow Roads

The main gameplay rendering function is also protected by a checksum. If the bytes of that function doesn't equal to 0x1C65B exactly, then some roads will be impossible to drive on. It sets the traction value of the default surface type to 0.05 (It is normally 0.004).

Version GameShark code
US v1.0 A105F97C 0000
A105F97E 0000

Cursed Audio Frequency

A function that is related to handling the player racers is protected by another checksum. If the bytes of the function don't add up to 0x35281, then the audio frequency of the audio will be randomly modified. Every frame, the game will calculate a random number between 0 and 10000 and add it to the current output audio frequency.

Version GameShark code
US v1.0 800DC68C 0001


Dead Controllers

The function that sets the parameters of a camera's viewport (width, height, X/Y position) is protected by another checksum. If the bytes of the function don't add up to 0x585E, then the game will ignore the button inputs from all 4 controller ports.

Version GameShark code
US v1.0 810DD304 0000

Inverted Screen

Every time the camera gets initialized, it checks to see if the two bytes at ROM offset 0x57A equals 0x8965. If this fails, then the screen will get flipped both horizontally and vertically.

Version GameShark code
US v1.0 800DD060 0001

Note: Considering the game went back to normal after restarting the race, the person in the video above probably ran into a cosmic ray or a cartridge tilt. I don't think the ROM was modified.


Unbeatable Adventure

Once you reach the finish line, the game will check if the two bytes at ROM offset 0x576 equals 0x6C07. If this fails, then the cutscene in which Taj awards you with a gold/silver balloon will never appear. This means you cannot earn balloons in races, and you can't progress in the adventure mode.

Version GameShark code
US v1.0 8101A560 0000
8101A562 0000

Involuntary Pause Buffering

When the game boots, the game checks if the CIC chip (CIC6103) is valid. If this fails then the start button will automatically be pressed when you unpause, so you can only advance by a single frame.

Version GameShark code
US v1.0 800DD374 0001

Ghost Balloons

In the gold balloon's loop function, it will check if the 4 bytes at address 0x80000284 equals 0x240B17D7. If this check fails, then the flag that allows the balloon to be picked up gets skipped (You won't be able to collect them).

Version GameShark code
US v1.0 81000284 264B

Invisible Vehicle Parts

The game will check if the CIC chip is the correct version (6103). If this fails, then the wheels, fan, and propeller sprites of the vehicles do not get rendered.

Version GameShark code
US v1.0 81000312 0000


(Source: https://docs.google.com/document/d/1qFTFxsBrBS8o2MShCpUmW6aLe6Iz6CiFhUvo5YRuvuU)

References

  1. 1.0 1.1 1.2 1.3 1.4 1.5 GameFAQs
  2. Issue #105 (February 1998), page 53