Frankly, I just became fully confused by the versions involved here.
There's 0.13 beta, which I unknowingly compiled against for a whole month. Then there's 1.2, which you say is 0.12 (worse than 0.13 beta) but I don't see any problems with it at all, and that's the version that improved CATSFC to the point of 95%+ controller sync in CATSFC 1.28. Then there's your version, based on 0.13 beta, communicating with an unknown libds2b.a. I have one more version too in the master branch of the git repository for CATSFC, which is an unknown version but with DMA in it.
edit: What you could do is compile my latest master (stable) branch with your SDK, replacing ds2_setCPUclocklevel with ds2_setCPULevel and the names of some DMA functions, and tell me what happens when you tap Options. If it crashes right away, then that's a problem with fat_getDiskSpaceInfo. If it doesn't, then try your CPU clocks.
There's 0.13 beta, which I unknowingly compiled against for a whole month. Then there's 1.2, which you say is 0.12 (worse than 0.13 beta) but I don't see any problems with it at all, and that's the version that improved CATSFC to the point of 95%+ controller sync in CATSFC 1.28. Then there's your version, based on 0.13 beta, communicating with an unknown libds2b.a. I have one more version too in the master branch of the git repository for CATSFC, which is an unknown version but with DMA in it.
edit: What you could do is compile my latest master (stable) branch with your SDK, replacing ds2_setCPUclocklevel with ds2_setCPULevel and the names of some DMA functions, and tell me what happens when you tap Options. If it crashes right away, then that's a problem with fat_getDiskSpaceInfo. If it doesn't, then try your CPU clocks.