Official Gamecube IDE/USB interface thread (PROJECT BEGUN!)

Includes PS2, Xbox 1, GameCube (but not the Phantom Game Console)

Moderator:Moderators

Locked
Fat D
Posts:48
Joined:Sun Sep 09, 2007 1:57 am

Post by Fat D » Sat Jan 05, 2008 9:23 am

They seem to have decided on an ATA interface now:
http://www.tehskeen.com/forums/showthread.php?t=6040

Electric Rain
Senior Member
Posts:1911
Joined:Tue Mar 29, 2005 12:39 pm
PSN Username:Denki_no_Ame
Location:What's it to you? Stalker...
Contact:

Post by Electric Rain » Sat Jan 05, 2008 4:11 pm

It's about time... looks like they decided to pick it back up... let's see where it heads, because I still don't have any money to attempt building one... so... :lol:
Image

User avatar
Gamerdude
Posts:216
Joined:Thu Mar 01, 2007 4:37 pm
Location:Somewhere in the US

Post by Gamerdude » Sun Jan 13, 2008 11:09 am

I am good with a soldering iron but I can't program very good. I am better with the physical design of stuff then the programming part. If you send me some designs I might be able to look at it and see what I can find out. i don't have a working osilioscope anymore though so i don't know how much I can actually help. I don't have any new programming equipment either.
SS64 (Super-Small N64) 8%

Gathering materials (and cash) to build it

Electric Rain
Senior Member
Posts:1911
Joined:Tue Mar 29, 2005 12:39 pm
PSN Username:Denki_no_Ame
Location:What's it to you? Stalker...
Contact:

Post by Electric Rain » Sun Jan 13, 2008 6:18 pm

Any and all information about this project has already been posted here; none of us have anything to "send". If you have any interest in attempting this, I suggest giving the entire thread a once-over. There's a lot of good info here... it should be everything anyone needs to know. How well do you think you can design a PCB? If you can get the board physically built with the hardware soldered on, there are a few people here that I think would buy some from you (including myself) and we can program them on our end if you don't think you can handle it. But even though I don't have any (device) programming experience, there's so much info here that I think I can program it myself with no problems. It shouldn't be too hard. :wink:
Image

User avatar
Gamerdude
Posts:216
Joined:Thu Mar 01, 2007 4:37 pm
Location:Somewhere in the US

Post by Gamerdude » Sun Jan 13, 2008 8:40 pm

