VMU free blocks - Free vs Game and defrag curiosities
Posted: Sun Apr 30, 2023 1:53 am
I've been messing around with my VMUs and looking into the technical specifications. I noticed that in the File management page it lists "Free"
and "Game", with the corresponding blocks free. In a VMU with a fresh filesystem, it lists Free: 200 and Game: 128.
The maximum size of a VMU game is 128 blocks, but I was curious about there being a separate field. As the VMU fills up with game saves, though, the Game field will drop below 128 even if there is more than 128 blocks free.
For example, I had Free: 90, Game: 32 at one stage. This piqued my curiosity.
I couldn't find any discussion about this elsewhere, but based on the fact that the VMU flash storage uses a FAT filesystem [which is nicely documented in various places and explains where the extra 40 blocks come from if enabled], I have assumed that a game install requires a contiguous number of blocks to install to, and thus the value of "32" means there is a section of the FAT storage with 32 blocks free, but other areas are fragmented. Even further, does this 128 blocks perhaps need to be at the very beginning or end of the filesystem? Based on the limited resources of the VMU, having a statically defined address to run code from would make sense.
I've got VMU explorer which of course has a defrag function, but I haven't used it yet. But interestingly, I tried installing the mini game from sonic-adventure 1 with Free: 130 Game: 52, and it did succeed in installing the game. It did take quite a while longer to install than anticipated, which makes me wonder if SA1 [or any other games] perform their own defrag if necessary?
and "Game", with the corresponding blocks free. In a VMU with a fresh filesystem, it lists Free: 200 and Game: 128.
The maximum size of a VMU game is 128 blocks, but I was curious about there being a separate field. As the VMU fills up with game saves, though, the Game field will drop below 128 even if there is more than 128 blocks free.
For example, I had Free: 90, Game: 32 at one stage. This piqued my curiosity.
I couldn't find any discussion about this elsewhere, but based on the fact that the VMU flash storage uses a FAT filesystem [which is nicely documented in various places and explains where the extra 40 blocks come from if enabled], I have assumed that a game install requires a contiguous number of blocks to install to, and thus the value of "32" means there is a section of the FAT storage with 32 blocks free, but other areas are fragmented. Even further, does this 128 blocks perhaps need to be at the very beginning or end of the filesystem? Based on the limited resources of the VMU, having a statically defined address to run code from would make sense.
I've got VMU explorer which of course has a defrag function, but I haven't used it yet. But interestingly, I tried installing the mini game from sonic-adventure 1 with Free: 130 Game: 52, and it did succeed in installing the game. It did take quite a while longer to install than anticipated, which makes me wonder if SA1 [or any other games] perform their own defrag if necessary?