Post subject: Return of the Jedi issues
Tompa
Any
Editor, Expert player (2143)
Joined: 8/15/2005
Posts: 1934
Location: Mullsjö, Sweden
I have been trying to TAS this game for a long time but I've been having multiple issues with desyncs. In the first level of RotJ I'm riding a speeder, holding B will make it go faster. But sometimes the game doesn't react to the input, randomly some of the frames' input are ignored. This can happen both if I recorded a run with or without savestates. I have tried different settings to see if it makes any differences, but so far no luck. But sometimes the movie syncs without any problems at all. Not the same movie though, but if I record another one, same emulator/rom/settings. I have yet not found a logical explanation to this. Haven't tried to TAS the other two SSW games for awhile, but they desync like crazy as well but not in the same way. Another issue these games have is the sound effects. Like when you take a coin. It's getting some kind of echo effect. Some emulator versions get the title screen sound perfect but for some it sounds awful. Again, I've tried several settings to fix the sound effects as well. Any suggestions?
Post subject: Re: Return of the Jedi issues
Emulator Coder, Skilled player (1301)
Joined: 12/21/2004
Posts: 2687
You could try using the latest Snes9x intermediate revision (from here, revision 92 or newer). That version should have no desyncs in this game (or any other game for that matter). As for the weird sound, well I haven't looked into that but maybe if you actually use Snes9x 1.51 instead of 1.43 (so, from here instead, revision 60 or newer which should also have no desyncs), and also make sure Sync Sound with CPU is checked, it might sound better. Do make sure "volume envelope reading" is off and "fake mute fix" is on, though. Those might actually be a part of the reason why the sound is so weird, but currently I think they can still cause desyncs in some games if you don't set them that way. Also, if a movie you've been working on desyncs reliably now with everything set up like this on the newest version, then unfortunately that probably means your movie has a desync recorded into it, which is better fixed by starting over than by fiddling with options. (By the way, I'm not just suggesting these versions because I think it might fix the desync problem. I'm fairly certain that they do fix it. I found a bunch of desync problems in the savestate and initialization code recently and addressed them all and verified that in this game in particular (and several other games), even if I save and load a savestate every single frame, it doesn't desync, even if I count "one byte somewhere in the emulation state changed invisibly" as a desync.)
Active player (278)
Joined: 5/29/2004
Posts: 5712
Are the judges and encoders all able to use these new versions? I remember a lot of complaints about that over the latest Chrono Trigger submission.
put yourself in my rocketpack if that poochie is one outrageous dude
Emulator Coder, Skilled player (1301)
Joined: 12/21/2004
Posts: 2687
I read what you're talking about on the Chrono Trigger submission and that really surprised me... Movies recorded with these versions should still sync on the official versions (including on Unix or Mac OS, in the case of 1.51). If they don't, I'd say it's a bug. On the other hand, there can be good reasons for requiring moving forward, for instance if the old version was randomly changing the timing on emulation startup (which is actually pretty close to what was really happening for some games on the 1.43 branch). I wasn't aware of any fixes like that in the 1.51 branch though, but then again I haven't been following the development of these versions that closely. Maybe it's a difference that only happens when recording many resets. In any case, it should be easy to verify whether a movie syncs on both versions before getting too far into making it. Also, I believe shinydoofy has made a Unix patch for the newest 1.51 version (although I only noticed it just now and so haven't even looked at yet).
Tompa
Any
Editor, Expert player (2143)
Joined: 8/15/2005
Posts: 1934
Location: Mullsjö, Sweden
I'm sure I tried that emulator before without any success, but I never made sure that Sync Sound with CPU was checked, so that might have done it... The sound is just as bad in any version though. Also, while making a test video I loaded a save state and the screen turned like this. It has happened me twice now....
Former player
Joined: 12/5/2007
Posts: 716
nitsuja wrote:
Also, I believe shinydoofy has made a Unix patch for the newest 1.51 version (although I only noticed it just now and so haven't even looked at yet).
Except for sound sync, it works like a charm: From what I can tell, it also supports lua scripts. The Linux version still needs three new files, though. I can either upload them some place or you can let gocha commit them, as I had him sent them to me some time ago.
Emulator Coder, Skilled player (1301)
Joined: 12/21/2004
Posts: 2687
Tompa wrote:
Also, while making a test video I loaded a save state and the screen turned like this. It has happened me twice now....
Exactly which emulator version were you using when that happened? 1.43rv92? 1.51rv60? Something else? Is it just a 1-frame glitch or does it freeze like that even when you unpause? Anyway, it seems this is a FastROM game, and Snes9x 1.43 had a bug where the memory speed is not initialized on startup of such games. That would explain why it sometimes syncs differently on starting to play a movie, and why different movies you recorded will desync under different conditions. The only workaround for the emulator version you were originally using is to make sure you always start playing the movie after the emulation reaches a certain frame number (in other words, whatever part of the game you were at when you chose "record movie", that's where you should be when you choose "play movie" later if you want the playback to even have a chance of synchronizing properly). That bug has been fixed with a new recording sync option (called "clean fastrom setting") to initialize that memory in the newest 1.43 version. Also, when using that option, it means the movie will sync as if you had started playing the movie immediately after opening Snes9x for the first time, which means people who launch Snes9x and play the movie from the commandline will actually have an easier time playing movies that use that option, even if they have a much older version of the emulator. I'm not sure about this, but I think using any version of 1.51 avoids that problem completely.
Tompa
Any
Editor, Expert player (2143)
Joined: 8/15/2005
Posts: 1934
Location: Mullsjö, Sweden
The graphic glitch was that all the time from that save state. But loading an earlier one will remove it. The emulator I used was 1.43+ v16 (interim). It wasn't any graphic glitches in the movie afterwards, only when I was recording it. I have recorded testruns of the first level with multiple 1.51 version. Some have desynced at the first try, others don't, it seems quite random too me but I don't know so =P.
Player (58)
Joined: 7/7/2008
Posts: 873
Location: Utah
You know what? I'm gonna go ahead and test this out on Super Empire Strikes Back, I'm gonna try and figure this problem out too. Edit: It's actually working perfectly for me, I really don't know what settings I have for this, but it's working. :P