It seems that on some games, recording a VMV file can desync -- the button presses, that is. For some reason, whether a movie desyncs or not depends on the game (from what I've seen, anyway). I've only really tested out builds 878, 896, and 904 here, and each seem to be identical with regards to this bug.
Â
First, I tried to record a boss fight in Kirby's Dream Land 2, and every time I attempt to record, the button presses get out of sync when I play it back. They start out fine, but it doesn't take long (usually less than a minute) for it to screw up. I have a file attached to demonstrate how it's messed up. You'll know when it desyncs when you see Kirby repeatedly and mindlessly running into King Dedede <_< Unfortunately, I don't have an AVI file to compare it to, because, well, I obviously can't make an AVI file if the VMV file doesn't work right.
Â
Another issue with VMV is that it's not friendly with the real time clock. Neither the VM0 nor VMV file will store the time when you recorded the video, so any game that relies on a real time clock (such as Pokémon and Telefang) will have videos desynced because the time is incorrect. I have attached a VMV/VM0 file for Keitai Denjuu Telefang - Speed Version (it won't work on Telefang Power Version, but if anybody wants to, I can make a separate movie for that, not that there's much of a point because it would be the same thing anyway). This short movie demonstrates what can happen when you try to play a movie back in a time-dependent game. Try playing the movie dozens of times, and you'll see that it's different each time you play it. The items that will appear when running in the grass (coins, hearts, diamonds) will be random every time. Also, the monster (more specifically, Denjuu) that appears about 10 seconds into the movie will be different as well (and the level is sometimes different too).
Â
So, either VMV/VM0 should be modified to include the time, or VisualBoyAdvance should use the VBM format that the TAS versions use, which DOES keep track of the time. It would be a lot more convenient if it was. Oh, and whatever is preventing KDL2 from being synced should be fixed too.
Â
And I'm pretty sure the problem is the game. After all, I have recorded videos on VBA-M of every single Donkey Kong Land game, and I have not run into desyncing issues there. They all play back perfectly!
Â
EDIT: Also tested build 904 as well.