ekeeke / Genesis-Plus-GX

An enhanced port of Genesis Plus - accurate & portable Sega 8/16 bit emulator
Other
676 stars 194 forks source link

[Wii] Sega CD Compatibility Broken #438

Closed Sowden closed 2 years ago

Sowden commented 2 years ago

Hey guys. I just hooked up my Wii U for the first time in a while, and I wanted to update my apps. I opened Homebrew Browser and downloaded the latest Genesis Plus GX that they had, ran it and it worked great. But I wanted to get the latest build off of the github as I was pretty sure that it wasn't up on the Homebrew Browser server. Downloaded it, put it on my SDcard. But when I went to load a Sega CD game, the BIOS would boot but it didn't detect a CD. I hit reset, so that it thought the CD tray was ejected, hit start to pop it back in, and it still didn't detect a CD. My Road Rash .CUE and .BIN worked #on the last version that Homebrew Browser had. I posted about it on the GBAtemp forms and someone else confirmed it. Could anyone take a look at this? Thanks.

saulfabregwiivc commented 2 years ago

A small info: it last worked on 1.7.5RC1 r24-10-2021 build but i can't recall in what exact build or commit caused this issue.

ekeeke commented 2 years ago

Try to delete your config.ini file (in sd:/genplus) and see if it solves the problem.

I added a new setting recently to enable/disable CD access time emulation and it's possible the config did not reset to default as it should when switching to last version and this setting is being loaded with an invalid value (it should be 0 or 1 but any other value could indeed break CD compatibility).

Sowden commented 2 years ago

Sure enough. Deleting my config.ini file did the trick. Thanks for your help.

ekeeke commented 2 years ago

Thanks for the report, I still need to add some code robustness to prevent this.

saulfabregwiivc commented 2 years ago

I will try your suggestion, @ekeeke

Anyways, even when this can be fixed temporally it needs a permanent fix :P

EDIT: Deleting my old ini files and letting the new build generate new ones solved the problem, thanks! As i've suggested, this needs still a permanent fix. Maybe some code for check if any setting is missing in the config.ini file?

ekeeke commented 2 years ago

Yes, that's exactly what I said just above and the reason why I reopened this. Also it is technically not a temporary fix, once you delete your config file, it will be reseted to default only once and everything will work normally from now on. It's more to add some robustness when loading config to avoid this situation occuring next time i add a new setting or in general when people switch from one version to another.

ekeeke commented 2 years ago

This commit https://github.com/ekeeke/Genesis-Plus-GX/commit/e2fd222349772194dc15eb71ba021dad077812a7 bumps up config file version and will force config reset when loading older config file