Use large SD Cards on the Wii

Normally, the Wii normally won’t allow SD Cards larger than 2GB, so larger cards such as the typical 4GB variety are completely useless for storing all of your games and save information. It turns out that with a few tricks, you can fool your Wii into accepting these larger cards.

The hack, documented in detail by Knoxximus over at cheapassgamer.com, basically amounts to filling up the card with junk data until the remaining free space is less than 2GB. You first use a PC with the SDFormatter program to initially format the card (since the Wii won’t format the 4GB card to begin with). Then you copy some files to the disk using your PC, bringing the free space below 2GB. Then the disk magically works in the Wii.

Though the filler data takes up usable space on the disk, you can remove filler files as the disk fills up. Essentially, you can access all 4GB of the disk – you just need to ensure that free space at any point in time is less than 2GB. Knoxximus has a PC utility that will create a bunch of files on your SD Card with a user specified size, which makes this whole process fairly simple. For instance, you can make a folder with hundreds of 100MB files, and you just delete a dummy file or two whenever you fill up your card with Wii files.

It sounds like the 2GB limit is completely arbitrary, since writing to a 4GB disk works without problem. Somewhere in the Wii’s software, it’s just checking to make sure there isn’t more than 2GB available on the drive. I’m not sure why the developers didn’t check the volume size of the disk instead of the just the available space, but thankfully they didn’t or this hack wouldn’t be possible.

The Inclusive 4GB SD Card Workaround Solution for Wii
SDFormatter

6 Responses to Use large SD Cards on the Wii

  1. Jason Howat on said:

    I don’t think the 2GB limit is completely arbitrary. I suspect a more likely explanation is that the Wii is using a 32 bit signed integer to store the amount of free space. The largest number that a 32 bit signed integer can hold is just 2,147,483,647. Add one to that and it overflows.

  2. I agree with Jason. It was the first thought that crossed my mind while reading the article.

  3. Jason Striegel on said:

    Thanks Jason. That makes quite a bit of sense if you assume the variable is signed. Anything larger than 2GB (and smaller than 4GB) would appear to be negative.. That explains why you can load the disk but it won’t write to it. It just thinks there’s no space left. I wonder what would happen if you had a larger card that had 5GB free.

  4. SuperJdynamite on said:

    SD cards aren’t organized and addressed linearly. Like most large address spaces you organize the space into large blocks and then smaller partitions within those blocks. You actually need a few addresses to get at a particular piece of data, but all of those addresses fit within the register size of the CPU architecture.

    In the case of SD, a card can have up to 4096 clusters, with up to 512 blocks per cluster, with up to 2048 bytes per block.

    Through the years these size limits have changed and the way that the configuration of clusters, blocks, and bytes was stored on the card changed as well. There are a lot of different cards out there written to a lot of different revisions of the SD spec.

    I’m guessing that to maintain compatibility with every type of card that somebody could jam into their Wii the engineers chose to cap the capacity to 2GB rather than having to deal with customers calling and asking why their cards aren’t reporting the correct capacity.

  5. Tony Cheetham on said:

    Bit of a coincidence?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s