Okay then, I will see what I can do (don't get your hopes up). All you have to do is get some good CAD software for board design and then have a board made from a place like this. Then the soldering is no problem, I actually like soldering fine pitched SMD devices.
SS64 (Super-Small N64) 8%

Gathering materials (and cash) to build it

User avatar
marshallh
Moderator
Posts:2986
Joined:Sat Sep 10, 2005 2:17 pm
360 GamerTag:marshallh
Location:here and there
Contact:

Post by marshallh » Sun Jan 13, 2008 10:57 pm

Here's a big hint to get you started:

1. Get Eagle
2. Cannabalize other chip's footprints to use in the design
3. Route the board with ELECTRA
4. Send to www.advancedcircuits.com
5. Buy parts from digikey
Image

User avatar
Gamerdude
Posts:216
Joined:Thu Mar 01, 2007 4:37 pm
Location:Somewhere in the US

Post by Gamerdude » Mon Jan 14, 2008 4:14 pm

I actually prefer
3. Altium Circuit Maker
5. Mouser (I think it is easier to find and purchase stuff)

What is eagle?
SS64 (Super-Small N64) 8%

Gathering materials (and cash) to build it

Electric Rain
Senior Member
Posts:1911
Joined:Tue Mar 29, 2005 12:39 pm
PSN Username:Denki_no_Ame
Location:What's it to you? Stalker...
Contact:

Post by Electric Rain » Mon Jan 14, 2008 4:52 pm

Gamerdude wrote:What is eagle?
:shock: Eagle is like... THE PCB designer... I guess... I personally don't like it. :lol: But, that's what I said about Adobe products too. But now that I'm getting use to them and finally learning how to use them, they're friggin' awesome. :lol: It's really just a matter of learning curve, I guess. The better the program, the harder it is to learn. Even still, Eagle does have some odd controls. It doesn't really follow "standard Windows controls". Like, right-clicking doesn't bring up context menus... stuff like that. It's strange. :?
Image

Electric Rain
Senior Member
Posts:1911
Joined:Tue Mar 29, 2005 12:39 pm
PSN Username:Denki_no_Ame
Location:What's it to you? Stalker...
Contact:

Post by Electric Rain » Tue Jun 03, 2008 5:37 pm

I was gonna keep this a secret, but I'm not very good at keeping my own secrets to myself. :P

I've starting working on this again. I've got about $350 to spend from my birthday, and it's all going towards this project for parts and new tools. I've already compiled a list of everything I need, and how much it's all going to cost... which, with shipping, is actually a bit OVER $350, but I was told that was okay. :lol:

I just finished re-designing the schematic in Eagle. (I finally sat down and decided to figure out how the **** to use it.) So, I need some more eyes to make sure EVERYTHING checks out against the original schematic. Anyone that knows generally how to read simple schematics, and possibly also how to use Eagle a little bit, take a look at these:

Original Schematic -PDF
My Schematic -PDF
My Schematic -SCH (Eagle schematic, if anyone wants it.)
Breakout PCB - PNG (Explained in "5" below)
Custom Eagle parts library (You'll need this to open the schematic and PCB properly in Eagle.)


There are some obvious differences...

1. There are some sections of the original schematic that are seperated from what they are bound to, such as the "FX2_RESET" section in the upper left corner or the crystal section to the left. I've chosen to combine some of these in my schematic.

2. I don't think I will need the Debug or JTAG headers, but in case I do, they will be test points on my PCB; not headers. (Test Point: Pads with no bore in them.) So, the schematic symbols do look different, as a result of this decision.

3. I will be using a laptop hard drive, so I have designed my schematic with a 44 pin IDE connector, instead of a 40 pin one. The pinouts are the same, except the additional 4 pins are 5V (pins 41 and 42) ground (pin 43) and type (pin 44). I don't know what "type" is, but I'm pretty sure I don't need it. :P

4. The LED is totally unnecessary; it has been omitted.

5. He's the big, big difference, which will be almost the entire rest of this post...

Destop used the original connector from the CN-101 board (the disk drive board). He desoldered it from the DD board, and soldered it directly onto his PCB. This allowed him to plug his board directly into the GC motherboard; but this defeats one of the purposes of this project for some of us; making the Gamecube THINNER for portable purposes. :roll:

So, instead, I have designed a small "breakout board" to solder on the motherboard in place of the original connector. This consists of headers arranged in such a way to where they will extend down through the PCB, and line up perfectly with the holes that the original connector was soldered into. On the edge of the PCB is a Flat Flex connector. This allows you to use a Flat Flex cable to connect the IDE/USB board to the GC. What is a "Flat Flex" cable? Think really-fine-pitch ribbon cable. It's the same type of cable used to connect the Gamecube controller port PCB to the motherboard. What does ALL OF THIS mean? Basically, this all means that it changes the pinouts quite a bit, and makes things a bit harder to trace out... :lol: So, here's the scoop on that...

The "CN1" connector on Destop's schematic uses the proper pinout for the connector used for the DD board. So, look at that, then look at the my breakout board. Pin one on the CN1 connector is pin one on CN1 on my breakout board; this is the header layout. You need to follow each trace, over to the "FF18" connector. This is the Flat Flex connector, of which there will be another one of on the main IDE/USB board. Then, look at my schematic. The nets that each pin on the Flat Flex connector on that board connect to should match up with the proper nets on the original schematic. Let's go through an example, shall we?

Looking at Destop's schematic, "DID6" is connected to pin 19 of the "CN1" connector. So now, refer to the breakout board. Find pin 19 of CN1. Follow the trace back to the FF18 connector. You'll see that it connects to pin 14. Now, look at MY schematic. If you look at FF18 in the bottom right corner, you'll see that pin 14 is, in fact, connected to the DID6 net. Get in now? :P

I believe the following chart to be accurate, but the only reason I'm here telling you guys about this is to make sure of this fact before I start designing the PCB. "FF" is Flat Flex, "DD" is Disk Drive, and "NN" is Net Name. It should all make sense if you read the above and looked at the schematics.

Code: Select all

FF	DD	NN

01	09	DIERRB
02	12	DICOVER
03	14	DIRSTB
04	13	DIDSTRB
05	17	DID7
06	21	DID5
07	25	DID3
08	05	AISCLK
09	01	AISLR
10	23	DID4
11	29	DID1
12	27	DID2
13	31	DID0
14	19	DID6
15	15	DIDIR
16	11	DIBRK
17	07	DIHSTRB
18	03	AISD


Okay, I think that's about it. You know, this post is a good test. It's very long and confusing, so anyone that isn't SERIOUS about this project probably won't read through it. The ones who are will, and will help me verify my schematic. 8)

Let me know if you're confused about anything... but I think I covered it all.

Rain
Image

User avatar
marshallh
Moderator
Posts:2986
Joined:Sat Sep 10, 2005 2:17 pm
360 GamerTag:marshallh
Location:here and there
Contact:

Post by marshallh » Tue Jun 03, 2008 9:44 pm

Hrumph... I go through all the effort to upgrade from Eagle 4.13 to 4.16r2, and now I have to get 5.0.

Anyway, I'm not able to open your schematic because I'm working in 4.16r2, but make sure you have the device packages right for everything. Also check the net connections; a good way is to use the move tool to move large components and make sure the connected nets follow the outline. It's quite possible for nets to look like they touch the symbol outline but not actually be logically connected. I think this was one of the things that ruined the last board I made.

Silly boy, the JTAG header is how you program the FPGA. I suggest you add it in the form of a 6-pin header. Which means you will need to buy a JTAG programmer cable (or build one.)

When you go to load your synthesized design into the fpga, you can either load it into the xilinx PROM, or if you want to bypass it and program the FPGA each time (for debugging, which is VERY USEFUL) then just don't solder on the PROM, but add a jumper between TDI and TDI_THRU on the footprint.

Also, beware the FX2 has NO INTERNAL ROM. That means you'll have to hook it up to USB every time you want to use it! If you look through the datasheet, you can also remove the resistors on SDA/SCL and add a I2C eeprom there with your firmware. This will be necessary once you finalize the design and want to run it outside of the test environment, but I would not worry about it until later.

Check, check, and re-check all your FPGA connections with the datasheet.

I'm not sure if eagle 5.0 is compatible with the old working demo of ELECTRA. How do you plan to route your board?

All the parts plus a board will be about $100. Not sure what tools you're buying, but you will be able to make it just fine with $50 in tools (30W Weller, solder, flux, solder wick, etc). This leaves you with an extra $100 (Which you will NEED because you WILL screw something up the first time.)

Welcome to the world of board design :)
Image

