Editor, Reviewer, Experienced player (969)
Joined: 4/17/2004
Posts: 3107
Location: Sweden
I don't like the way toggle buttons are handled. It should be an option for every controller. There isn't really any point in using both at the same time, plus you have to reassign a lot of keys every time you want to use it. And whenever that option is toggled, I want to see what buttons currently pressed. Also, the frame counter has stopped working for me. I can reassign it to any key but nothing happens when I try to turn it on. Some other keys are also working differently, but correct, i.e. the difference between frameskip and actual speed. I have a feeling it has to do with non-english keyboards.
Emulator Coder, Skilled player (1301)
Joined: 12/21/2004
Posts: 2687
Sure, I'll put up some source soon. About frame counter not working: It works fine for me in both playback and recording. Remember that it doesn't work if you're not watching/recording a movie (although I can see it being useful for testing outside of a movie, like in Gens, so that could be changed). Also, if you assign a modifier like Alt as a hotkey, other things that use Alt+something may not activate. Toggle buttons can be made an option per controller, but for some reason I thought it might be useful to be able to use both at the same time (at least for normal gameplay, locking on the "run" button" or something). They can also be displayed, but not any changes while the game is paused, since Snes9x currently has no way to draw things between frames (I'm sure that can be changed, I'm just not sure how to force a display update yet). I think frame skip depends on the keyboard repeat rate, when you're holding it down the game just advances 1 frame every time a key down event comes in (like it did originally). The turbo button is handled a little differently from the other keys, so I haven't gotten around to making it customizable yet. There's a bunch of other hotkeys that are still hardcoded too (like the layer-hiding ones). Aspect ratio: OK, I'll take a look at this too.
Player (36)
Joined: 9/11/2004
Posts: 2624
<3
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Editor, Reviewer, Experienced player (969)
Joined: 4/17/2004
Posts: 3107
Location: Sweden
>About frame counter not working: It works fine for me in both playback and recording. Remember that it doesn't work if you're not watching/recording a movie (although I can see it being useful for testing outside of a movie, like in Gens, so that could be changed). Also, if you assign a modifier like Alt as a hotkey, other things that use Alt+something may not activate. Ah, that's it. Thanks. I was thinking in Gens mode I guess. If it's no problem framecounter during non-movie would also be helpful.
Emulator Coder, Skilled player (1301)
Joined: 12/21/2004
Posts: 2687
OK, here's an update that addresses basically all of the latest issues brought up. DeHackEd is kindly hosting it at: http://dehacked.2y.net/snes9x-improvement2.zip and another mirror at http://25cent.org/~dehacked/snes9x-improvement2.zip and the source at http://dehacked.2y.net/snes9x_improvement2_src.rar There's no combo/macro support but the toggle key option does help a little for that. Here's the full info: Snes9x 1.43 improvement v2 New Improvements: * Added a display option to maintain correct aspect ratio. * Changed Toggle buttons to be an option applied per controller. * Made "fast-forward" and "show input" customizable hotkeys, so input can now be shown while playing. * Removed 1-frame lag from the input that's displayed, fixed lack of refresh of paused games. * Gave frame advance sound even when FMOD is being used. * Mostly fixed the input display problems with multiple controllers. Previous Improvements: * 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 relevant sync-related emulator options. * Added "toggle buttons" 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. * 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 / things to watch out for: * If you do not record a movie with the WIP1 timing, you may get occasional desyncs while recording. * Turning on Left+Right/Up+Down will usually cause movies that were made without this option to desync. * If you turn on Left+Right/Up+Down, no *official* version of the Snes9x emulator will be able to play back the movie that's generated. * 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 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, 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. * When a controller is set to Toggle Mode, you can change input between frames, but you have to hit frame advance once to see the result. * When a controller is set to Toggle Mode, loading a save state will not revert the buttons being held down to what they were when the save was made. * There is no frame counter when you're not watching or recording a movie. * Key conflict catching is not very comprehensive and can also catches things that are no longer conflicts (in which case, just ignore the color). * The sync settings aren't saved in the movie file and thus can't be restored automatically -- therefore, when posting/submitting a movie, please say what these settings were set to when recording. Hints: * It's useful to assign a key to "All Mod" in the Turbo part of the joypad configuration, which causes all non-directional buttons to rapid-fire if pressed while the "All Mod" button is being held -- handy for skipping past titles/dialogs or whatever without needing to dedicate more than 1 key to autofire. * For best-looking graphics, in the Display settings turn on Stretch Image, Use Video Memory, Maintain Aspect Ratio, and set Output Image Processing to 2xSaI. * You can increase the "Skip Rendering" number in the Settings to much higher than before, to skip through movies extremely fast if your computer can handle it.
Active player (410)
Joined: 3/16/2004
Posts: 2623
Location: America, Québec
* There is no frame counter when you're not watching or recording a movie. huh, I am not sure if this is a misfeature. Why a frame counter is needed in normal playing? But, there's some graphic glitches.
Former player
Joined: 8/12/2004
Posts: 651
Location: Alberta, Canada
It would be nice to toggle the play of sound during frame advance on and off. Sometimes it can be kinda annoying...
Active player (410)
Joined: 3/16/2004
Posts: 2623
Location: America, Québec
I agree with BoltR. ok, I found an unusual bug. Ex. If my frame advance button is Ctrl and another function like show input on screen need Ctrl+Alt+; then that function doesn't work. Btw, Snes9x doesn't make the difference between Ctrl-right and Ctrl-left. Personally, I think it's a bug since it's not exactly the same key.
Emulator Coder, Skilled player (1301)
Joined: 12/21/2004
Posts: 2687
Could you explain what "there's some graphic glitches" means exactly? Sometimes one might want to test out how efficient things are without having to be recording a movie of it, it wouldn't be that important though. Recognizing left-ctrl and right-ctrl separately might require DirectInput, I'll have to check though, but if it does I'm not about to rewrite the input code to use it for this one thing. I think the toggle keys would be a lot more useful if there was a hotkey that switched controllers around so you could use only 1 set of controls for all players, but should I bother with controllers 3-5 or just have one hotkey that switches controllers 1 and 2? Frame advance sound can be made an option easily. (Should it be in a dialog or would it be better to have it on a hotkey?) Oh, and I'll see about the ctrl+... problem. (Btw this is starting to have less and less to do with the thread's original topic, should this move somewhere else?)
Former player
Joined: 8/12/2004
Posts: 651
Location: Alberta, Canada
When I start it up I get a garbled mess of the last frame viewed from the last session. That should be easy enough to fix. The program ends with this frame: Here When I start it, it has this: here
Active player (410)
Joined: 3/16/2004
Posts: 2623
Location: America, Québec
nitsuja wrote:
Could you explain what "there's some graphic glitches" means exactly?
Well, I want to take screenshot but it appears we can't in Snes9x. Could you plz add it. Anyway this:
nitsuja wrote:
Recognizing left-ctrl and right-ctrl separately might require DirectInput, I'll have to check though, but if it does I'm not about to rewrite the input code to use it for this one thing.
That would be better.
nitsuja wrote:
(Btw this is starting to have less and less to do with the thread's original topic, should this move somewhere else?)
I think it should be in "Snes9x, things to be improved or corrected" thread.
Emulator Coder, Skilled player (1301)
Joined: 12/21/2004
Posts: 2687
BoltR wrote:
When I start it up I get a garbled mess of the last frame viewed from the last session. That should be easy enough to fix. The program ends with this frame: Here When I start it, it has this: here
OK, I think I know how to fix this, although I never would've caught it myself because my video card always clears its memory to black, and apparently yours doesn't. For the graphics Phil posted, which seem to be different, I can only get something like this to happen if I switch "maintain aspect ratio" off and then back on in the same session, and it corrects itself if I close Snes9x or resize the window or do basically anything.
Phil wrote:
I think it should be in "Snes9x, things to be improved or corrected" thread.
Does this thread exist already? (or maybe I should just start it... next time)
Active player (410)
Joined: 3/16/2004
Posts: 2623
Location: America, Québec
Yes it exists.
Former player
Joined: 10/19/2004
Posts: 142
Nice work, SMRPG didn't desync once with the proper settings. It runs correctly at any speed now, turbo or otherwise. Here's a test movie. (only check WIP1 timing, fake mute desync workaround, and sync samples with sound CPU to play it back appropriately).
Emulator Coder, Skilled player (1301)
Joined: 12/21/2004
Posts: 2687
About SMRPG: Cool. But, "Page URL Not Found!!"
Phil wrote:
Yes it exists.
I can't find it. What's it's real title?
Former player
Joined: 10/19/2004
Posts: 142
Well shit, I forgot to upload it. It's working now, sorry about that.
Active player (410)
Joined: 3/16/2004
Posts: 2623
Location: America, Québec
nitsuja wrote:
I can't find it. What's it's real title?
I was wrong. ;P
Former player
Joined: 8/12/2004
Posts: 651
Location: Alberta, Canada
Oh another feature that would be nice is an always on top mode. Where it runs above other programs so I can do other things while watching a video. Also the ability to turn off the autopause when the window loses focus would be needed. I remember someone else talking about wanting this feature on IRC a while back, but I cannot remember who it was.
Joined: 6/15/2004
Posts: 104
Location: Zürich / Switzerland
nitsuja,
spezzafer wrote:
(only check WIP1 timing, fake mute desync workaround, and sync samples with sound CPU to play it back appropriately).
can the smv-Format be somehow extended to conatin those settings? If the header's already full, maybe you can append the data to the actual movie? As it's now, this is very error-prone and I already see 1000 posts about a movie desyncing.... Philip PS: Aspect Ratio does not work with OpenGL enabled, but this is minor for me: I disable OpenGL, set the window to the right size and then re-enable it.
Active player (410)
Joined: 3/16/2004
Posts: 2623
Location: America, Québec
That graphic glitch is related to image output processing. When sets to none, normal or opengl, I don't have this problem. Edit. When sets to Normal and Snes9x is in full screen mode, we can't see any menu. And when you press Alt-Enter, or sometimes just Enter, after,supposedly, opening the open rom window, Snes9x crashes.
Former player
Joined: 8/12/2004
Posts: 651
Location: Alberta, Canada
Phil wrote:
Edit. When sets to Normal and Snes9x is in full screen mode, we can't see any menu. And when you press Alt-Enter, or sometimes just Enter, after,supposedly, opening the open rom window, Snes9x crashes.
Escape toggles the menu on and off, it does in windowed mode too.
Player (36)
Joined: 9/11/2004
Posts: 2624
If you try to open a ROM in SNES9X in fullscreen mode, and then click browse, it crashes.
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Emulator Coder, Skilled player (1301)
Joined: 12/21/2004
Posts: 2687
OK, ok, I'll post something that fixes all these soon. I think they're basically all caused by the same thing anyway, stupid me for thinking there was no reason they didn't draw the game when it's paused. About modifying the smv format, adding it on the end would be basically impossible, but I think there are 25 reserved/unused bits in the header, which could be used to encode this information. (edit: oh, and there's this "metadata" ... edit2: uh, never mind about that.)
Editor, Reviewer, Experienced player (969)
Joined: 4/17/2004
Posts: 3107
Location: Sweden
Wether it's 1.43 WIP or 1.43 full should basically be in the version bytes, but I think it's not, officially. Which could mean some trouble if we put it there anyway. According to the SMV page here, the reserved bytes must be 0. Would putting info there cause problems with playback on official versions?
Emulator Coder, Site Developer, Former player
Joined: 11/6/2004
Posts: 833
I checked the source for 1.43 WIP and final. Those bytes are ignored entirely.