TASEmulators / BizHawk

BizHawk is a multi-system emulator written in C#. BizHawk provides nice features for casual gamers such as full screen, and joypad support in addition to full rerecording and debugging tools for all system cores.
http://tasvideos.org/BizHawk.html
Other
2.14k stars 380 forks source link

Update PicoDrive #2898

Open getCursorsExe opened 3 years ago

getCursorsExe commented 3 years ago

Libretro's PicoDrive is a pretty accurate core, but BizHawk's PicoDrive is a lot of steps down. I mean, just force BizHawk to load the official TiTAN Overdrive demo with BizHawk's PicoDrive with File Extensions window, and you see an unbelievably huge difference. Same accuracy as DGen! How is it that bad!? Did you port this from the first release of the PicoDrive!?

Now, believe me, you can get a lot better result of TiTAN Overdrive 2 in PicoDrive thanks to "Accurate" renderer. There are some issues with savestates and audio, though.

I mean, just look at the video showing how PicoDrive can handle TiTAN Overdrive 2 to see what I am talking about (sorry for bad resolution):

https://drive.google.com/file/d/1IHDOPcB2JKY4eTmnWZYy2BuZwyOuhkhu/view?usp=sharing

nattthebear commented 3 years ago

To give an idea of the importance of this core update, how many real games are improved, as opposed to how much indie and/or demoscene garbage?

getCursorsExe commented 3 years ago

It appears that these games are the ones I have never heard of, so I still don't know if I'm right, but this fixes most games (we can't see this since these are not visual bugs). If the core can run demoscene garbage properly, other games must be also running more properly, or this would be a weird core.

vadosnaprimer commented 3 years ago

I have a deja vu.

getCursorsExe commented 3 years ago

Yeah, it is very hard to notice them just because of inaccuracy, but I still know that this optimizes most games, since each accuracy increase means we have to edit some emulator code. For example, the Z80 Emulation is inaccurate in this PicoDrive, while on upstream is not that much.

YoshiRulz commented 3 years ago

This is going to be the lowest priority unless we have a concrete list of games which are emulated badly in EmuHawk (preferably not homebrew titles).

getCursorsExe commented 3 years ago

Yeah, I hate the accuracy of BizHawk's PicoDrive a lot. This is not even the latest version of PicoDrive, seriously!

getCursorsExe commented 3 years ago

Well, the latest version of PicoDrive probably has to be waterboxed due to savestate issues that may occur, like the Z80 restart every time we load a savestate. These issues might be probably responsible for desyncing TAS. I also came across a game crash in Sonic 2 Simon Wai Prototype caused by savestates that crashed whole RetroArch upon soft resetting. But here's a major problem with them: you will notice garbage pixels at the bottom of the screen. This is actually due to the pointer to the output image, but at desynced address. This also happens to be several bytes that are rendered in RGB format. I used TiTAN Overdrive demo to test this but this seems to happen in other games too:

image