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.2k stars 385 forks source link

Emulation accuracy problem with BSNES core #2504

Closed Atari2 closed 2 years ago

Atari2 commented 3 years ago

This issue is very simple to explain yet may be very hard to fix considering that BSNES cores aren't as easy to port over, however:

Recently I was playing a SMW modified rom and some custom code that was put into the rom wasn't working properly. I thought it would be an issue with the code itself but after trying out various emulators, I've concluded that the issue lies in BizHawk using v87 of BSNES which is a very old build.

I've tried with the following emulator/cores:

The major reason on why I think the issue is with the old core and not the code itself is mainly because going to a newer version of BSNES (v115 in this case, but I also tried v112 and it worked on that one aswell) made it work, therefore it means that an inaccuracy in some emulation code was fixed going from v87 (what BizHawk uses) to v112/v115.

If you are curious about what code isn't working exactly, please refer to this . The issue is described in the last paragraph (the not working blocks are the custom blocks with the code that was inaccuratly emulated, and switching emulators made them work, as aforementioned).

YoshiRulz commented 3 years ago

see also #1078, #1198

nattthebear commented 3 years ago

Do we have any knowledge of what the problem is, and whether it's an inaccuracy or simply something broken the game is doing that newer bsnes has hacks for? How does this behave on real hardware?

Atari2 commented 3 years ago

Do we have any knowledge of what the problem is, and whether it's an inaccuracy or simply something broken the game is doing that newer bsnes has hacks for? How does this behave on real hardware?

The code that was inserted in the game works perfectly fine on real hardware, it was tested both on SuperNT with SD2SNES and on SD2SNES with a real SNES. This is a video where you can see the custom blocks working on real hardware (the custom blocks are the yellow [!] blocks that poof when touched with the key), they just act as a normal solid block (e.g. they don't poof) on the version of BSNES that BizHawk uses (v87 iirc) but they work fine in newer BSNES versions, as stated in the initial post.

alyosha-tas commented 2 years ago

played through the hack in v115 and key temple plays just fine. Eventually v87 will be removed, so closing this one.