You are on page 1of 9

03/04/12 GCHDD - Building your own adapter

1/9 www.gc-forever.com/gchdd/build.htm
GC HDD ADAPTER TUTORIAL

PARTS REQUIRED:

Part 1 Old PS2 Mod chip (XILINX Based) the best is RIPPER III clone, MAGIC-S or similar Mod chip
Preferably one with CPLD + parallel flash EEPROM...
(BLUECHIP and others that not use EEPROM can be used too, but this is more difficult as youll see later on)




2 Serial Port 1 cover, from GC (optional) J

03/04/12 GCHDD - Building your own adapter
2/9 www.gc-forever.com/gchdd/build.htm






3 Male IDE Connector (this one was taken from an old PC main board)




BUILDING THE ADAPTER:
Cut out a hole in the serial port cover to place the IDE connector, and make a small hole to put an activity LED:




03/04/12 GCHDD - Building your own adapter
3/9 www.gc-forever.com/gchdd/build.htm









Secure the IDE connector to the cover, using screws and some nuts:

Building the firmware & Re-programming the Mod chip to suit our needs: (hardest part)

Uncompress the file "gcide.zip" ... inside you will find the firmware source!

Note: If you can obtain one of the following PS2 Mod chips: RIPPER III clone, MAGIC-S or BLUECHIP, you
will only need to replace the file gc_ide.ucf with one of the files mentioned below, but make sure you use the
correct one for your Mod chip!

gc_ide.ucf_BLUECHIP
gc_ide.ucf_MAGIC-S
gc_ide.ucf_RIPPER

If youre using one of the above mod chips, rename the respective file to: gc_ide.ucf (overwrite the old one in
the folder)

This file contains the pins assignments of the particular Mod chip. If you get a different mod chip from these, you
need to check carefully the PCB and locate the needed pins, then edit the file.
Otherwise, you can skip the next step and go directly to programming the CPLD.

Configuring Pin assignments:
(If using a Mod chip mentioned above, i.e. Ripper, Magic-S, Blue Chip, skip this step)

Below are the IDE signals used in the adapter.
03/04/12 GCHDD - Building your own adapter
4/9 www.gc-forever.com/gchdd/build.htm
You will need to assign one Mod chip PAD or CPLD pin to each IDE signal:

IDE Pin No.
Drive Cable
Signal name
Signal Name in .ucf file
1 RESET
2 Ground
3 D7 Ide_dat<7>
4 D8 Ide_dat<8>
5 D6 Ide_dat<6>
6 D9 Ide_dat<9>
7 D5 Ide_ dat <5>
8 D10 Ide_ dat<10>
9 D4 Ide_ dat <4>
10 D11 Ide_ dat <11>
11 D3 Ide_ dat <3>
12 D12 Ide_adr<12>
13 D2 Ide_ dat <2>
14 D13 Ide_ dat <13>
15 D1 Ide_ dat <1>
16 D14 Ide_ dat <14>
17

D0 Ide_ data <0>
18 D15 Ide_ dat <15>
19 Ground
20 -
21

-
22 Ground
23 WR Ide_wr
24 Ground
25 RD Ide_rd
26 Ground
27 -
28 -
29 Reserved
30 Ground
31 -
03/04/12 GCHDD - Building your own adapter
5/9 www.gc-forever.com/gchdd/build.htm
exi_clk
exi_cs
exi_out
exi_in
32 -
33 A1 Ide_adr<1>
34 -
35 A0 Ide_adr<0>
36 A2 Ide_adr<2>
37 A3 Ide_adr<3>
38 A4 Ide_adr<4>
39 DASP
40 Ground
(Table 1)


And these are the EXI signals:









If you need to edit the .ucf file, the format of this is simple, for example:

NET "exi_clk" LOC = "P97" ; --> signal "exi_clk" located to pin 97 of the CPLD
.
.
NET "ide_adr<1>" LOC = "P13" ; --> signal "ide_adr<1>" to pin 13 of the CPLD

And so on ... you need to locate at least 27 pins that have traces and if possible PADS to solder easily.
That is why the better Mod chips are the ones that use a parallel EEPROM, since they have plenty of pins easy to
trace and PADS attached on to solder to!
Other Mod chips can also be used, like the BLUECHIP, but these do not use EEPROM and only 23 pins have
traces, therefore youd need to solder direct to the CPLD pins.

Building the firmware:
Now, well need to build the project with XILINX ISE...

Go to the Xilinx web site and register so you can download their free ISE Web Pack software which well use to
program the CPLD:
http://www.xilinx.com/products/design_resources/design_tool/index.htm

03/04/12 GCHDD - Building your own adapter
6/9 www.gc-forever.com/gchdd/build.htm
Install it, and open project file exi2ide.ise then right-click the Implement Design process in the Processes
tab, and select Rerun All .
Wait until the implementation completes. (Ignoring the warnings)

Building the JTAG Cable and Programming the CPLD:
The above process will generate a programming file named gc_ide.jed that you will need to program onto the
CPLD.

To do that, only you need a simple JTAG cable, like the one below (which can be easily made at home):

http://warmcat.com/milksop/cheaptag.html




Now well use a tool called iMPACT to program the CPLD.

This tool is located in the Processes tab.
Click Generate Programing file Configure device (iMPACT)....

Complete details of this can be found in the attached documentation, or see the link below:
http://www.dspassme.com/docs/html/pm_04_programming_cpld.html

Soldering it all together:
Once the chip is reprogrammed, well need to wire it to the IDE connector:
(Some good soldering skills are needed)

03/04/12 GCHDD - Building your own adapter
7/9 www.gc-forever.com/gchdd/build.htm



At IDE connector level:

03/04/12 GCHDD - Building your own adapter
8/9 www.gc-forever.com/gchdd/build.htm
Pin Signal name Used Color
1 EXTIN Connected to Pin 12, EXTOUT
2 GND Ground

(Refer to table 1) When building the adapter, all grounds (GNDs) go directly to GND of the Gamecube.
Connect Pin 1 (RESET) to a PULL UP (10K) to 3.3v and Pin 39 (DASP) is output to LED indicator of drive
activity.



After this, the adapter is complete and ready to be hooked up to our Gamecube!




Set up EXI signals to the Gamecube... and were done! (Use memory card slot B)





03/04/12 GCHDD - Building your own adapter
9/9 www.gc-forever.com/gchdd/build.htm
3
4 3.3V Red +3.3V supply
5 DO White MOSI - Master OUT, Slave IN
6
7 DI Yellow MISO - Master IN, Slave OUT
8 3.3V Red +3.3V supply
9 CS Blue Device select
10 GND Ground
11 CLK Green Clock
12 EXTOUT To Pin 1, EXTIN













Notes:
Pins 1 (EXTIN) to 12 (EXTOUT)
Pins 2, 10 (GND) connected to ground
Pins 4, 8 (+3.3V) supply

Credits:
Many thanks to all contributors that helped me in collaborating this project in one way or another:
- tmbinc (debugmo.de) (his great work is the base of the actual GC and Wii scene, this project inclusive)
- xt5 (ingenieria-inversa.cl)
- nuke (USB Gecko)
- emu_kidid (for SD-Boot and other great GC homebrew)
- and the countless others who have helped along the way :)

You might also like