This is a service release to address the file system corruption problems that have affected a very small number of users in recent days. You can download it from here. Two changes have been made:
- I have fixed a bug in the library that DSmaps uses to interact with the file system on the microSD card. At issue was a fairly obscure detail in the FAT file system specification, which results in the ‘rule’ for top-level folders being subtly different to other folders. The bug only affects the FAT32 variant of the file system. Judging from comments I’ve received and postings in various forums, this bug seems to have affected other homebrew projects too. So I’ve passed my fix to the maintainers of the library and I guess it may be included in their next release. That’s up to them.
- In getting familiar with the FAT specification, I’ve realised just how incredibly badly it accommodates long file names. I had no idea what a nasty hack it is. And supporting this hack adds considerable complexity to the file system library that DSmaps uses. All this complexity is completely shortcutted however if file names follow the ancient MS-DOS “filename.ext” pattern. As a result, I’ve changed the naming scheme for files in the tile cache so that they do just that. The upside for DSmaps users is better performance, less space used on your microSD card, and far less complexity to go wrong. The downside is that any files already in your tile cache will be silently ignored once you install this service release. It might be better to completely blow away your DSMAPS folder and start again.
As a service release, I haven’t made any other changes to DSmaps, i.e. there are no new features to play with. But now that these file system woes are hopefully behind me (it has taken two nights) I can get back to working on release 0.3a. Expect to see that in 2-3 weeks, and please keep those comments coming!