2
\$\begingroup\$

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)
  • Another, already-modded/hacked, 'Dolphin' console

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"

From the "DOL" you can tell that these are proprietary to Nintendo, but I found a few references to MX25L160* 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 |

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:

| 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       |   -    |

CF vs CFI vs CMOS vs SD?

I suppose I'll have to take a closer look at these to determine if the pinouts are the same between the normal flash and the SD.

What I want some help determining if it's reasonable to think that I could:

  • Wire this Flash cart to an SD card adapter and read it with an off-the-shelf SD reader?
  • Or perhaps using a CF adapter card and CF reader instead?
  • Write the raw contents of this Flash cart to an SD card?
  • Plug such an SD card into the memory card slot and have it recognized as a normal memory card?

Or is that unreasonable and likely (or certain) than such an effort will yield no gains?

\$\endgroup\$
7
\$\begingroup\$

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

They aren't. The Nintendo memory cards are serial flash devices, which are accessed over SPI.

SD cards support an SPI mode, so with appropriate wiring and software, they can be accessed by a GameCube. However, the converse is not true. Nintendo memory cards are not SD cards, and cannot be made to behave like one.

Or is that unreasonable and likely (or certain) than such an effort will yield no gains?

All of the things you're describing will be futile. The Nintendo memory device does not implement the SD protocol (nor Compact Flash), so it will never be readable as one of those devices.

I found a few references to MX devices that I think are probably similar (CMOS Serial Flash EEPROM)

The "MX" prefix means the part is made by Macronix, a large manufacturer of memory devices. It doesn't imply anything beyond that.

\$\endgroup\$
  • \$\begingroup\$ If the card the asker wants to write is an SPI device, presumably something like an STM32 bluepill as a delegate for flashrom could do it, but there will be a lot of "figuring out" to do. Finding a tutorial from someone in the modding community and using what they used is likely to be most effective. \$\endgroup\$ – Chris Stratton Sep 29 at 1:46
  • \$\begingroup\$ I meant that the datasheet for the Macronix devices that I linked to refers to them as CMOS Serial Flash EEPROM. \$\endgroup\$ – CoolAJ86 Sep 29 at 2:05
  • \$\begingroup\$ @CoolAJ86 - where things are perhaps getting confused is that SPI flash and an SD card (can) have the same interface, but the protocol is different. A card reader won't be able to read SPI flash; a typical SPI host expecting a quasi-standard SPI flash won't be able to read a card. It takes unique software, and for fixed function reader chips, that would be the software in them, not on your PC. \$\endgroup\$ – Chris Stratton Sep 29 at 2:35
  • \$\begingroup\$ @CoolAJ86 Not all Macronix devices are serial flash EEPROMs. They are probably some sort of memory device, since that's what Macronix specializes in making, but you can't assume any more than that. And the card with the 39VF1601 flash has a second epoxy-blob IC on it which might be doing some sort of translation. \$\endgroup\$ – duskwuff Sep 29 at 3:07
  • 1
    \$\begingroup\$ The actual transport appears to be SPI. You linked to the specification for the API that host software sees, which is a different view of things. This is why suitable software on the host can talk to an SD card in SPI mode. \$\endgroup\$ – Chris Stratton Sep 29 at 4:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.