Bsnes + runahead + cheats


Recently I’ve been testing Run-Ahead option for various cores. On bsnes_mercury_balanced, I was able to set it up and it works as expected. The problem is, if I try to enable any cheat for a game while running in RunAhead, it will cause strange behaviour, I’ll try to explain it:

-Load Super Mario World (USA) on bsnes mercury balanced, with Runahead with second instance option enabled and 2 frames to run ahead. Once ingame, I load a cheat to force Mario to “Always have the cape powerup”. Results: When jumping over enemies, there are serious strutters, and the character appears on different part of the screen. Anothe issue is, if I press the button Y to spin and keep it pressed, Mario will repeat th spin continously (it’s supposed to do it only once until you release and press the button again).

I did some more tests, with only 1 frame of runahead, and even tried withoud second instance. With the second instance option disabled results are not the same, different bugs, but gameplay is buggy yet.

With snes9x and runahead I could not reproduce same results, so I guess it’s some type of bug specifically on bsnes.

Has anybody experienced similar problems? Are these type of problems with cheats expected when using runahead on this or any other cores? I want to minimize latency to minimum possible value for my HyperSpin cab, but I wouldn’t like to sacrifice accuracy or features. I’ve done some fast tests on all of my other cores and haven’t seen any similar problem on other cores, but you never know. I’ve heard a brand new, better performing, bsnes core is on the ways, with HD-mode7 and based on latest bsnes source code by byuu. Are cheats ghonna work on that core? Will it have same problems with runahead when using cheats or will it be solved?

Thanks for your attention and for this awesome piece of software RettroArch is.

Runahead produces strange results with any of the bsnes-based cores, unfortunately, as its states aren’t resilient enough for it. Snes9x, however, should work just fine.

You might also try Mesen-S. I’m not sure how/if it handles runahead, but it might be a good compromise.

1 Like

Thanks for the info @hunterk. Sadly (because I love the bsnes accuracy) I already changed my configs to use snes9x as my default snes core with only some overrides for bsnes for specific games which have problems on snes9x.

Yes, I know about Mesen-S, which aims for bsnes style accuracy being faster. The core is not finished yet, some cpecial chips are not emulated yet. But once it’s complete, it might my preferred core for snes emulation.

1 Like