Sense the Gamecube can read SD cards, you might think that an SD card reader could read Gamecube cards, and that perhaps you could use an SD card as a memory card.

Well, let's see...

TL;DR

Nope.

  • An SD reader CANNOT be wired to read a GC Memory Card
  • An SD card CANNOT be wired to look like a GC Memory Card

Why not? Because...

  • Gamecube Memory Cards use the GC-proprietary EXI protocol
  • The SD Gecko reads the SD cards via SPI

In short: EXI and SPI are not compatible.

Backstory

I've decided to run "Homebrew" on my Gamecube (and writing Homebrew for n00bs to document the process). Unfortunately, it seems that there's no way to do this without buying special hardware. Specifically it seems that you have to have at least one of

  • XenoGC (you solder it on to put the DVD drive in debug mode)
  • Action Replay (a manufactured hacked game disc)
  • Hacked Memory Card (pre-loaded with exploit game saves)

Now it turns out there's the SD Gecko (DOL-SDA-01), which allows you to use a standard SD card for extra storage.

"SD Gecko Wiring Diagram"

Seeing this I thought that surely the Official, Authentic Nintendo Memory Cards were just plain SD cards in a proprietary housing.

I thought perhaps I could use an emulator to write a raw memory card file to the SD and thereby avoid paying (a measly) $25-$35 for the SD Media Launcher or a Swiss Boot Card.

I failed, I ended up buying the Action Replay Launcher, but I'm still trying, just to tackle the challenge - the battle cry of Freedom at and all that...

I used that boot disc to load Swiss and hack a memory card with GCMM and now I'm still wondering if there's a way for me to "rip" the memory card and post it for others to use.

Probably not. But if not, then why?

CMOS Inside?

When I cracked open a Gamecube memory card, I found that it's actually CMOS Flash inside, not SD.

Doing some searching on the numbers I found inside I came across http://nus001.web.fc2.com/dol_mem_card/dol_mem_card.html, which has helped me dig up more model numbers and some datasheets.

The official memory cards have these specs:

(it seems that 5 "blocks" are used for a file system table or some such)

|  59 Block  |   251 Block    |  1019 Block   |
| :--------: | :------------: | :-----------: |
|    Grey    |     Black      |     White     |
|   4Mbit    |     16Mbit     |    64Mbit     |
|            |                |               |
|  Nintendo  |    Nintendo    |   Nintendo    |
|  DOL-008   |    DOL-014     |    DOL-020    |
| DOL-4MC-01 |   DOL-4MC-10   |  DL-64MC-01   |
|            |                |               |
|     MX     | MX (Macronix)  | SEC (Samsung) |
|     ?      |    S030158     |   KOREA 937   |
|     ?      | MX25L1601MC-60 |  KM29U64000T  |
|  ERM4-DOL  |   ERM16-DOL    |       ?       |
|     ?      |     1E7548     |   RRH004AA    |

"59 Block 4Mbit ERM4-DOL Memory Card" "251 Block 16Mbit ERM16-DOL Memory Card"

(photo credit to nus001)

From the "DOL" you can tell that these are proprietary to Nintendo, but I found a few references to MX devices that I think are probably similar (CMOS Serial Flash EEPROM):

I found an aftermarket card with these specs:

| 251 Block |
| :-------: |
|    SST    |
| 39VF1601  |
| 70-4C-EK  |
| 0449260-D |

(photo credit to cdq1985)

I found the SST39VF1601-70-4C-EK datasheet on mouser:

It says it's CMOS I/O and CFI compatible.

Another guide gives this pinout info for the Gamecube Memory Card (GC MC).

Here's a comparison with the EXI/Gecko wiring diagram above:

| Pin | GC MC (EXI)  | SD Gecko (SPI) | SD Pin |
| :-: | :----------: | :------------: | :----: |
|  1  |    SENSE     |     Sense      |   -    |
|  2  |     GND      |      VSS1      |   P3   |
|  3  |     INT      |    INT (NC)    |   -    |
|  4  |     3.3V     |   VDD1 3.3v    |   P4   |
|  5  |      SO      |       DI       |   P2   |
|  6  |      5V      |  VDD2 5V (NC)  |   -    |
|  7  |      SI      |       DO       |   P7   |
|  8  |     3.3V     |   VDD1 3.3v    |   -    |
|  9  |      CS      |       CS       |   P1   |
| 10  | GND (Shield) |      VSS2      |   P6   |
| 11  |     SCLK     |      CLK       |   P5   |
| 12  |    SENSE     |     Sense      |   -    |

Why can't I use an SD Card?

Upon closer inspection of the pinouts and some of the materials, what I found is that while the Official Nintendo cards appear to be a single Flash EEPROM, the 3rd party cards have an extra microcontroller in them.

This means that although 'the cube' uses SPI to read the SD card through the SD Gecko, the logic for the memory card is more proprietary and complex.

In particular, I noticed "EXI" on a few of the wiring diagrams which quickly lead me to discover that its a special Gamecube-specific protocol.

I also got a little help from the Electronics Stack Exchange.

So, in conclusion, is it reasonable to thing that you could...

  • Wire the GC flash cart to an SD card adapter and read it with an off-the-shelf SD reader?
    • No.
  • Or perhaps using a CF adapter card and CF reader instead?
    • No.
  • Write the raw contents of this Flash cart to an SD card?
    • Maybe with GCCM, but... no.
  • Plug such an SD card into the memory card slot and have it recognized as a normal memory card?
    • Absolutely not.

It's unreasonable - due to the differences between EXI and SPI (and EXI and SD), and certain that such an effort will yield no gains.

You could, of course, program a microcontroller to talk between the two... but that doesn't help at all in the direction of a lower-cost, more convenient, non-specialized way to get homebrew going, which is what I was aiming for in the first place.


By AJ ONeal

If you loved this and want more like it, sign up!


Did I make your day?
Buy me a coffeeBuy me a coffee  

(you can learn about the bigger picture I'm working towards on my patreon page )



Published

2019-9-28



Buy me a coffeeBuy me a coffee


  73% of Goal Reached


Want more like this?