The Nintendo Gamecube has fairly sophisticated hardware for the time, this was when Nintendo was still trying to compete with raw processing power. The hardware would then be used as a basis of both the Wii and Wii U consoles in the future.
Rodrigo Copetti has an excellent in-depth article about the hardware architecture of the Nintendo Gamecube, it is a must read for anyone wanting to reverse engineer Gamecube games as you will need to know all about the low level architecture.
In China there were plans to release a version of the Gamecube with DVD playback functionality and additional security. This was to be a sequal to the iQue Player which was a Chinese only Nintendo 64 plug and play device. However half way through development the resources were moved to work on the Nintendo Wii instead.
The Nintendo Gamecube has an excellent library of games just begging to be reverse engineered, it is always a good idea to do some research before you start, this is where this section comes in as it deals with specific games.
If you are interested in reverse engineering a Gamecube game, the first step is to find out if the game has its debug symbols available, this makes it much easier to reverse as all the functions will have nice friendly human readable names.
Prototype games are ideal targets for reverse engineering as many of them contain developer information inside them and some games never got a retail release, making them even more interesting!
A few Gamecube games have emulator code built into them either as bonus content (Animal Crossing, Fight Night Round 2) or as the main game (Sonic Mega Collection).
Here is a list of known games that have emulators built in:
The Gamecube game Fight Night Round 2 has a playable version of the SNES game Super Punch Out on the Disc called SNS4Q0.471. This file must have come from Nintendo as it matches the Nintendo Lot-check naming scheme that Nintendo uses internally.
The cool thing about this is that the emulator was written by Icer Addis who was the co-creator of one of the first ever NES emulators known as NESticle. An easter egg of sorts can be found when looking at the strings inside the executable, they called the SNES emulator for gamecube SNESticle!
Not only that but a project was launched to try to get other SNES ROMS to work with the emulator known as the The SNESticle Liberation Project which consisted of a Multi-ROM menu SNES Rom and a Python script to inject ROMS and put everything together (**fn22snesticle.py).
The devlog is a very good read and is available here: Devlog - The SNESticle Liberation Project
This drew the attention of Icer who decided to release the full source code for SNESticle (PS2 & Dreamcast): iaddis/SNESticle: SNESticle source code (circa ~2004)
Read all about 007 Agent Under Fire for Nintendo Gamecube Reverse Engineering in this s...
Read all about Nintendo Gamecube (Dolphin) Development Kit Hardware in this s...
Read all about Nintendo Gamecube Games with Debug Symbols in this s...
Read all about Nintendo Gamecube (Dolphin) File Formats in this s...
Read all about The Simpsons Hit & Run Source Code Leak in this s...