
The GameCube DVD drive port is P9 on mainboard, the P9 connected to a xilinx Spartan3s400 FPGA board, we can see the board is on the top of GameCube.
A xilinx platform cable usb connected to FPGA board’s JTAG port.
At the right side is a SY2200A ez-usb DK. the chip is Cypress 68013A ez-usb, this board connected to FPGA borad too and a RS232 debug cable to pc.
These mess of hardwares work like this: GameCube send dvd read command (DI command) via P9, FPGA simulate the DVD drive, and a FIFO in FPGA keeps the DI command. PC read DI command vis usb, the ez-usb, read DI command FIFO in fact.
so PC now get the Di command, parse the command, and write data back to ez-usb then to FPGA and finally to P9.

above is the PC server. the main problem is Cypress doesn’t supply the win7 x64 signed driver, so I write a UMDF driver myself.
Here is Chameleon running Metroid Prime (video):
http://v.youku.com/v_show/id_XMTkzNzI1NTI0.html