Closed f3bandit closed 2 years ago
After some testing, it seems there's some kind of conflict when using latest swiss versions, which prevent libfat's implementation of sd2sp2 from correctly working (it can't even detect sd2sp2 being inserted if swiss has been launched at some point).
Using old swiss versions (with no sd2sp2 support) seems to allow gcmm sd2sp2 implementation work. Gonna see if I can do something on my end, but maybe this can be addressed at swiss too. Afaik swiss doesn't use libfat anymore, that's probably the reason.
which verion of swiss do you reccomend?
I don't think it's a problem with swiss anymore, 1.4g beta 2 and 3 won't work for me...at least not if I boot from sd2sp2.
Booting from memory card or sdloader works, but it seems that once sd2sp2 device has been used it won't work anymore, this includes using swiss.
I'm not sure what the problem might be, maybe it's some kind of bug in libfat's implementation of sd2sp2 (swiss uses it's own library, which supports many more devices). Gonna do some more tests this afternoon, but I'm commited to get this working.
The issue is in libogc. As WinterMute blocked me from the devkitPro organization last year, I cannot (attempt to) submit a fix.
would a sdgecko solve my issue?
Not necessarily. They can also be affected by the bug.
Oh I see. That was something I was gonna try too: use swiss's fork of libogc. Thanks for pointing it out, I'll switch to yours, If I see any of card.c's bug fixes found over the years missing I'll do a PR to swiss's fork.
Too bad this means going back to using custom card.c/h, I'll try to keep it in a way it will be easy to get back to libogc in case the official one merges changes.
I can't get the changes needed done until friday unfortunately.
The official repository for this fork is now https://github.com/extremscorner/libogc2. You'll also need https://github.com/extremscorner/libfat. See extremscorner/gamecube-examples@0c92030198f6cbc540d941cc4243abd0dcedc5f8 for a migration example.
Thank you very much. By the way, I've been checking card.c and this is missing: https://github.com/devkitPro/libogc/issues/113
I made a pull request already.
@f3bandit finally it's working fine on my end, thanks to Extrems's pointers.
Besides SD2SP2 working and using Extrems's updated libfat, there's also a fix Extrems implemented in libogc2 in january in card.c, current device is now shown on screen (below version number) and the boot secuence has been updated.
I've also added some command line arguments to use with swiss to make it easier to use if one prefers using sdgecko over sd2sp2 for storage (in case someone uses both). I've included a txt with detailed information.
Please try this version @f3bandit: gcmm1.5.1beta1.zip
@suloku You sir are a champion of light, ty sir for your hard work! :)
@suloku Works brilliantly thank you again good sir! :)
You should probably add GC Loader support, as you can now.
I've combed through the CARD API and made more corrections.
I've seen the changes on libogc2, there seeems to have been lots of loose ends still there. About gcloader support, I don't see any reason not to add it, besides not owning one so I won't be able to test. If someone is willing to test I'll work on it. Also, it seems I should code some kind of device selection screen. I'll dig into how swiss detects an sd gecko being inserted, as the only method I can think of right now is trying to mount both memcard slots and asume that wrong device error will be an sd gecko.
Also, dark theme seems like a great idea, I'll test your designs, they look fantastic. If you still have the psd would you mind sending it to sulokutdcmago@gmail.com?
Thank you, it was so it can be added to source if future editong is needed
@f3bandit finally it's working fine on my end, thanks to Extrems's pointers.
Besides SD2SP2 working and using Extrems's updated libfat, there's also a fix Extrems implemented in libogc2 in january in card.c, current device is now shown on screen (below version number) and the boot secuence has been updated.
I've also added some command line arguments to use with swiss to make it easier to use if one prefers using sdgecko over sd2sp2 for storage (in case someone uses both). I've included a txt with detailed information.
Please try this version @f3bandit: gcmm1.5.1beta1.zip
You are a legend, I spent hours trying to figure out how to make it work. Thank you!
looks amazing and works great, thank you so much! you are a god among men :)
On Sat, Nov 20, 2021 at 7:16 AM suloku @.***> wrote:
Closed #43 https://github.com/suloku/gcmm/issues/43.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/suloku/gcmm/issues/43#event-5648881807, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABFW3XH4N3YAXFWPOBYJZGDUM6GQ5ANCNFSM5FTVKPHQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
SD2SP2 is detected perfectly in version 14g beta 2 and 14g beta 3. can backup and restore game saves and restore no problem. version 15 does not detect SD2SP2 at all. thx :)