M.I
Joined: 1/28/2005
Posts: 51
Location: Florida
Earthbound should be put up there. I'm not quite sure what, but I think it might have to do with SNES9x's crappy sound programming, or something deep inside the hood of that sucker. I've even had desyncing problems with the first part of my run, unfortunately. :(
Joined: 1/31/2005
Posts: 121
I try to replay Nosferatu (USA) but it desyncs at boss 1, even when the "play rate" is "no sound". CRC32: DE762764 snes9x 1.43dev for win But some say they can replay it correctly! I wonder how they can make it...
Emulator Coder, Skilled player (1300)
Joined: 12/21/2004
Posts: 2687
Hey, I've compiled a new modified version of Snes9xw 1.43 WIP which is as desync-proof as I could make it (and also has a bunch of useful features missing from the original). Anybody who's having problems making a run because of desyncs should try this out. Get it at: http://www.filespace.org/nitsuja/snes9x-improvement.zip EDIT: Actually, get the newer version instead at http://www.filespace.org/nitsuja/snes9x-improvement2.zip Let me know if you encounter any problems with it. Here is the full information: Movie-Specific Improvements: * Zelda desync bug fixed (credit to FabianX) * Sound desync bug workaround (option) (credit to Bisqwit) * Another desync bug avoided by using the WIP's APU timing instead of the Final's. * Option to display movie input buttons (credit to Bisqwit) * Gave frame advance sound (unless using FMOD) (nitsuja) General Improvements: * Customizable hotkeys (nitsuja) * Made black bar at bottom of game optional (nitsuja) * Fixed joypad dialog, added turbo buttons (nitsuja) * Enabled the GUI option to use video memory and bilinear-filter any mode, not just OpenGL Movie compatibility details: * Movies made with this version are compatible with Snes9X 1.43 WIP 1. * This version will play movies made with Snes9X 1.43 WIP 1. * This version can only play some movies made with Snes9X 1.43 Final. * If a movie of a game that was affected by the sound desync bug (such as Out of this World) is recorded with this emulator, it can also be played back in this version, but if you want to play it back with the official Snes9X 1.43 WIP version you'll have to set the sound playback rate to <No Sound> when playing it. KNOWN ISSUES: * Movies will still desync if you play them without letting the game emulate for at least 10 seconds to "warm up" first. * Some games (such as Nosferatu) still rely on certain sound settings (such as 33khz rate etc.) to play back reliably. * Some games (such as Super Bomberman) still rely on certain sound settings (such as Volume Envelope OFF) to record reliably.
Player (70)
Joined: 8/24/2004
Posts: 2562
Location: Sweden
Mortal kombat 2 still desyncs. :(
Emulator Coder, Skilled player (1300)
Joined: 12/21/2004
Posts: 2687
That's odd. I'll try it out and see what happens. It's possible there is another desync problem happening, which may be specific to Mortal Kombat 2. (EDIT: actually it was just the volume-height-envelope-reading-kills-the-sync problem, turning that option off in the sound settings and turning on sync sound with CPU fixes things.) I'll also see if Mario RPG is fixed. (What other games are known to still desync?) Oh, I forgot to mention: For those who don't want to download AVIs, this version can be used to watch the SMV of my just-published Out of this World run with sound on.
Active player (410)
Joined: 3/16/2004
Posts: 2623
Location: America, Québec
Well I've got a lot of trouble with Final Fight Guy. I have stopped this project due to too many desyncs. I don't know what's the reason. I haven't tested with your version.
Emulator Coder, Skilled player (1300)
Joined: 12/21/2004
Posts: 2687
OK, that's another one to check. (I watched your Final Fight Guy WIP... you managed to make that much of it while fighting constant desyncs?)
Active player (410)
Joined: 3/16/2004
Posts: 2623
Location: America, Québec
Yes because of that, it's not perfect as it is supposed to be. Anyway, that's not a problem since I was aiming at highest score as possible while not losing too much time.
Emulator Coder, Skilled player (1300)
Joined: 12/21/2004
Posts: 2687
Highness -- Mortal Kombat II simply has the same problem as Super Bomberman 2; you have to turn Volume Envelope Height Reading off in order for it to record without desyncs, and it must also be off when playing back the resulting movie. Phil -- I'm guessing that between the zelda fix, the sound desync workaround, and turning volume envelope reading off, Final Fight Guy will no longer desync either. (And same for Mario RPG, although I haven't tested these yet.) Keep in mind that turning volume envelope reading off has the side effect of making some games (like Tetris Attack) sound terrible, but for most games there's no audible change.
Active player (410)
Joined: 3/16/2004
Posts: 2623
Location: America, Québec
Also, is it possible to remove that left+right, up+down restriction? Can you use v 1.43 final?
Emulator Coder, Skilled player (1300)
Joined: 12/21/2004
Posts: 2687
I can make a patch that uses 1.43 Final instead of the WIP. But the reason I switched to using the WIP is because 1.43 Final seems to have introduced an extra desync bug in the way save states interract with APU timing. In other words, anything that's based on 1.43 Final will probably desync every once in a while when recording. But I can still provide a WIP-based version and a Final-based version. Removing the left+right and up+down restrictions should be pretty easy. Actually I meant to have this in my last update but I guess I forgot to put it in.
Active player (410)
Joined: 3/16/2004
Posts: 2623
Location: America, Québec
It's missing some sounds in Final Fight Guy. Option to display movie input buttons (credit to Bisqwit): It's pretty cool but is it possible to be a little cleaner ;) like a Snes joypad instead of some symbols and letters. Also when recording into AVI, it records those symbols. Maybe there must be an option to let someone to record this in the AVI or not. Sometimes, it's cool to see how a game is handled but not always ;) Also, when there's 2 player input, it shows 1 player even if there's no input for that player. Edit: I forgot to said that since Snes9x uses a PNG library, you could use a Snes9x joypad picture with transparency. The WIP release is not currently supporting JMA. Nearly all my ROMs are under that format.
Player (70)
Joined: 8/24/2004
Posts: 2562
Location: Sweden
YAY!!! Mortal kombat 2 seems to work fine now. Thanks alot Nitsuja!
Editor, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Phil wrote:
Also, is it possible to remove that left+right, up+down restriction?
Yes, just disable this code:
snes9x wrote:
    for (i = 0; i < 5; i++)
    {
        if (IPPU.Joypads [i] & SNES_LEFT_MASK)   
            IPPU.Joypads [i] &= ~SNES_RIGHT_MASK;
        if (IPPU.Joypads [i] & SNES_UP_MASK)
            IPPU.Joypads [i] &= ~SNES_DOWN_MASK;
    }