Electric Rain
Senior Member
Posts:1911
Joined:Tue Mar 29, 2005 12:39 pm
PSN Username:Denki_no_Ame
Location:What's it to you? Stalker...
Contact:

Post by Electric Rain » Tue Jun 03, 2008 10:52 pm

I was hoping you'd show up here, Marshall. I thought about PMing you, but I didn't want to bother you until I absolutely had to. I figured I was going to run into some problems during programming, so I wanted to save my "Marshall Card" for that moment. Image
marshallh wrote:Hrumph... I go through all the effort to upgrade from Eagle 4.13 to 4.16r2, and now I have to get 5.0.
Eheh, sorry... I assumed you'd have 5.0 by now. :P You can still look at the PDF...

marshallh wrote:Silly boy, the JTAG header is how you program the FPGA. I suggest you add it in the form of a 6-pin header. Which means you will need to buy a JTAG programmer cable (or build one.)
I know you're smarter than me, but I'm pretty sure Destop has written a program for the FX2 that will program the PROM itself. Kind of like a "Virtual JTAG" of sorts. Refer to the very first post on page 9 of the Dextrose thread. There is discussion after that on how it is done, problems with it, and solutions to those problems... But, you never know, so I'm leaving the headers off to save money, but putting test points on the board just in case.
marshallh wrote:Also, beware the FX2 has NO INTERNAL ROM. That means you'll have to hook it up to USB every time you want to use it! If you look through the datasheet, you can also remove the resistors on SDA/SCL and add a I2C eeprom there with your firmware. This will be necessary once you finalize the design and want to run it outside of the test environment, but I would not worry about it until later.
I know that, but the FX2 must be connected via USB anyway to perform its duty for this project, so why would I bother with a PROM to store the firmware? Can't I just allow it to load up the firmware each time I connect it? I believe I read that this can be done by compiling a driver for it from the files in the "GC_IDE_ATA" directory. Besides, I don't plan on using the USB streaming feature nearly as much as the IDE feature...
marshallh wrote:Check, check, and re-check all your FPGA connections with the datasheet.
I checked the entire schematic thoroughly about 4 times, twice as I was laying it out and twice after I was finished with it. Plus I took the process slow; I confirmed each connection after I made it...
marshallh wrote:I'm not sure if eagle 5.0 is compatible with the old working demo of ELECTRA. How do you plan to route your board?
I don't know what Eagle's built-in auto-router is, but it's awful and retarded. I haven't tried ELECTRA yet, but I'm a control freak, and I would hate giving up that kind of control to an auto-router... So, I think I'm going to end up routing it manually. Image I already did half of it back when I was using ExpressPCB...
marshallh wrote:All the parts plus a board will be about $100. Not sure what tools you're buying, but you will be able to make it just fine with $50 in tools (30W Weller, solder, flux, solder wick, etc). This leaves you with an extra $100 (Which you will NEED because you WILL screw something up the first time.)
Good estimate. It did come out to about $100. Right now, I have it figured at $65.24 in parts from Digikey, ~$32.50 for the board from Sparkfun (or "BatchPCB, I should say), although I might have to tack on another $2.50 or $5.00 for another square inch or two... things are pretty crammed with the current design (2.75" x 1.75"). Then I need $49.37 worth of miscellaneous stuff from Jameco, $65.54 for the hard drive from NewEgg, and then comes the soldering station... I am unsure of this now, because I had a great station picked out on eBay for $152.00 shipped. It was a 3-in-one station, with a soldering iron, a hot-air gun, and a fume extractor nozzle built-in to the iron. But... that was a "May Special" and the same station is going to end up costing me about $20 more anywhere else. I'm still looking into this... I might save my money and get a station without a hot-air gun for now. But I really had my eye this one... :?
marshallh wrote:Welcome to the world of board design :)
Thank you, but I'm really starting to hate it... quickly... Image It was fun when I was just throwing some simple stuff together in ExpressPCB, like an 18 pin PIC with a couple external components, but this is going to be a bit more involved... :cry:

