Last summer I began reverse engineering Animal Crossing for the GameCube to explore the possibility of creating mods for the game. I also wanted to document the process to create tutorials for people interested in ROM hacking and reverse engineering. In this post I explore the developer debugging features that are still left in the game, and how I discovered a cheat combo that can be used to unlock them.

new_Debug_mode
While looking around at some leftover debug symbols, I noticed functions and variable names that contained the word “debug”, and thought it would be interesting to see what debug functionality might be left in the game. If there were any debugging or developer features I could activate, it might also help with the process of creating mods.

The first function I took a look at was new_Debug_mode. It’s called by the entry function, which runs right after the Nintendo trademark screen finishes. All it does is allocate a 0x1C94 byte structure and save its pointer.

After it gets called in entry, a value of 0 is set at offset 0xD4 in the allocated structure, right before mainproc is called

Last summer I began reverse engineering Animal Crossing for the GameCube to explore the possibility of creating mods for the game. I also wanted to document the process to create tutorials for people interested in ROM hacking and reverse engineering. In this post I explore the developer debugging features that are still left in the game, and how I discovered a cheat combo that can be used to unlock them.