Emulator Coder, Site Developer, Former player
Joined: 11/6/2004
Posts: 833
The problem is that this won't work unless everyone watching the movie has the same patch. Even movie playback has this UP+DOWN/LEFT+RIGHT protection.
Player (70)
Joined: 8/24/2004
Posts: 2562
Location: Sweden
Can someone compile this for us with unsufficent knowledge about programming and compiling please? If used in a run you could state that in the submission info so that people might download the patched version and enjoy the run.
Emulator Coder, Skilled player (1300)
Joined: 12/21/2004
Posts: 2687
I can put JMA back in pretty easily, I think. It'll be mostly 1.43 Final except with the APU timing reverted to WIP. (But then JMA games won't be able to open in the only official version that would be able to play the movie (the WIP), so I think I'll also have a fully Final-based version too for those who want to use it.) I can put left+right support it in my version as an option, which will need to be turned on before playback. If it's on all the time by default then you might accidentally hit left+right while recording and then way later discover it doesn't play back on an official version. About the input display: Yeah, it needs some work. And I'll make it optional in the same way that the display of the current frame is optional, (a hotkey to enable/disable it) since having it as a setting for movie playback is a pretty goofy way of doing it. About sounds missing, when I was recording a test movie of Mortal Kombat II, the voice and sound effects got all screwed up (missing some segments and repeating others strangely), but it sounded pretty normal on playback.
Player (70)
Joined: 8/24/2004
Posts: 2562
Location: Sweden
Put that left+right in the play movie file dialogue as well so one don't forget about it. Just a checkbox or something. About the sound in MK2. It does not sound alright. :D Download my test file from the SNES thread and listen to it. Aweful.
Active player (410)
Joined: 3/16/2004
Posts: 2623
Location: America, Québec
nitsuja wrote:
About sounds missing, when I was recording a test movie of Mortal Kombat II, the voice and sound effects got all screwed up (missing some segments and repeating others strangely), but it sounded pretty normal on playback.
Even in playback there's missing some sounds.
Player (70)
Joined: 8/24/2004
Posts: 2562
Location: Sweden
Thats what I ment to say but I forgot about it. :)
Emulator Coder, Skilled player (1300)
Joined: 12/21/2004
Posts: 2687
OK, I have another new version at: http://www.filespace.org/nitsuja/snes9x-improvement2.zip Here's the info: Snes9x 1.43 improvement v2 New Improvements: * Full compatibility with both Snes9x 1.43 WIP 1 and with Snes9x 1.43 Final. In other words, an option to switch between WIP and Final timing has been added, so you can record for the version of your choice and play back either type of movie. * The option to allow left+right and up+down to be pressed has been added. * Movie play and record dialogs contain the relevant sync-related emulator options, directly changeable in both places. * Added "toggle buttons" -- you can map keys to toggle a button being held, so it isn't necessary to hold down lots of keys at once in 2P runs or other games that involve lots of button-holding. * JMA support etc. has been put back in. Previous Improvements: * Customizable hotkeys * Made black bar at bottom of game optional * Fixed joypad dialog and added turbo buttons * Enabled the GUI option to use video memory and bilinear-filter any mode, not just OpenGL * Zelda desync bug fixed (credit to FabianX) * Sound desync bug workaround (option) (credit to Bisqwit) * Option to display movie input buttons (credit to Bisqwit) * Gave frame advance sound (unless using FMOD) Because there is now an option to switch between timing modes: * This version can play all movies made with either the Final or the WIP, with the right settings on. * This version can make movies for either the Final or the WIP, whichever is desired. KNOWN ISSUES: * Movies will still desync if you play them without letting the game emulate for at least 10 seconds to "warm up" first. * Turning on Left+Right/Up+Down will usually cause movies that were made without this option to desync. * Some games (such as Super Bomberman and Mortal Kombat II) require Volume Envelope to be OFF to record reliably. * Some games (such as Nosferatu) still rely on specific sound settings (such as a certain KHz rate, etc.) to play back reliably. * If a movie of a game that was affected by the sound desync bug (such as Out of this World) is recorded with this emulator (by turning on the Fake Mute desync workaround), it can also be played back in this version, but if you want to play it back with an official version you'll have to set the sound playback rate to <No Sound> when playing it.
Player (67)
Joined: 3/11/2004
Posts: 1058
Location: Reykjaví­k, Ísland
Wow, that's awesome. Can you remap the turbo button yet? I noticed in some previous version, the turbo button was still hardcoded to TAB. But that might have been fixed 100 versions ago...
Emulator Coder, Site Developer, Former player
Joined: 11/6/2004
Posts: 833
Can we get the source code, or at least a diff? I'd like to see what the difference is between wip1 and final movie playback is that causes desyncs.
Player (70)
Joined: 8/24/2004
Posts: 2562
Location: Sweden
Great. Thanks Nitsuja. Would it be possible to make some sort of database for games to auto-configure SNES9x in order for them to record and playback properly our would that mean too much work?
Joined: 6/15/2004
Posts: 104
Location: Zürich / Switzerland
nitsuja, I know it's not the most important thing in the world, but have you had a chance at looking at the aspect ratio-thingie? A reset to 100%/200%-Option would be more than sufficient... Thank you for your efforts - it's really nice to see all those enhancements. Philip