gyrovorbis / libevmu

Accurate, full-featured, cross-platform library aiming to emulate every aspect of the Sega Dreamcast's Visual Memory Unit (VMU).
http://vmu.elysianshadows.com
MIT License
39 stars 5 forks source link

Inaccuracies with Pinta's Quest #6

Open ChaseLewis opened 1 week ago

ChaseLewis commented 1 week ago

So I'm testing Pinta's Quest and I've noticed if I have the RAM viewer open in the emulator I get ALOT of screen tearing. I posted a lot of stuff early, but I've just noticed all the screen tearing goes away if I close the RAM viewer. I'm wondering if some of the inaccuracies I was seeing in emulation of Pinta's Quest had to do with having the RAM viewer open. I would think the RAM viewer wouldn't effect anything if it was just open.

Example GIF PintaRAMViewerError

VMS File SkiesOfArcadiaPinataQuest.zip

gyrovorbis commented 1 week ago

Whoah, you guys are doing cool shit it sounds like with what is one of the most advanced ROMs on the device...

Whelp, you guys have found an actual known bug on that build of ElysianVMU--yes, the freaking RAM viewer can actually intrude-on and modify the contents of memory itself. How could such an issue have been missed or have happened to begin with? It's because one of the registers controlling WRAM actually has side-effects when being read from, which the UI is doing...

I actually believe that the issue has been addressed within this codebase, along with lots and LOTS Of other micro inaccuracies, but... I have just not had time to finish up and cut off a new release for the website. I'm also helping with the DC port of GTA3 and work on KallistiOS which is about to have a big release, so my upcoming ElysianVMU2 release had to be on hold...

Now I would think that the inaccuracies would be just graphical, though, because the registers with those side-effects are for accessing WRAM, which is TYPICALLY just used as an intermediate frame-buffer for advanced VM ROMs like this...

gyrovorbis commented 1 week ago

Did you get this binary from evmu.elysianshadows.com or from the "release" here on GH on the right of the main page? The one on GitHub is FAR newer and has far fewer bugs and new features, BUT, I do not recall whether this issue was fixed on that build or not...

chase-lewis-akasa commented 1 week ago

@gyrovorbis Cool your part of the GTA3 port. Seen some stuff on that. I'm running the Windows distribution of the GitHub version. It says 1.5.0 in the window title even though the zip I extracted it from says 1.6.1.

What we are doing: Yeah we are using an audio detector to manip timing and get consistent items out of Pinta's. We listen to the beeps and by opening and closing the window with a 3-4 frame window we can manip what events & items we get.

What we are running into: We wanted to map the event space for some additional optimization potentially. However manually mapping all of this info is verrrry slow & tedious on a real VMU. So we wanted to try doing it on emulator. RNG progresses very differently currently for me on emulator. I'm trying to ascertain if this is an emulator or vms issue currently (could be not the US pinta's quest, PAL has a lot of differences in the game Pinta being a bit different wouldn't surprise me). VMS I got was just randomly grabbed off the net and I haven't been able to find a different copy.