Debug Leftovers

Even if the games Debug Mode cannot be activated without an N64 development console unit, there still appears to be some test features left in the games code. Most of them are only visual, and were (perhaps) possibly used during the games development for testing the models ingame appearance.(i could be wrong though, they may not even be debug at all)

Debug feature 1

8008450D 00XX

XX is 00 by default

01: Disables some parts of certain character models(easily noticeable on Conker, his top eye textures is invisible, allowing you to see the rest of the eye region.)

04: Texture strecthing disabled on most models.

05: value 01 – 04, combined

Debug feature 2

8008452D 00XX

XX is 00 by default

04: Basic character shadows disabled. A few 2D sprites also seem to be affected.

Debug feature 3

8002CC9D 00XX

XX is 20 by default

24: Texture details in Background box is now displayed as differently coloured square tiles.

40 to 70: Rooms(not counting outside areas) become darker.

NEW: Crash Debugger Values:

Debugger Access:
8002AE10 000?
if set to 01 or higher, the crash debugger will be entered. Setting it back to 00 and picking retry code will resume the game. Likely an variable once used by the debugging team at Rare, and they probably needed access to the debugger if something gone wrong during testing.
Debugger value?:
8002AE14 0001
Unknown. Doesn’t seem to do anything in the retail game.
8002AE18 0000
this address is always set to zero by the game, no matter if an GS code forces it to set 01 or some other value. What this one is about, I can’t really tell.

Level Appearance Scaling:

81089810 0001
81089830 0000
8108981A 0001
8108983A 0000
81089824 0001
81089844 0000
8108982E 0001
8108984E 0000

Beyond the Screen Display:

81003C92 FDB7
81003CE6 FCD5

Rather neat, strange, may even trigger epileptic seizures, but also a bit interesting. This normally cannot be seen, but underneath the screen display is an framebuffer of some kind, which shows the frame that were previously drawn at the top side for about a few milliseconds before being updated with a new frame, which goes on like this. Basically, the top area is constantly updated, with the bottom area showing the previous frame. This will not work on emulators however, because the bottom part is never emulated properly, leaving it showing only some artifacts, or just black space.