Thanks a lot for your advice and tips. :)
Image

User avatar
vskid
Senior Member
Posts:6314
Joined:Fri Mar 25, 2005 8:25 am
Steam ID:vskid3
Contact:

Post by vskid » Tue Jun 03, 2008 11:19 pm

Electric Rain wrote:$65.54 for the hard drive from NewEgg
I'll send you a 4GB laptop hard drive for $5 shipped. If thats not big enough, I'll sell you a 12GB one for $15 shipped.

Just finish this already so I can think about making a GCp!
Image

Electric Rain
Senior Member
Posts:1911
Joined:Tue Mar 29, 2005 12:39 pm
PSN Username:Denki_no_Ame
Location:What's it to you? Stalker...
Contact:

Post by Electric Rain » Tue Jun 03, 2008 11:30 pm

vskid wrote:
Electric Rain wrote:$65.54 for the hard drive from NewEgg
I'll send you a 4GB laptop hard drive for $5 shipped. If thats not big enough, I'll sell you a 12GB one for $15 shipped.

Just finish this already so I can think about making a GCp!
Oh, that's a very tempting offer... :? I picked out an 80GB... I wanted to make sure it would hold anything and everything I'd want to put on it, but it's probably still overkill. 80GB will hold a minimum of 50 games. 12GB would probably hold 8... Wait, maybe that will be enough... I have to think... Image
Image

User avatar
Triton
Moderator
Posts:7397
Joined:Mon May 24, 2004 12:33 pm
360 GamerTag:triton199
Steam ID:triton199
Location:Iowa
Contact:

Post by Triton » Tue Jun 03, 2008 11:57 pm

so will the hdd be using a regular filesystem for dumping games onto etc, something that will be recognized by a pc or will it be formatted for the gamecube in some weird way and have to interface with the pc via the board you are making? im still very interested in this if you can work up a solution that can be replicated for <100$ lol

Electric Rain
Senior Member
Posts:1911
Joined:Tue Mar 29, 2005 12:39 pm
PSN Username:Denki_no_Ame
Location:What's it to you? Stalker...
Contact:

Post by Electric Rain » Wed Jun 04, 2008 1:07 am

Triton wrote:so will the hdd be using a regular filesystem for dumping games onto etc, something that will be recognized by a pc or will it be formatted for the gamecube in some weird way and have to interface with the pc via the board you are making?
Kinda both. As I understand it, the loader program that I compiled writes a proprietary file system to any hard drive you tell it to. I know this because I accidentally destroyed my hard drive's MBR while I was messing around with it. This is all I know. So yes, it uses a proprietary file system, and it can be written to by your PC (ONLY with the loader program), but I don't actually know if games can be loaded onto the drive over USB, though I assume they can be... somehow...
Image

Locked