Description
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.