Possible explanation for the 4 GB case: The driver is assuming lower or equal 4 GB is FAT16 which was not the case. That's a pretty dumb assumption if true.
4 seconds is about right if you assume the game is 32 MB big. The ones you tried are probably not. Would be pretty interesting to debug AGB P9 to see what's going on.
I have to set the record straight as my measure times were off for the [5 GB + FAT32 + 64 KB]. Using a phone with a timer app, from the start of pressing (A) button or
Open on the touch screen until Metroid Fusion's intro appears, I get an average time of ~7 seconds. For Minish Cap, it's between 7-8 seconds. My earlier assessments were counted with "Mississippi", but only for that specific setup.
MiniTool doesn't have a FAT16 option but does have FAT. Under FAT, the maximum allowed partition size is 4 GB with the default of 64 KB cluster size. Searching in
[wikipedia] File Allocation Table, the entry FAT16B appears to fit the description with "Max. volume size 4 GiB (with 64 KiB clusters)".
The game sizes
- Metroid Fusion *.cia = 9.01 MB
- *.gba rom = 8 MB (untrimmed)
- Zelda Minish Cap *.cia = 16.9 MB
- *.gba rom = 16 MB (untrimmed)
Metroid Fusion load times using a 128 GB card
- 4 GB partition + FAT + 64 KB cluster size = 7 s
- 5 GB partition + FAT32 + 64 KB cluster size = 7 s
- 3.73 GB partition + FAT32 + 32 KB cluster size = 11 s
- 120.25 GB partition + FAT32 + 64 KB cluster size = 15 s
- 59 GB partition + FAT32 + 64 KB cluster size = 18 s
- 120.25 GB partition + FAT32 + 32 KB cluster size = 24 s
- 120.25 GB partition + FAT32 + 2 KB cluster size = 5 m
Sorry, Minish Cap times were not recorded for A-B comparison.
While the general trend holds true that having a smaller partition and larger cluster size reduces the GBA VC load time, the two entries highlighted
blue points to a quirk. This may be related to the graphical glitch that's supposedly within the 59-63 GB range.
I'm not familiar with how Process9 works within the 3DS firmware and don't know how to interpret ARM code in real time. This is as far as my specialty goes in 3DS CFW & homebrew stuff. Even if the root causes behind the graphical glitch were determined, this doesn't guarantee that a solution can be implemented or is even worth the trouble doing so.