Open slinga-homebrew opened 4 years ago
Hi mate! Thanks for all the reports, I'm sorry I haven't had time to get to them yet.
This needs documentation, but in short, the mode switch currently only enables and disables the extra Satiator functionality. (This needs to be disabled during games as otherwise they would detect the MPEG card as being present.)
If there is a use case for switching back to the raw drive, I'd be interested to hear it!
Thanks for the response. Let me clarify the issue I'm seeing. The main feature of "Save Game Copier" is to copy save files from the CD to the Saturn. What I'm seeing is that after I call s_mode(S_MODE_USBFS) I am no longer able to read from my CD. Since this is running on the Satiator (and I'm testing on Yabause-Satiator) we aren't talking about the physical CD drive, we are talking about the ISO.
If I don't call s_mode(S_MODE_USBFS) before accessing the filesystem my program just hangs. If I access the CD first (the "CD Memory" option on SGC) I can see the saves file. This stops working once I call s_mode(S_MODE_USBFS). I assumed calling s_mode(S_MODE_CDROM) would fix things.
Is it possible there's a bug in S_MODE_CDROM? It's also possible I broke something. Both calls are returning 0 btw.
Yes, I'm guessing I never implemented switching back to CD mode in the Yabause fork... which I think needs some work in other areas too.
I'd like to do some fairly significant rearchitecture of the Satiator access stuff (eg. peel it out into a library, remove the dependency on iapetus, provide something lighter than newlib for integration, etc.) and I'd welcome your input. Would you mind if I contact you out of band?
Sure I'll message you on discord.
I have a very early alpha of my Save Game Copier: https://github.com/slinga-homebrew/Save-Game-Copier.
After I access the Satiator for the first time I can no longer access the CD drive. I assumed calling s_mode(S_MODE_CDROM); would re-enable the CD drive but I must be missing something. I guess it's not a huge deal as why would you want to copy saves from an ISO to the Satiator.