FAT32 users beware

I’ve traced the problem reported in the previous post. As I suspected, it is related to the type of file system on the microSD card. There appears to be an issue with the library routine that DSmaps invokes to create its working folder in the root of the microSD card. Using a little test program, I can consistently cause corruption when using FAT32 but never when using FAT16.

N.B. Most microSD cards come pre-formatted with the FAT16 file system, so unless you have re-formatted your card to FAT32, you will not be affected by this problem. That said, the standard caveats when using any pre-release software still apply.

To determine if you are affected, pop your microSD card into a PC and run the chkdsk command on the command line (if your card appears as the E: drive, the command syntax would be “chkdsk E:” – be careful to use the correct drive letter!). The first line of output from chkdsk will tell you the file system type, where “FAT” means that you’re using FAT16 and “FAT32” means you’re using FAT32. If file system corruption is reported, re-run the command in fix mode (following the previous example, the command syntax would be “chkdsk E: /F”).

I’ve contacted the original creator of the library I’m using, in an effort to get some help. With a bit of luck there will be a simple coding work-around, in which case I’ll issue a patched revision asap. In the meantime, if you are using FAT32 and want to try out DSmaps without re-formatting your card, simply create the DSMAPS working folder on your card before you start DSmaps for the first time – if the folder is already present I don’t need to create it so the problem doesn’t arise.

Advertisements

2 Responses to FAT32 users beware

  1. Ryan says:

    DLDI? Why would you use any other library?

  2. DMC says:

    @Ryan – DLDI is just part of libfat. It’s an abstraction of a low level storage facility that libfat invokes to interact with the storage hardware. Each implementation of the DLDI interface (a ‘patch’ to use libfat-speak) supports a specific type of homebrew device.

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 )

Google+ photo

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

Connecting to %s

%d bloggers like this: