Today, I’ll write some text about Project Chameleon.
Project Chameleon is NOT SO complex in my opinion, see the picture followed (PC part is not in this picture):
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: