Desync Help

I tried to replay the movie file but at some point, the movie doesn't behave how it is supposed to (for example, the player dies or stops moving or runs into a wall).

When the movie you’re trying to view desyncs, there are a few possible causes:

You don’t have the right ROM.

There are generally three versions of games: Japanese, European and USA version, sometimes marked at the end of the ROM name by the (J), (E), or (U) respectively. If you have the wrong one, the movie goes out of sync sooner or later.

Sometimes games have multiple revisions, (e.g. REV1, REV2), and multiple fixes and hacks. If you have the wrong one, your movie will probably go out of sync.

There continues to exist ROM confusion. It is recommended (but not required) to rename the ROMs using GoodTools.

Do not ask us (the author of this site or the people at the TASvideos forum) to send you ROMs or FDS images. Any such messages will be deleted.

You don’t have the right version of the emulator.

  • Movies made with Snes9x-1.43WIP1 are not compatible with the official Snes9x-1.43.
Ensure you used the correct emulator version.

Your emulator settings differ too much.

  • In Gens your type of controllers must be the same as the movie expects. Sometimes sound rate must be set to 44100.
  • Sometimes you need to vary the sound settings of SNES9x.
  • FCE Ultra may need to be explicitly told if a game is PAL or NTSC.

If you feel you may need to change the settings, the solution is usually found in the author’s description of the movie.

You have external codes on (ex. Game Genie codes)

Turn them off.

The movie I’m making desyncs while I make it

After playing for a while and going to check your progress, you are shocked by your movie going off and doing something wrong. There are a few common problems.

  • Snes9x has trouble with sound. Games with timing to music or sound might desync. Some state saving/loading patterns during music changes might cause trouble as well. Using the improved version, disabling sound emulation entirely or using Fake Mute mode may prevent it from happening.
  • Snes9x version 1.43 Final has some desync issues. Try recording using 1.43 WIP instead. (The improved Snes9x can play and record movies in both Final and WIP timing.)
  • You switched some option which has an effect on timing or controller input (like Sound frequency, Controller type, Joypad swap, etc.) some time during recording. Don’t do it.
  • You loaded savestates in the wrong order. For example, you may never load a savestate which is ahead of your current time. Some emulators, like Snes9x and VBA, automatically prevent this from happening (in which case it is OK to load future savestates). Others, like Famtasia and older versions of Gens, do not and will cause a desync without telling you.
    • In some emulators like Snes9x and VBA, quicksaves store the movie file and replace it on load. Such a method is called bulletproof recording and is immune to loading states in the wrong order. Note that external saves (file saves) might not use this method, depending on the emulator.
  • You may not load a savestate which doesn’t correspond to what happened in the movie at that point, or you will have a desync. A movie savestate is a snapshot of what the game’s RAM should be at that point. If a savestate isn’t what it should be, it is inconsistent, and inconsistency leads to desync. The following mentions some ways how this might happen:
    • Loading a savestate during playback that is not part of the currently-recorded movie. If you make a savestate and then undo something before it, it may be a good idea to overwrite that savestate to prevent yourself from accidentally loading it at a later time while watching your movie.
      • "Bulletproof recording" does not solve this problem; after all, it is not called "bulletproof playback".
    • Re-recording over, hex-editing, or otherwise changing or destroying part of a run and then loading a savestate which is ahead of where the change occurred. Changing part of a run renders all savestates after that point invalid. To avoid this, recreate these savestates from the beginning of the run or from valid savestates.
      • If the saves use "bulletproof recording" (when the emulator supports out-of-order loading), loading it will not desync the run but will erase any changes you made after it. This could be bad if you intended to keep those changes, but it prevents the emulation from getting into an inconsistent state.
    • Flawed savestates. Some savestates fail to save vital information in certain areas, and as a result, cause desync. To deal with this, keep reviewing your work until you have bypassed the critical area, and use your head if something doesn’t seem to work. For example, if you barely jumped over an enemy but replaying the movie results in hitting the enemy from a low jump, try jumping a bit more.
      • As an example of this, in Mega Man X2, loading a savestate in Wheel Gator’s room will always reset the waves that the characters stand on, causing desync. The cause is that Snes9x does not save the state of the C4 memory on Mega Man X2 cartridges.
  • You loaded a non-movie savestate while read-only is off. The emulator will not load the savestate but will resume recording from the point where you attempt the load. This kind of action can wreck a movie from the very beginning. Only certain emulators have this bug. (TODO: Which ones? Has another cause of desync been mistaken for this one?)
  • External codes (e.g. game genie codes) are on for whatever reason. Turn them off before recording. Recording with cheat codes on will likely desync a movie, unless the whole movie was designed to run with the cheat codes on, which we do not accept. See more at Rules.
  • In VBA v17, some games are dependent on a date, and use the system date. If the system date does not agree with the run, it will desync. Later versions of VBA fix the problem. Note that some runs are dependent on whether a .sav for the game is present or not.
  • You are playing a game which is emulated unreliably. There is little to do about this. You can try other versions of the same game (U/J/E), another revision (REV01 etc.), or another emulator, but if that doesn’t work, you’re out of luck.[1] Report it in the corresponding emulator forum so that others can avoid the same problem.

While you are making a movie, make it a habit to periodically play through your whole movie to verify that it works, and always make a backup of the working copy.


[1] Sometimes runs desync when played back one way and don’t desync when played back another way.


Get Firefox!DesyncHelp last edited by FractalFusion on 2008-09-13 23:14:39
Page info and history | Latest diff | List referrers