ekeeke / Genesis-Plus-GX

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

Batman Returns sound lags with Nuked (YM2612) #454

Closed oldghost83 closed 2 years ago

oldghost83 commented 2 years ago

Hi! I noticed sound lags in this game sometime ago, but I didn't think it could be...maybe...natural? ) I just reinstalled Retroarch, set it up from the ground and it sounded like it fixed the problem, though I might have not changed the FM method because I could not understand back then it was a culprit. Or may have been. I sit and wonder, considering nuked options and Blast Em emulator are about cycle accuracy, maybe it sounded like this, broken, on model 1 consoles? I somehow doubt it...

Oh, ok, from the beginning, lag. You can hear it right when the first level starts, I think when something or someone else is moving on screen or maybe make some sounds. You can jump and gargoyle will fly and it should happen. Sounds disappear, music is muffled, some nasty garbage going on. Sometimes music plays normally, sometimes it slows. This will continue later in the stage and maybe game, didn't play like this far. Blast Em is affected too! But it, to my surprise, works great with Nuked (YM3438) (which they were installing on model 2s, right?). That's why I thought maybe it was a bug? It works ok with MAME YM2612, though, but as it's not cycle accurate, I suppose it could have a workaround for that bug or something.

ekeeke commented 2 years ago

I think this can happen with some games because of differences between discrete YM2612 chip used in Model 1 consoles and ASIC version used in Model 2 consoles, for example I know Earthworm Jim music stutters on model 1 consoles because it reads busy flag from invalid address, which has different effects on discrete fm chip version (which nuked ym2612 emulates) versus asic version (which corresponds to nuked ym3438). MAME ym2612 is indeed less accurate than nuked core or blastem fm core as it does not fully emulate that difference.

Test it with real model 1 console and if it does not sound the same as with nuked core or blastem emu, then open an issue on nuked repository and in blastem repository as I am not responsible of these cores.

oldghost83 commented 2 years ago

Thank you for explanation! I couldn't find info about this on the internet. Unfortunately, I don't have model 1, I had model 2 all my life and I'm more than fine with YM3438 for that matter. But I read somewhere that on the contrary side, some of the early games may too work funny on model 2 consoles, so we need both, I guess. I would be very very grateful to anyone with model 1 who can check it or knows about this and can confirm that it's a hardware thing. Thank you, ekeeke! For your work.

Update: yeah, it seems that's one nasty initial bug with model 1s and discrete YM2612. Someone made a patch to rid our roms from this plaque https://www.romhacking.net/hacks/5196/ Wow, now I started to appreciate nuked FMs even more. As a perfectionist myself, I guess, I wanted to help make it even better, but I think it already was. As is your emulator ;) It's just I like to notice little things ) Never hurts to try and help, but it's too bad that in most cases my remarks are left as annoyances for developers ))) Thanks again and sorry for bothering. Might be useful for someone.