libretro / Genesis-Plus-GX-Wide

Widescreen modification of Genesis Plus GX
Other
22 stars 17 forks source link

Different options than the GX? Update? #1

Closed ToniBC closed 3 years ago

ToniBC commented 3 years ago

Hello, I have a question that surely many will ask, and it is.

Why a Genesis Plus GX variant?

Then, after looking at it a bit, I see that this has some different options, others are missing, but for example the MSU-MD support is complete here, which indicates that it is up to date with that of ekeeke and in the Genesis GX Plus it is not it's updated.

The FM options here are separated, in the other they are a single unit, but in the "standalone" there are volume options that not in this one. It's a mess.

It is somewhat confusing, because if it is the same as the "standalone" with the addition of Wide, because separate it and as it seems that it is more updated, it would not be better to use this.

It would be good to explain this a little bit to avoid mess, because it is not only the Wide addition.

If we want to use the best emulation option, GX or GX Wide?

Thanks for your work.

ds22x commented 3 years ago

It is an interesting choice to base it on upstream to be sure, but I'd say a welcome one as well.

ToniBC commented 3 years ago

I think that this version is updated.

Genesis Plus GX = MSU-MD does not work at all if bin + cue are used Genesis Plus GX (ekeeke Libretro) = Works MSU-MD without problems. Genesis Plus GX Wide = Works also without problems.

According to comments in the ekeeke repository, that the builbot is not compiling the latest changes or they did not apply them, so it does not work.

Seeing this core, which seems to be updated, that's why it seems strange to me.

It generates doubts, because if this is updated and has extras, it does not make sense to have the other, it would be to change one for another. That's why I asked.

inactive123 commented 3 years ago

@ds22x I'd be OK with rebasing the non-Wide core but we have to be absolutely sure that if we do, we don't lose anything in the process that is on libretro/Genesis-Plus-GX right now. IIRC he just didn't want runahead to be implemented and that necessitated a non-shallow fork. Who knows though, I'm open to finding solutions as long as RetroArch endusers don't get inconvenienced in a negative way (by taking out features for instance as important as runahead).

ds22x commented 3 years ago

From what I understand, any code that touches the core folder files is essentially off-limits in terms of modifying for Libretro exclusive code, as it would otherwise impact the compilation of the other builds (which is why I had to fix the savestate bug for the left border option differently). I'd believe that would be why implementing runahead in upstream would be considered problematic.

EDIT: Took a few hours, but managed to sync the non-wide core with upstream: https://github.com/ds22x/Genesis-Plus-GX

inactive123 commented 3 years ago

Thats cool thanks, does this still have the runahead improvements?

what we could do is send a PR to ekeeke that has everything synced but the runahead stuff and then for the libretro repo itself we apply the extra runahead code.

Runahead is important to users and without these changes, people immediately reported that runahead ran badly on Wide. So we need it for the buildbot core no matter what.

ds22x commented 3 years ago

It's essentially the Libretro core with all the additions from upstream cherry-picked and applied, making sure it doesn't break anything. Also went ahead and made a separate fork of the resync with the widescreen modifications on top here: https://github.com/ds22x/Genesis-Plus-GX-Wide

ds22x commented 3 years ago

Closing issue as it got resolved by https://github.com/libretro/Genesis-Plus-GX-Wide/pull/7