I just watched the two "debug" videos and I see no real evidence of any debug options or unused content (besides the Horseshoe Gulch track). The fact that the character select screen is named "Character Select
Test" is interesting, but it looks like just the ordinary character select screen. (Maybe just never changed the name from when it was once a test screen?)
Just from looking at the way the game runs and playing with these codes myself, the points that come to mind:
- Everything is a level. This is a fairly common way to program games. During some levels you will have menus pop up and/or scripted events take control of the input and camera and hide the character, but it's still a level. The "Options Background" level supports this - it's a level containing nothing but a background.
- Every level has a name. Makes sense, especially since the Tracks menu probably did serve as a convenient level selector during most of development.
- The game has no problem handling 2 players (and presumably more) on any level. The extra players' starting points are undefined (presumably defaulting to 0,0,0), but the game immediately places them back in-bounds.
- The author of these videos has simply edited the array of tracks in the track select screen. There is no evidence that it once contained more entries. Granted, it may well have during early development - it'd be a simple change in the source code to remove the excess.
This really is more a demonstration that the game's programming follows a fairly common design pattern (everything is a level) than of unused/debug content. However, there are definitely some interesting points that would be nice to have on the wiki:
- Unused level.
- Level names, some of which are never shown in-game.
- The video showed an additional level in the "missing" grid position that would be the Future Fun Land bonus-key-game. It mentions TrickyTops, but that's the world 1 boss. Since the level is not unlocked, you can't see what it is - would be interesting to check (even by just looking at the ID in memory).
- Every level has time trial records - the unused ones default to 1:00:00 per lap with name "ABC", whereas used tracks all have their own defaults with name "DKR".
From a hacking standpoint the last point is interesting; it suggests one of three cases:
- Unused levels don't have records, but the record lookup code has a fallback to present a default record instead of garbage/crashing. This would be strong evidence that the developers used the track select to access other levels. (Really, why wouldn't they?) However, IIRC these levels are interspersed with those that are accessible in time trial mode, so this wouldn't make a lot of sense.
- Unused levels do have records, but they're undefined, and the record lookup code returns a default value for undefined records.
- Unused levels have records which all have been set to this default value. This suggests that at one point, this was the default record for every track, and the individual records were added later.
The only way to be certain would be to look at the code. If it were case 3, then those records would be a nice place for hacks to store a bit of data in each save file. In case 1, the records might not be saved, or they might corrupt other save data - but of course most of these tracks can never be "finished".
____________________
/!\ CANADIANS! READ! /!\