Alex Mitchell

Swiss Debuts Memory Card Emulation

If you’re at all interested in exploring unofficial software on the GameCube, you probably already know about Swiss: a home-brew utility that can allow the GameCube to do things like bypass software region restrictions, sharpen its video output, or even load software from SD card adapters. Now, as of version r963, developer Extrems has also implemented memory card emulation on SD card adapters! With this feature, users can save their game data directly to SD card adapters—like the SD Gecko or the SD2SP2—instead of Nintendo’s proprietary media.

To clarify before we continue, the GCLoader is *not* an SD card adapter for the purposes of this post. While the GCLoader supports SD card media, it is an optical drive emulator (ODE) in this context and uses a completely different bus to communicate with the GameCube than the SD Gecko or SD2SP2. The GCLoader firmware also doesn’t include write support (yet), so it remains to be seen if memory card emulation will ever be supported by the GCLoader alone.

Cards are 2043 blocks big, and can be created for the A and B slots.

With that out of the way, Swiss’s memory card emulation support is still under active development and currently has some quirks and caveats:

  • It isn’t currently possible to save to a virtual memory card if you’re also running a game from an SD card adapter. That means that memory card emulation only works if you’re running your games directly from the GameCube’s optical drive or the GCLoader.
  • Extrems believes that simultaneous game loads and memory card emulation should be possible from the same SD card adapter in the future, with the restriction that games with audio streaming (e.g., Wave Race: Blue Storm) wouldn’t be fully supported.
  • You’ll notice some glitches when the virtual memory card is being accessed. As an example, I noticed a brief audio hiccup when I saved or loaded games in Resident Evil 4.
  • Plugging a WaveBird receiver in while a game is running, or even changing the receiver’s frequency, will crash your GameCube as soon as an input is passed to the controller port. 
  • There aren’t enough system resources to support disc read speed emulation and memory card emulation at the same time. As far as I know, the only game that really requires read speed emulation is Tales of Symphonia, so this shouldn’t affect much of the GameCube’s library.
  • As far as I know, it is currently only possible to create a 2043 block virtual memory card. The biggest official card Nintendo ever released was 1019 blocks, and those did have some small issues with a handful of games. UPDATE: Extrems has said that they’ve used Swiss to fix the few games that had trouble saving on ≥1019 block cards, so there shouldn’t be any issues caused by using a 2043 block card.
  • A nifty trick is that you can have a virtual memory card in slot A and a real card in slot B, which allows you to copy saves between them. You’ll still have to find ways to work around limitations that some games have with copy permissions (e.g., F-Zero GX) but this is an extremely welcome feature.
  • Swiss will create separate virtual memory cards for each of the three worldwide regions (JPN/USA/EUR).
  • As an aside about physical memory cards: Swiss r963 supports using any region memory card with any region game. Memory card hardware in different regions is physically interchangeable, but memory cards have to be formatted for the region they’re being used in. Until now, that meant that North American games would try to erase a Japanese formatted memory card. With Swiss r963, you can use whatever format you want with whatever game you want and it should work just fine.

My limited time with memory card emulation has been positive so far! I was able to create virtual memory cards in both the A and B slots, and could even manage saves by accessing the GameCube’s BIOS with the IPL option enabled in Swiss. While this feature is still a little rough around the edges, and shouldn’t be trusted with important save data yet, the future of memory card emulation in Swiss is something I’m going to be keeping a very close eye on.