ares icon indicating copy to clipboard operation
ares copied to clipboard

[SNES] Super Mario Kart - Innaccurate Emulation on Vanilla Lake 1

Open alyosha-tas opened this issue 2 years ago • 3 comments

Hello,

Recently I have been trying to replay Tool assisted Speedruns made in emulator on actual console. I use BizHawk 2.8 which has a port of BSNES v115 in it that I make the TASes with. I made a TAS of Super Mario Kart that plays through all cups to unlock 150cc, and when I tried to replay it on console, it syncs correctly through Mushroom Cup and Flower Cup, but then desynced on Vanilla Lake 1 in star cup.

Then I made another TAS of just Star Cup to see if the problem could be narrowed down to Vanilla Lake 1, and indeed on playback the TAS beat the first 2 course on Star Cup but then desynced on Vanilla Lake. I tried it multiple times with the same, seemingly deterministic result.

Then I made a TAS of time trial mode in Vanilla Lake 1 and it synced on console, so the problem seems to be restricted to cup mode.

I tried changing initial RAM setting in emulator, but that didn't change the results. I also made sure it was using the correct firmware for the DSP1b.

My guess would be that ice physics combined with AI player calculations etc. in cup mode is enough work that some timing error is being exposed in the DSP1b. I'm not well enough versed in the SNES to know where to look or how to check.

Mega Man X2/3 (using the Cx4) also desync on console, within a minute of play. It looks like some kind of Cx4 issue, but it's not as clear there where things go wrong. It looks like maybe expansion chip timings need some work in general.

alyosha-tas avatar Mar 25 '22 14:03 alyosha-tas

Hi there; thanks for the report.

Is it possible for you to confirm if these issues exist within ares and/or higan too? bsnes is a separate emulator and differs significantly in some areas from ares and higan.

LukeUsher avatar Mar 25 '22 14:03 LukeUsher

Oh, my apologies I thought this emulator used the same bsnes core. Is there a way in ares/higan to play movie/input files?

alyosha-tas avatar Mar 25 '22 15:03 alyosha-tas

CX4 cache timings used to be instant and the attract mode would desync, but then ikari_01 did a lot of research and figured out enough to stop that. I don't know if he ever released anything more than docs. There is an SA1 test rom by VitorVilela7 that Near got really close to matching. As for DSP1, I have no idea. But it sounds normal for very small timing errors to still exist in ares that would be imperceptible, yet break some kind of recorded series of inputs.

FitzRoyX avatar Mar 29 '22 07:03 FitzRoyX