Ok
here is a movie of SCV4 where a movie desync. The ZIP file contain the, movie, a savestate and pictures.
Ok here is an explanation of what did happened.
I was Timeattacking SCV4 yesterday and all were looking fine. No desync and such(Well, that's probably not true. Explained later) then today, I play the movie and wtf, the movie desync. I was angry but not that much since I wasn't pretty far in the game. Then I did remembered that yesterday, I did played the movie but loaded a state to skip the into and such. I did that and wtf, the movie is playing fine.
:S :@ :S :S MAJOR BUG :S :@ :S
Then I did studied where the movie really desyncing by using some memory addresses.
7E054A,2u — X pixel (center);
7E0549,2u — X subpixel (1 unit = 1/256 of a pixel);
7E054E,2u — Y pixel (center);
It appears that Snes9x
creates lag when state is loaded. Recording or not. At frame 1995, we can easily see that the game is lagging by comparing X,Y.
With state Without
1989
X pos = 388
X subpx =33983 It's the same
Y center=62
1993
X pos = 393
X subpx =35263 It's the same
Y center=66
1994
X pos = 394
X subpx =35583 It's the same
Y center=68
1995
X pos = 394 396
X subpx =35583 35903
Y center=68 70
1997
X pos = 398 The same
X subpx =36607 36415
Y center=65 69
When you check the pictures using state, it's funny because it doesn't seem it is lagging. I guess it's probably related to that bug. Normally, it should freeze for 1 frame.
In conclusion, FIX the desync issue when loading state. Note that I did tested several times recording with no rerecords and those movies were playing fine.
Edit: I am wondering if it's not related to that extra fadeout lag. The state was saved/loaded in the black screen. There might be something that isn't saved properly in the state due to that. I am going to test later to be sure.