ZSNESW (Windows) fullscreen vertical refresh rate bug

Found a bug? Please report it, but remember to follow the bug reporting guidelines.
Missing a sane feature? Let us know!
But please do NOT request ports to other systems.

Moderator: ZSNES Mods

c0d3h4x0r
Rookie
Posts: 16
Joined: Mon Dec 29, 2008 9:26 am
Location: Sammamish, WA, USA

ZSNESW (Windows) fullscreen vertical refresh rate bug

Post by c0d3h4x0r »

ZSNESW (Windows port) v1.51, running on Windows Vista x86 (32-bit) SP1 w/ ATI RADEON Mobility X2300 integrated laptop graphics. Laptop is an HP Compq 6910p.

My desktop display settings are 1440x900x32-bit @ 75Hz. If I launch ZSNESW and run a game in fullscreen mode (640x480 DRF) with V-Sync enabled, the video (scrolling in Mario World, etc) is very jerky/stuttery. If I quit ZSNESW and manually switch my desktop settings to 1440x900x32-bit @ 60Hz, and then I relaunch ZSNESW and run the same game in fullscreen mode (640x480 DRF) with V-Sync enabled, the video (scrolling in Mario World, etc) is completely smooth.

It looks like ZSNESW fullscreen mode is just using whatever monitor vertical refresh rate the user has set on their Windows display settings, which can result in stuttering framrates when the actual monitor refresh rate is not an integral multiple of the original game's refresh rate.

Suggestion: Have ZSNESW automatically switch the video mode to use a vertical refresh rate that is a proper match (an integral multiple) for the ROM/region. I believe the NES emulator Nestopia already does this for you via the "Auto" refresh rate checkbox (which is defaulted to checked) in its video options, so that's a fine approach to use here as well.
Agozer
16-bit Corpse | Nyoron~
Posts: 3534
Joined: Sun Aug 01, 2004 7:14 pm
Location: Nokia Land

Post by Agozer »

Don't use V-Sync if you plan on using some other refresh rate than 60Hz.
Last edited by Agozer on Tue Dec 30, 2008 2:30 am, edited 1 time in total.
whicker: franpa is grammatically correct, and he still gets ripped on?
sweener2001: Grammatically correct this one time? sure. every other time? no. does that give him a right? not really.
Image
Deathlike2
ZSNES Developer
ZSNES Developer
Posts: 6747
Joined: Tue Dec 28, 2004 6:47 am

Post by Deathlike2 »

Suggestion: Have ZSNESW automatically switch the video mode to use a vertical refresh rate that is a proper match (an integral multiple) for the ROM/region. I believe the NES emulator Nestopia already does this for you via the "Auto" refresh rate checkbox (which is defaulted to checked) in its video options, so that's a fine approach to use here as well.
Automatically? That's not our problem.

It's a non-issue because..

1) You're using a laptop's graphics card.

2) Since when did your LCD care?

If you haven't taken advantage of the Forced Refresh Rate option, clearly you haven't paid any attention.
Continuing [url=http://slickproductions.org/forum/index.php?board=13.0]FF4[/url] Research...
c0d3h4x0r
Rookie
Posts: 16
Joined: Mon Dec 29, 2008 9:26 am
Location: Sammamish, WA, USA

Post by c0d3h4x0r »

Agozer wrote:Don't use V-Sync if you plan on using some other refresh rate that 60Hz.
With V-sync disabled, you get horrible tearing/shearing in the picture. Not an option.
c0d3h4x0r
Rookie
Posts: 16
Joined: Mon Dec 29, 2008 9:26 am
Location: Sammamish, WA, USA

Post by c0d3h4x0r »

Deathlike2 wrote:Automatically? That's not our problem.
It's an unexpected and undesired behavior of your software. Tell me again how that is not your problem? I know the software is provided "as is" and that you are not obligated to anyone to fix anything, but that's not the point. The point is that a good software developer cares about their users and making their software work easily for people. If you don't care about those things, you have no business writing software, even the kind given away for free. And just a hint: if you actually want well-composed and useful feedback from people, then don't bash people when they take the time to provide it. Be a little more respectful.
Deathlike2 wrote:It's a non-issue because..

1) You're using a laptop's graphics card.

2) Since when did your LCD care?
The fact that this is on a laptop with an LCD screen has nothing to do with anything. I can repro the same bug on my dekstop PC with an LCD monitor and on another desktop PC with a CRT monitor. Did you even bother to slow down and read and actually understand my original report? The problem is that the mismatch between the true monitor refresh rate (75Hz) and the game's original framrate (30Hz) causes the resulting emulated framerate to be uneven. Most people's graphics cards and monitors default to refresh rates much higher than 60Hz, and most people are not going to magically know that they need to manually switch their monitor to 60Hz before launching ZSNES, so most people are going to hit this problem.
Deathlike2 wrote:If you haven't taken advantage of the Forced Refresh Rate option, clearly you haven't paid any attention.
I don't see an option/setting called "Forced Refresh Rate" anywhere in the program's GUI.
odditude
Official tech support dood
Posts: 2118
Joined: Wed Jan 25, 2006 7:57 am

Post by odditude »

c0d3h4x0r wrote:
Deathlike2 wrote:If you haven't taken advantage of the Forced Refresh Rate option, clearly you haven't paid any attention.
I don't see an option/setting called "Forced Refresh Rate" anywhere in the program's GUI.
Please read the documentation more closely.
faq.txt wrote:

Code: Select all

Q: Why is the video choppy with an FPS of 60 and VSync on?
A: If you have VSync on, your monitor needs to be set to a refresh rate that is
   a multiple of the framerate of the game. NTSC games natively run at ~60 FPS.
   PAL games natively run at 50 FPS. Thus your monitor would need to be either
   60Hz or 120Hz for NTSC games, or 50Hz/100Hz for PAL games. If you run ZSNES
   with the -6 switch, with a sub-argument of '60', ZSNES will try to switch
   your monitor to 60Hz refresh rate. You can use the -ks switch to make ZSNES
   try to switch your monitor to 120Hz refresh rate. These two switches only
   work in fullscreen modes and are for the Windows port only.
   Please reference [Advanced.txt] for details on command-line switches.

   You can also try enabling Triple Buffering (using the -3 switch or the GUI
   option), however this currently only works in Full Screen modes. One last
   thing you can try is to turn off auto frame-skipping, and set manual frame
   rate to "0".
advanced.txt wrote:

Code: Select all

- - - - - - - - - - - - - - - -
 . . Windows-only Switches . .
- - - - - - - - - - - - - - - -
From the Windows NT command-line, you can use the following command to view the
accepted command-line input for a given ZSNES binary: "zsnesw -? | more".
Typing "zsnesw -?" does not work.

Users of any flavor of Windows can use the following command to output to a file
the same information returned from the command above: "zsnesw -? > commands.txt"

Argument|Sub-Arg.|Description
= = = = = = = = = = = = = = =
-3                Enable triple buffering (disables VSync)
-6 #  [50...180]  Force a user-specified refresh rate for fullscreen modes
-js # [0...32767] Set joystick sensitivity
-kp               Enable the KitchenSync for PAL only (100Hz)
-ks               Enable the KitchenSync for NTSC and PAL (120Hz/100Hz)
-v #              Select Video Mode:
  [...]
-w                Enable VSync (disables triple buffering)
Why yes, my shift key *IS* broken.
creaothceann
Seen it all
Posts: 2302
Joined: Mon Jan 03, 2005 5:04 pm
Location: Germany
Contact:

Post by creaothceann »

There's also the option of using Dxdiag to force 60 Hz on all fullscreen modes, or using your gfx card drivers / tools like Powerstrip to force 60 Hz on a specific mode.

LCDs/TFTs will have a hard time with PAL games, unless they can go down to 50 Hz.
vSNES | Delphi 10 BPLs
bsnes launcher with recent files list
c0d3h4x0r
Rookie
Posts: 16
Joined: Mon Dec 29, 2008 9:26 am
Location: Sammamish, WA, USA

Post by c0d3h4x0r »

odditude wrote:Please read the documentation more closely.
Something this critical shouldn't be buried in long documentation, or require manual tinkering with command-line switches, or require the user to know which region (PAL/NTSC) the ROM they are about to run was for. The software should figure it out automatically and do the right thing. It shouldn't be hard to in this case. ZSNES already knows when you load a ROM whether it is PAL or NTSC, right? It can use that information to automatically switch to the right refresh rate. This behavior can be optional (but defaulted to "on") via a setting ("Try automatically to match monitor refresh rate to game" would be a good description for it).

This should be pretty simple to implement (relative to, say, emulation bugs or engine rewrites) and would make "the right thing" happen automatically for users without them having to read through documentation, post to forums, etc. It seems like an obvious good move for the sake of usability, so I don't understand why there's so much resistance here to it. Hastily typing up a semi-incoherent bit of documentation and burying it in a long TXT file nobody ever reads does not constitute a good solution to a problem, and trying to fault people for not reading lengthy documentation is always going to be a losing battle.
Squall_Leonhart
Trooper
Posts: 369
Joined: Tue Jun 10, 2008 6:19 am
Location: Australia
Contact:

Post by Squall_Leonhart »

Zsnes already automatically matches the framerate.... look under speed,... and vsync and triplebuffering is available in the Video > Filters tab.

Further more, the screen i was just using was @ 1024x768@85Hz, and there was no lag when the game dialed back to 60FPS..... learn to set your computer up properly.
[img]http://img.photobucket.com/albums/v253/squall_leonhart69r/Final_Fantasy_8/squall_sig1.gif[/img]
[url=http://vba-m.com/]VBA-M Forum[/url], [url=http://www.ngohq.com]NGOHQ[/url]
Deathlike2
ZSNES Developer
ZSNES Developer
Posts: 6747
Joined: Tue Dec 28, 2004 6:47 am

Post by Deathlike2 »

c0d3h4x0r wrote:
odditude wrote:Please read the documentation more closely.
Something this critical shouldn't be buried in long documentation, or require manual tinkering with command-line switches, or require the user to know which region (PAL/NTSC) the ROM they are about to run was for. The software should figure it out automatically and do the right thing. It shouldn't be hard to in this case. ZSNES already knows when you load a ROM whether it is PAL or NTSC, right? It can use that information to automatically switch to the right refresh rate. This behavior can be optional (but defaulted to "on") via a setting ("Try automatically to match monitor refresh rate to game" would be a good description for it).
If finding the info via a text editor on the cfg files generated by ZSNES difficult, then shame on you. Unless it was some foreign format or unintelligable speak, you could find lots of stuff there if you took the time.
This should be pretty simple to implement (relative to, say, emulation bugs or engine rewrites) and would make "the right thing" happen automatically for users without them having to read through documentation, post to forums, etc. It seems like an obvious good move for the sake of usability, so I don't understand why there's so much resistance here to it. Hastily typing up a semi-incoherent bit of documentation and burying it in a long TXT file nobody ever reads does not constitute a good solution to a problem, and trying to fault people for not reading lengthy documentation is always going to be a losing battle.
Faulting people for not attempting to read it is actually a good starting point. If you buy something with instructions and you fail to use the product properly, who's fault is it if it breaks/doesn't work? If you aren't going to read the docs that come with an app, don't be surprised if you feel antagonized when the answer comes in the documentation and it gets recited to you.

Additionally, the kinds of bugs and stuff reported here have required posting what region that ROM is from. Even a minor distinction such as that has actual meaning an impact into diagnosing problems. So when you say "people don't know", they actually do (if they care enough about the issue at hand), and you aren't bothering to waste your time on the importance to detail. Yes, this doesn't apply here exactly, but saying it doesn't matter is silly.
Continuing [url=http://slickproductions.org/forum/index.php?board=13.0]FF4[/url] Research...
Squall_Leonhart
Trooper
Posts: 369
Joined: Tue Jun 10, 2008 6:19 am
Location: Australia
Contact:

Post by Squall_Leonhart »

Well, whatever, his issue, i have TB, and VS enabled in the filters tab, i have it set to a resolution with a max refresh of 85Hz (which is enforced by the nvidia refresh rates overrides) and the Speed config has been set to Auto


When the menu is open it runs at 85FPS, when a Game is open it dials back to 60 or 50Fps respective of the rom region, there is no tearing, and there is absolutely no lag/stuttering.

Clear case of FAIL TO READ DOCUMENTATION.

....does the RTFM command work on here... hmmm
[img]http://img.photobucket.com/albums/v253/squall_leonhart69r/Final_Fantasy_8/squall_sig1.gif[/img]
[url=http://vba-m.com/]VBA-M Forum[/url], [url=http://www.ngohq.com]NGOHQ[/url]
c0d3h4x0r
Rookie
Posts: 16
Joined: Mon Dec 29, 2008 9:26 am
Location: Sammamish, WA, USA

Post by c0d3h4x0r »

Squall_Leonhart wrote:Well, whatever, his issue, i have TB, and VS enabled in the filters tab, i have it set to a resolution with a max refresh of 85Hz (which is enforced by the nvidia refresh rates overrides) and the Speed config has been set to Auto


When the menu is open it runs at 85FPS, when a Game is open it dials back to 60 or 50Fps respective of the rom region, there is no tearing, and there is absolutely no lag/stuttering.

Clear case of FAIL TO READ DOCUMENTATION.

....does the RTFM command work on here... hmmm
The behavior you are describing is not what happens on my machine when I do the exact same set of repro steps. What build of ZSNES for Windows are you using?

This has nothing to do with "learning to set up my computer properly". Don't be a childish ass.
Squall_Leonhart
Trooper
Posts: 369
Joined: Tue Jun 10, 2008 6:19 am
Location: Australia
Contact:

Post by Squall_Leonhart »

c0d3h4x0r wrote:
Squall_Leonhart wrote:Well, whatever, his issue, i have TB, and VS enabled in the filters tab, i have it set to a resolution with a max refresh of 85Hz (which is enforced by the nvidia refresh rates overrides) and the Speed config has been set to Auto


When the menu is open it runs at 85FPS, when a Game is open it dials back to 60 or 50Fps respective of the rom region, there is no tearing, and there is absolutely no lag/stuttering.

Clear case of FAIL TO READ DOCUMENTATION.

....does the RTFM command work on here... hmmm
The behavior you are describing is not what happens on my machine when I do the exact same set of repro steps. What build of ZSNES for Windows are you using?
1.51 and the last zget compilable SVN version
This has nothing to do with "learning to set up my computer properly". Don't be a childish ass.
I have no need to, you provide enough childish ass for the both of us.

Post the contents of the cfg file.

Code: Select all

; PSR-produced config file (stock default in CAPS)

; Note, if you're worried you messed up a setting, removing the line will have
; ZSNES use the default settings for that option.
; The next time ZSNES is run, the line will reappear with the default settings.

;  ----
; -- Input --
;  ----

; For other input settings see zinput.cfg

; Enable Game-Specific Key Combos (0 = NO, 1 = Yes)
GUIComboGameSpec=0

; Enable Game-Specific Key Input (0 = NO, 1 = Yes)
GameSpecificInput=0

;  ----
; -- Options --
;  ----

; Allow MMX Support (0 = No, 1 = YES)
; Disable this only if you actually do NOT have a processor that supports MMX.
; Disabling this option will prevent you from using some of the more advanced
; video/sound filters.
AllowMMX=1

; Pause Emulation when ZSNES is Out of Focus (0 = NO, 1 = Yes)
PauseFocusChange=0

; Increase Priority of ZSNES (0 = NO, 1 = Yes)
; Enable this if it improves performance. This option is not for everyone.
; This may cause other background apps to be sluggish.
; The priority in Win9x will be High, Win2k will be Above Normal.
HighPriority=1

; Disable Power Management while ZSNES Runs (0 = No, 1 = YES)
; This is very necessary for gamepad users.
DisableScreenSaver=1

; Enable New Graphics Engine (0 = No, 1 = YES)
; Toggle off when there are graphical problems in the new graphics engine
newengen=1

; Enable Older Graphics Engine Tweak for Mode 2 (0 = NO, 1 = Yes)
; Enable this to see if it helps with rendering problems
; Only works with old graphic engine
bgfixer=1

; Snapshot Format (0 = BMP, 1 = PNG)
ScreenShotFormat=0

; Auto-Patch ROM with IPS (0 = No, 1 = YES)
AutoPatch=1

; Display ROM Info on Load (0 = No, 1 = YES)
DisplayInfo=1

; Log Info About the Last ROM Loaded to rominfo.txt (0 = No, 1 = YES)
RomInfo=1

; Enable FPS Counter when ZSNES is Started (0 = NO, 1 = Yes)
; This option is disabled when manual frameskip is in use.
FPSAtStart=1

; Display Clock (0 = NO, 1 = Yes)
TimerEnable=0

; Change Clock Mode (0 = 24 HOUR, 1 = 12 Hour)
TwelveHourClock=0

; Display Black Box Around Clock (0 = No, 1 = YES)
ClockBox=1

; Use Small Font for Messages (0 = NO, 1 = Yes)
SmallMsgText=1

; Transparent Messages - doesn't work with small font (0 = NO, 1 = Yes)
GUIEnableTransp=0

;  ----
; -- Video --
;  ----

[b]; Video Mode [0..42]
;   0 = 256x224      R WIN     1 = 256x224        R FULL
;   2 = 512x448      R WIN     3 = 512x448       DR WIN
;   4 = 640x480      S WIN     5 = 640x480       DS WIN
;   6 = 640x480     DR FULL    7 = 640x480       DS FULL
;   8 = 640x480      S FULL    9 = 768x672        R WIN
;  10 = 768x672     DR WIN    11 = 800x600        S WIN
;  12 = 800x600     DS WIN    13 = 800x600        S FULL
;  14 = 800x600     DR FULL   15 = 800x600       DS FULL
;  16 = 1024x768     S WIN    17 = 1024x768      DS WIN
;  18 = 1024x768     S FULL   19 = 1024x768      DR FULL
;  20 = 1024x768    DS FULL   21 = 1024x896       R WIN
;  22 = 1024x896    DR WIN    23 = 1280x960       S WIN
;  24 = 1280x960    DS WIN    25 = 1280x960       S FULL
;  26 = 1280x960    DR FULL   27 = 1280x960      DS FULL
;  28 = 1280x1024    S WIN    29 = 1280x1024     DS WIN
;  30 = 1280x1024    S FULL   31 = 1280x1024     DR FULL
;  32 = 1280x1024   DS FULL   33 = 1600x1200      S WIN
;  34 = 1600x1200   DS WIN    35 = 1600x1200     DR FULL
;  36 = 1600x1200   DS FULL   37 = 1600x1200      S FULL
;  38 = CUSTOM      D  WIN    39 = CUSTOM        DS FULL
;  40 = CUSTOM         WIN    41 = CUSTOM         S FULL
;  42 = CUSTOM      DR FULL
; You need to select one of the custom video modes and modify CustomResX/Y to
; properly use custom res support.
; WARNING: Custom resolutions are only valid if they are supported by your system!
; ZSNES will hang if an invalid fullscreen resolution is used.
cvidmode=20
; Last windowed & fullscreen modes (used when alt-tabbing)
PrevWinMode=10
PrevFSMode=20

; Custom Resolution X and Y for Custom Video Modes [256x224..2048x1536]
CustomResX=1024
CustomResY=768[/b]

; Enable Video Interpolation (0 = NO, 1 = Yes)
; Video Interpolation is compatible with scanlines.
; Blends the neighboring pixels on the screen to eliminate pixelation.
antienab=0

; Enable NTSC Filter (0 = NO, 1 = Yes)
; Enable Blargg's wonderful NTSC filter which simulates the artifacts of an
; NTSC TV set - it is probably not a good idea to use with TV-out
; Recommended to use a minimum res of 602x448
NTSCFilter=0
; Blend Frames, Refresh Screen (0 = OFF, 1 = On)
; Blend Frames allows smoother transitions between frames for non-60Hz refresh rates.
; Refresh Screen allows the screen to be updated while changing the filter's parameters.
NTSCBlend=0
NTSCRef=0
; NTSC TV Attributes [-100..100]
NTSCHue=0
NTSCSat=0
NTSCCont=0
NTSCBright=0
NTSCSharp=0
NTSCGamma=0
NTSCRes=0
NTSCArt=0
NTSCFringe=0
NTSCBleed=0
NTSCWarp=0

; Enable Kreed's 2x Filters (0 = NONE, 1 = 2xSaI, 2 = Super Eagle, 3 = Super 2xSaI)
; These are Kreed's various 2x filters. They do not exhibit the same level of
; blurring than interpolation/bilinear. MMX support is required.
; This is disabled when other filters are used.
En2xSaI=1

; Use HQ*x Filter (0 = NO, 1 = Yes)
; This is a filter MaxSt has created. These are very CPU intensive filters that
; do very awesome blending to remove the pixelation.
; This is disabled when other filters are used. MMX support is required.
hqFilter=0
; Set HQ*x level [2..4]
; Recommended min resolutions
; HQ2x = 512x448
; HQ3x = 768x672
; HQ4x = 1024x896
hqFilterlevel=2

; Enable Scanlines (0 = NONE, 1 = Full, 2 = 25%, 3 = 50%) - simulate TV scanlines
; This is compatible with interpolation.
scanlines=0

; Enable Grayscale Mode (0 = NO, 1 = Yes) - don't enable this for other than nostalgia
; The whole screen is displayed in monochrome color.
GrayscaleMode=0

; Enable High-Res Mode 7 (0 = NO, 1 = Yes)
; Doubles the internal resolution of the image when Mode 7 is in use
; However this disables most filters, except for interpolation.
; This is only useful in certain games and is not useful in general.
; Requires a minimum res of 512x448
Mode7HiRes16b=1

[b]; Sync Frames to Monitor Refresh Rate (0 = NO, 1 = Yes)
; Do not enable if you cannot normally sustain 60fps
vsyncon=1

; Use Triple Buffering (0 = NO, 1 = Yes) - replaces vsync
; This is usually more beneficial than VSync.
; This is not available in Windowed modes.
TripleBufferWin=1[/b]

; Force Refresh Rate (0 = NO, 1 = Yes)
; Enable this if you are experiencing visual tearing
; WARNING: Setting a refresh rate that your monitor cannot handle will have
; consequences! The DX Refresh Rate Override in dxdiag must be set to default
; in order for this to work! The refresh rate is only valid if it is supported
; by your system! This option is only useful in fullscreen modes.
ForceRefreshRate=0
SetRefreshRate=60

; Enable KitchenSync/KitchenSyncPAL (0 = NO, 1 = Yes)
; When enabled, ZSNES will use double the refresh rate of the game and use
; half of it to sync with the game to reduce/prevent visual tearing.
; You can enable this if your video card/monitor AND current ZSNES resolution
; supports 100Hz (for PAL games) and 120Hz (for NTSC games)
; KitchenSyncPAL applies to PAL games only, use KitchenSync for PAL+NTSC games.
; WARNING: The DX Refresh Rate Override in dxdiag must be set to default in
; order for this to work!
; This option is completely useless in a non-fullscreen mode.
KitchenSync=0
KitchenSyncPAL=0

; Keep 4:3 Ratio (0 = No, 1 = YES)
; This is particularly handy for those that use laptops/LCDs+non 4:3 resolutions.
; This can be used for any S/DS mode and any Custom Windowed mode.
; It is not recommended to enable this while under 298x224.
; Disable this if you want to use the non-standard ratio instead.
Keep4_3Ratio=0

; Set Gamma Level [0..15]
gammalevel=0

;  ----
; -- Sound --
;  ----

; Disable SPC Emulation (0 = NO, 1 = Yes)
; Disabling SPC emulation can improve performance, but at the expense of
; emulation accuracy. There will be no sound output and games might crash.
SPCDisable=0

; Enable Sound Emulation (0 = Off, 1 = ON) - disable if you need the performance
; If SPC emulation is disabled, there will be no sound output.
soundon=1

; Enable Stereo Sound (0 = Off, 1 = ON) - disable if you need the performance
StereoSound=1

; Swap Left Audio Channel w/Right (0 = NO, 1 = Yes)
RevStereo=0

; Simulate Surround Sound (0 = NO, 1 = Yes)
; Enable a simulated 2 speaker surround sound effect.
; Do not enable if playing a game that has its own surround sound effects.
; Stereo Sound must be enabled for this to work.
Surround=1

; Use Primary Sound Buffer (0 = NO, 1 = Yes)
; Enable this if you are experiencing sound playback/static problems.
PrimaryBuffer=1

; Sampling Rate: (0 = 8000Hz, 1 = 11025Hz, 2 = 22050Hz, 3 = 44100Hz,
;                            4 = 16000Hz, 5 = 32000Hz, 6 = 48000Hz)
; Using any other sound frequencies other than the default 32000Hz
; is COMPLETELY UNACCEPTABLE in use for sound bug reports.
SoundQuality=3

; Sound Volume Level [0..100]
MusicRelVol=100

; Enable Sound Interpolation (0 = None, 1 = GAUSSIAN, 2 = Cubic, 3 = 8-point)
; Sound interpolation smooths out the waveform of lower frequency sounds.
; Using any other setting other than the default Gaussian interpolation is
; COMPLETELY UNACCEPTABLE in sound bug reports.
SoundInterpType=3

; Enable Low-Pass Filter (0 = NONE, 1 = Simple, 2 = Dynamic, 3 = Hi-quality)
; A low-pass filter improves the bass in the sounds.
; This is useful if you have a Subwoofer.
LowPassFilterType=3

; Disable Echo (0 = NO, 1 = Yes)
; Disables the echo effect in the sound.
EchoDis=0

;  ----
; -- Saves --
;  ----

; Number of Rewind States [0..99]
RewindStates=8
; Delay between rewinds [1..99] - (1 = 200ms, 5 = 1s, 10 = 2s)
RewindFrames=15

; Don't Save SRAM (0 = NO, 1 = Yes)
; Only enable this if you don't want to Save SRAM at any given time.
; This option will make Update SRAM in Real-Time useless.
nosaveSRAM=0

; Update SRAM in Real-Time (0 = NO, 1 = Yes)
; This is useful if you fear something will prevent ZSNES from exiting normally.
; It is required to play games that store important values directly to SRAM.
; ZSNES normally updates SRAM on exit.
; If Don't Save SRAM is enabled, this option is useless.
SRAMSave5Sec=0

; Load SRAM w/Savestates (0 = No, 1 = YES)
; Enable this when you want to use the SRM that is stored within the savestate.
; Warning: You will overwrite the existing SRM that you are currently using.
; It is required to properly use states with games storing important values
; directly in SRM.
SRAMState=1

; Select Latest Save State Slot on Game Load (0 = NO, 1 = Yes)
; Enable this if you want to load the last saved savestate quickly
; (via the load savestate button/GUI option) after loading the game.
LatestSave=0

; Auto Increment State Slot First, then Save State (0 = NO, 1 = Yes)
; Enable this if you have a tendency in saving accidentally to an existing
; savestate.
AutoIncSaveSlot=0

; Save in 10 save block (0 = NO, 1 = Yes)
; This may be handy if you want to save within a block (0-9, 10-19, etc.)
AutoIncSaveSlotBlock=0

; Auto State Save/Load (0 = NO, 1 = Yes) - uses a special state
; Enable this if you wish a special state to be saved on a visit to the GUI.
; This state will automatically be loaded when you load a game.
AutoState=0

; Pause Emulation After Loading a Save State (0 = NO, 1 = Yes)
PauseLoad=0
; Pause Emulation After Using Rewind (0 = NO, 1 = Yes)
PauseRewind=0

[b];  ----
; -- Emulation --
;  ----

; Percent to Execute [50..150] - only modify if you know what you are doing
; Changing this value may help certain games run.
per2exec=100

; Disable Hacks (0 = NO, 1 = Yes)
; Set this to 1 if you want to disable game specific hacks
HacksDisable=0

; Frameskip: [0..10] (0 = AUTO, 1-10 = Manual 0-9)
frameskip=0

; Max Frameskip Allowed for Auto Frameskip [0..9]
maxskip=0

; Fastforward/Slowdown Keys Behaviour (0 = HELD, 1 = Toggle)
FastFwdToggle=0
; Fastforward/Slowdown Factors [0..28] (0 = factor 2, 28 = factor 30)
FFRatio=8
SDRatio=0

; Emulation Speed Throttle [0..58] (0 = speed/30, 29 = 1x, 58 = 30x)
; Fast-forward multiplicator is currently inaccurate
EmuSpeed=29[/b]

;  ----
; -- Paths --
;  ----
; It is suggested to go to GUI->Paths and modify the paths from there.
; ROMs drive + directory

; Note, when entering a path, make sure every backslash is doubled
; "C:\Games\SNES" for example is incorrect.
; "C:\\Games\\SNES" is correct.

ROMPath="D:\\Cartridge\\Super Nintendo\\Roms\"
; Save states & SRAMs, snapshots, SPCs
SRAMPath="D:\\Cartridge\\Super Nintendo\\Battery\"
SnapPath=""
SPCPath=""
; BIOS/base carts (BS-X, Sufami Turbo, Same Game & SD Gundam G-Next)
BSXPath=""
STPath=""
SGPath=""
GNextPath=""
; SPC7110 graphic packs
FEOEZPath=""
SJNSPath=""
MDHPath=""
SPL4Path=""

;  ----
; -- GUI --
;  ----

; Disable GUI (0 = NO, 1 = Yes)
guioff=0

; Show All Files in 'Load Game' Menu (0 = NO, 1 = Yes)
showallext=0

; Filename Display Mode (0 = LONG FILENAME, 1 = Internal header name)
GUIloadfntype=0

; Recent games played, you shouldn't edit this manually (8.3 / Paths / LFN)
prevloadiname="Star Fox 2.zip"\0".    ""ActRaiser 2.zip"\0"-    ""Earthbound.zip"\0".    ""Bahamut Lagoon.smc"\0"*    ""Mortal Kombat 3.zip"\0")    ""ActRaiser 1.zip"\0"-    ""Sim Earth - The Living Plan"\0"!    ""Kirby\'s Dream Land 3.zip"\0"$    ""E.V.O.zip"\0"3    ""DBZ - Ultime Menace.zip"\0"%    "
prevloaddnamel=0"!    ""D:\\Cartridge\\Super Nintendo\\Roms\"\0")%   ""D:\\Cartridge\\Super Nintendo\\Roms\"\0")%   ""D:\\Cartridge\\Super Nintendo\\Roms\"\0")%   ""D:\\Cartridge\\Super Nintendo\\Roms\"\0")%   ""C:\\Cartridge\\Super Nintendo\\Roms\"\0")%   ""D:\\Cartridge\\Super Nintendo\\Roms\"\0")%   ""D:\\Cartridge\\Super Nintendo\\Roms\"\0")%   ""D:\\Cartridge\\Super Nintendo\\Roms\"\0")%   ""D:\\Cartridge\\Super Nintendo\\Roms\"\0")%   ""D:\\Cartridge\\Super Nintendo\\Roms\"\0"(%   "
prevloadfnamel="Star Fox 2.zip"\0"!    ""zip"\0"!    "" - Link to the Past.zip"\0" %   ""ActRaiser 2.zip"\0"!    ""attlemaniacs.zip"\0"*%   ""Earthbound.zip"\0"!    ""s 3.zip"\0"4%   ""Bahamut Lagoon.smc"\0"!    ""n.zip"\0"2%   ""Mortal Kombat 3.zip"\0"!    "" Cross Dimension 0079.zip"\0"!    "" Shuyaku Soudatsusen (J).smc"\0"^$   ""ActRaiser 1.zip"\0"!    ""[h1].smc"\0"2%   ""Sim Earth - The Living Planet.zip"\0"!    ""ck Queen.zip"\0"!    "".smc"\0"u$   ""Kirby\'s Dream Land 3.zip"\0"!    ""ers - The Fighting Edition.zip"\0"q$   ""E.V.O.zip"\0"!    ""n - Another Story.zip"\0"+%   ""DBZ - Ultime Menace.zip"\0"!    ""gon - The Ultimate Team.zip"\0"u$   "

; Freeze Recent Games List (0 = NO, 1 = Yes)
prevlfreeze=0

; Right Mouse Click Enters/Exits GUI (0 = NO, 1 = Yes)
GUIRClick=0

; Left Handed Mouse Behavior for GUI (0 = NO SWAP, 1 = Swap)
; (swap left and right buttons)
lhguimouse=0

; Show Mouse Cursor Shadow (0 = No, 1 = YES)
; Displays a shadow under the mouse cursor.
mouseshad=1

; Wrap Mouse Cursor (0 = NO, 1 = Yes)
; If enabled, the cursor will wrap around to the other side.
; Only useful for Fullscreen modes.
mousewrap=0

; Trap Mouse Cursor in Window (0 = NO, 1 = Yes)
; Only useful in Windowed modes.
TrapMouseCursor=0

; Use Mouse Wheel to Scroll (0 = No, 1 = YES)
MouseWheel=1

; ESC to Game Menu (0 = No, 1 = YES)
; If yes, visiting the GUI will have the Game Menu automatically selected.
; It will also enable the main menu keyboard shortcuts.
esctomenu=1

; Control the GUI Using Gamepad 1 (0 = NO, 1 = Yes)
JoyPad1Move=0

; Filter GUI Display (0 = No, 1 = YES)
; If enabled, the current filter you are using will also filter the GUI.
FilteredGUI=1

; Use Custom Font (0 = NO, 1 = Yes)
; The font currently reads off a format as defined by zfile.txt
newfont=0

; Save GUI Window Positions (0 = NO, 1 = Yes)
savewinpos=0

; GUI windows X/Y coordinates - GUI setup showing windows #

;    Game          Config        Cheat      Netplay       Misc
; -------------------------------------------------------------------
;  1:Load         3:Input      7:Add Code  [Internet]   9:Misc Keys
;    Run          -------      7:Browse                10:GUI Opts
; 12:Reset       17:Devices   13:Search                15:Movie Opt
;  -------       18:Chip Cfg                           16:Key Comb.
; 14:Save State   -------                                 Save Cfg
;  2:Open State   4:Options                             -------
; 14:Pick State   5:Video                              11:About
;  -------        6:Sound
;    Quit        19:Paths
;                20:Saves
;                21:Speed

; X positions [-233..254] (windows #0 to #22)
GUIwinposx=0,6,65,33,42,5,34,6,64,8,5,33,56,64,56,5,3,28,48,6,28,53,0
; Y positions [8..221] (windows #0 to #22)
GUIwinposy=0,20,70,20,20,20,20,20,30,30,20,20,60,30,60,20,20,60,60,20,30,20,0

; GUI Background Effect
; (0 = NONE, 1 = Snow, 2 = Water A, 3 = Water B, 4 = Burn, 5 = Smoke)
GUIEffect=2

; GUI Palette Mods:
; Background RGB Tint [0..31]
GUIRAdd=0
GUIGAdd=0
GUIBAdd=31
; Titlebar RGB Tint [0..31]
GUITRAdd=0
GUITGAdd=10
GUITBAdd=31
; Windows RGB Tint [0..31]
GUIWRAdd=8
GUIWGAdd=8
GUIWBAdd=15

; Main Window Always on Top (0 = NO, 1 = Yes)
AlwaysOnTop=0

; Save Main Window Position (0 = No, 1 = YES) and X/Y coordinates
SaveMainWindowPos=1
MainWindowX=384
MainWindowY=288

; Allow Multiple ZSNES Instances at Once (0 = No, 1 = YES)
AllowMultipleInst=0

;  ----
; -- Cheats --
;  ----

; Autoload .CHT files (0 = NO, 1 = Yes)
; Enable the use of stored cheat files on load.
AutoLoadCht=0

; Selected Size Search (0 = 1 BYTE, 1 = 2B, 2 = 3B, 3 = 4B)
CheatSrcByteSize=0

; Selected Numerical Base (0 = DECIMAL, 1 = Hexadecimal)
CheatSrcByteBase=0

; Search Type (0 = EXACT VALUE, 1 = Comparative)
CheatSrcSearchType=0

; Add Code for Most Significant Byte Only (0 = NO, 1 = Yes)
CheatUpperByteOnly=0

;  ----
; -- Movies --
;  ----

; For other input settings see zmovie.cfg

; Display Movie Frame # During Record/Replay (0 = NO, 1 = Yes)
MovieDisplayFrame=0

; Movie Default Start Method (0 = NOW, 1 = Power-On,
;                             2 = Reset, 3 = Power-On without SRAM)
MovieStartMethod=0

; Switch Modes when Loading a Movie State (0 = NO, 1 = Switch to Record, 2 = Switch to Playback)
MZTForceRTR=0

; ZMV -> AVI Conversion Mode: (0 = No Video, 1 = Raw Video, 2 = Ffv1, 3 = x264,
;                              4 = XVID, 5 = Custom)
; The compression codecs can only be used if you provide them yourself.
; See zmovie.cfg for details.
MovieVideoMode=4

; Dump Audio Along w/Video (0 = No, 1 = YES)
MovieAudio=1

; Compress Audio Stream On-The-Fly (0 = No, 1 = YES)
; The compression codecs can only be used if you provide them yourself.
; See zmovie.cfg for details.
MovieAudioCompress=1

; Merge Audio and Video Streams Upon Conversion End (0 = No, 1 = YES)
MovieVideoAudio=1

;  ----
; -- Keyboard Hotkeys --
;  ----
; (you shouldn't edit these directly unless you know what you're doing)

; Super Scope Keys:
; Extra Device in Port 1/2 Cycle
KeyExtraEnab1=0
KeyExtraEnab2=0

; State Keys:
; Save State / Select Slot Menu / Load State
KeySaveState=60
KeyStateSelct=61
KeyLoadState=62
; Increase / Decrease Slot # / Direct Slot # Select
KeyIncStateSlot=0
KeyDecStateSlot=0
KeyStateSlc0=0
KeyStateSlc1=0
KeyStateSlc2=0
KeyStateSlc3=0
KeyStateSlc4=0
KeyStateSlc5=0
KeyStateSlc6=0
KeyStateSlc7=0
KeyStateSlc8=0
KeyStateSlc9=0
; Rewind
KeyRewind=0

; Speed Keys:
; Fast-Forward, Slow-Motion
KeyFastFrwrd=41
KeySlowDown=0
; Frame Rate Up/Down (Manual Frameskip)
KeyFRateUp=78
KeyFRateDown=74
; Speed Throttle Up/Down/Reset to Normal (Auto Frameskip)
KeyEmuSpeedUp=0
KeyEmuSpeedDown=0
KeyResetSpeed=0

; Pause Emulation, Frame Advance Keys
EMUPauseKey=25
INCRFrameKey=0

; Shortcuts:
; BG 0-3, Sprite Layer Display Toggles
KeyBGDisble0=2
KeyBGDisble1=3
KeyBGDisble2=4
KeyBGDisble3=5
KeySprDisble=6

; Sound Channel 0-7 Output Toggles
KeyDisableSC0=63
KeyDisableSC1=64
KeyDisableSC2=65
KeyDisableSC3=66
KeyDisableSC4=67
KeyDisableSC5=68
KeyDisableSC6=87
KeyDisableSC7=88

; Sound Volume Up/Down
KeyVolUp=0
KeyVolDown=0

; Quit ZSNES / Load Menu / Reset Game / Panic Key
KeyQuickExit=0
KeyQuickLoad=0
KeyQuickRst=0
KeyResetAll=7

; Clock Display Toggle
KeyQuickClock=0

; Netplay In-Game Chat
KeyQuickChat=20

; Screenshot Hotkey
KeyQuickSnapShot=0

; Capture SPC Hotkey
KeyQuickSaveSPC=0

; Use Player 3/4 Input as Player 1/2's Toggle
KeyUsePlayer1234=0

; FPS Display Toggle
KeyDisplayFPS=55

; Laptop Battery Display Toggle
KeyDisplayBatt=0

; Video Engine: Old/New Graphic Engine | Windowing | Offset Effects Toggles
KeyNewGfxSwt=9
KeyWinDisble=10
KeyOffsetMSw=11

; Gamma Correction Up/Down
KeyIncreaseGamma=0
KeyDecreaseGamma=0

; Movie Chapters: Insert / Go to Previous / Go to Next
KeyInsrtChap=0
KeyPrevChap=0
KeyNextChap=0

; Movie state load mode cycle
KeyRTRCycle=0

;  ----
; -- Misc --
;  ----

; Calculated Checksum & Hash: Don't Edit by Hand !
TimeChecker=185
PrevBuildNum=3015425511

; Display First-Time Use Reminder (0 = YES, 1 = No)
FirstTimeData=1

; Enable Debugger (0 = NO, 1 = Yes)
debuggeron=0

; Prevent ZSNES from Saving the Configuration on Exit (0 = NO, 1 = Yes)
cfgdontsave=0

; - EOF -
Last edited by Squall_Leonhart on Tue Dec 30, 2008 12:45 am, edited 2 times in total.
[img]http://img.photobucket.com/albums/v253/squall_leonhart69r/Final_Fantasy_8/squall_sig1.gif[/img]
[url=http://vba-m.com/]VBA-M Forum[/url], [url=http://www.ngohq.com]NGOHQ[/url]
c0d3h4x0r
Rookie
Posts: 16
Joined: Mon Dec 29, 2008 9:26 am
Location: Sammamish, WA, USA

Post by c0d3h4x0r »

Deathlike2 wrote:If finding the info via a text editor on the cfg files generated by ZSNES difficult, then shame on you.
...
Faulting people for not attempting to read it is actually a good starting point.
This childish, arrogant, holier-than-thou attitude needs to stop right now. It doesn't help users, it doesn't help you, and it doesn't help ZSNES improve.

I wrote in with an honest intention to help you by reporting a real issue, and in response I got bashed, ridiculed, and blamed. You really think that's the right way to treat people or to encourage them to try to be helpful in the future? I sure hope you aren't a parent -- if you are, I feel really sorry for your kids and how they're going to turn out.
Deathlike2
ZSNES Developer
ZSNES Developer
Posts: 6747
Joined: Tue Dec 28, 2004 6:47 am

Post by Deathlike2 »

c0d3h4x0r wrote:
Deathlike2 wrote:If finding the info via a text editor on the cfg files generated by ZSNES difficult, then shame on you.
...
Faulting people for not attempting to read it is actually a good starting point.
This childish, arrogant, holier-than-thou attitude needs to stop right now. It doesn't help users, it doesn't help you, and it doesn't help ZSNES improve.
Actually, it's not. Your issue is specifically a feature request and frankly the feature you asked for is in the program. If you think it's a hassle to read the docs and come to a better conclusion, then I can't help you further.
I wrote in with an honest intention to help you by reporting a real issue, and in response I got bashed, ridiculed, and blamed. You really think that's the right way to treat people or to encourage them to try to be helpful in the future? I sure hope you aren't a parent -- if you are, I feel really sorry for your kids and how they're going to turn out.
It's not an issue if you use due diligence. If you don't plan to use that, then you should expect the response you get. If you mention something that is completely broken, then maybe... right now your issue as said before is a non-issue. You have options to fix it and could have gotten your answers from the docs and chose not to read it.

The only other thing I can say is that your laptop graphics is really slow.... even in your desktop example (which you provide 0 specs for), it doesn't tell me anything useful that I can decypher anything from. Also, with the options provided in the same flaming by others, those are actually valid options for addressing the issue. If you've even looked into the issues in the first place, you would probably get a much nicer response...
Continuing [url=http://slickproductions.org/forum/index.php?board=13.0]FF4[/url] Research...
byuu

Post by byuu »

Auto-detection would be a real problem for PAL games, regardless. Very few of my monitors can handle either 50hz or 100hz. Especially not the LCDs.
c0d3h4x0r wrote:I sure hope you aren't a parent -- if you are, I feel really sorry for your kids and how they're going to turn out.
Deathlike2 wrote:It's not an issue if you use due diligence ... If you've even looked into the issues in the first place, you would probably get a much nicer response...
I HOPE YOU DON'T HAVE A WIFE TO ABUSE AND BEAT AT NIGHT!! ASSHOLE!
Nach
ZSNES Developer
ZSNES Developer
Posts: 3904
Joined: Tue Jul 27, 2004 10:54 pm
Location: Solar powered park bench
Contact:

Post by Nach »

byuu wrote: I HOPE YOU DON'T HAVE A WIFE TO ABUSE AND BEAT AT NIGHT!! ASSHOLE!
What else would you have a wife for, but to abuse and beat?

It's not like those punching bags shriek appropriately when thrown down the stairs.

I also believe the daytime is just as appropriate for abusing and beating.
May 9 2007 - NSRT 3.4, now with lots of hashing and even more accurate information! Go download it.
_____________
Insane Coding
c0d3h4x0r
Rookie
Posts: 16
Joined: Mon Dec 29, 2008 9:26 am
Location: Sammamish, WA, USA

Post by c0d3h4x0r »

Squall_Leonhart wrote:Post the contents of the cfg file.
Here it is. This is from the laptop with the Mobility Radeon X2300.

Code: Select all

; PSR-produced config file (stock default in CAPS)

; Note, if you're worried you messed up a setting, removing the line will have
; ZSNES use the default settings for that option.
; The next time ZSNES is run, the line will reappear with the default settings.

;  ----
; -- Input --
;  ----

; For other input settings see zinput.cfg

; Enable Game-Specific Key Combos (0 = NO, 1 = Yes)
GUIComboGameSpec=0

; Enable Game-Specific Key Input (0 = NO, 1 = Yes)
GameSpecificInput=0

;  ----
; -- Options --
;  ----

; Allow MMX Support (0 = No, 1 = YES)
; Disable this only if you actually do NOT have a processor that supports MMX.
; Disabling this option will prevent you from using some of the more advanced
; video/sound filters.
AllowMMX=1

; Pause Emulation when ZSNES is Out of Focus (0 = NO, 1 = Yes)
PauseFocusChange=0

; Increase Priority of ZSNES (0 = NO, 1 = Yes)
; Enable this if it improves performance. This option is not for everyone.
; This may cause other background apps to be sluggish.
; The priority in Win9x will be High, Win2k will be Above Normal.
HighPriority=1

; Disable Power Management while ZSNES Runs (0 = No, 1 = YES)
; This is very necessary for gamepad users.
DisableScreenSaver=1

; Enable New Graphics Engine (0 = No, 1 = YES)
; Toggle off when there are graphical problems in the new graphics engine
newengen=1

; Enable Older Graphics Engine Tweak for Mode 2 (0 = NO, 1 = Yes)
; Enable this to see if it helps with rendering problems
; Only works with old graphic engine
bgfixer=0

; Snapshot Format (0 = BMP, 1 = PNG)
ScreenShotFormat=0

; Auto-Patch ROM with IPS (0 = No, 1 = YES)
AutoPatch=1

; Display ROM Info on Load (0 = No, 1 = YES)
DisplayInfo=1

; Log Info About the Last ROM Loaded to rominfo.txt (0 = No, 1 = YES)
RomInfo=1

; Enable FPS Counter when ZSNES is Started (0 = NO, 1 = Yes)
; This option is disabled when manual frameskip is in use.
FPSAtStart=0

; Display Clock (0 = NO, 1 = Yes)
TimerEnable=0

; Change Clock Mode (0 = 24 HOUR, 1 = 12 Hour)
TwelveHourClock=0

; Display Black Box Around Clock (0 = No, 1 = YES)
ClockBox=1

; Use Small Font for Messages (0 = NO, 1 = Yes)
SmallMsgText=0

; Transparent Messages - doesn't work with small font (0 = NO, 1 = Yes)
GUIEnableTransp=0

;  ----
; -- Video --
;  ----

; Video Mode [0..42]
;   0 = 256x224      R WIN     1 = 256x224        R FULL
;   2 = 512x448      R WIN     3 = 512x448       DR WIN
;   4 = 640x480      S WIN     5 = 640x480       DS WIN
;   6 = 640x480     DR FULL    7 = 640x480       DS FULL
;   8 = 640x480      S FULL    9 = 768x672        R WIN
;  10 = 768x672     DR WIN    11 = 800x600        S WIN
;  12 = 800x600     DS WIN    13 = 800x600        S FULL
;  14 = 800x600     DR FULL   15 = 800x600       DS FULL
;  16 = 1024x768     S WIN    17 = 1024x768      DS WIN
;  18 = 1024x768     S FULL   19 = 1024x768      DR FULL
;  20 = 1024x768    DS FULL   21 = 1024x896       R WIN
;  22 = 1024x896    DR WIN    23 = 1280x960       S WIN
;  24 = 1280x960    DS WIN    25 = 1280x960       S FULL
;  26 = 1280x960    DR FULL   27 = 1280x960      DS FULL
;  28 = 1280x1024    S WIN    29 = 1280x1024     DS WIN
;  30 = 1280x1024    S FULL   31 = 1280x1024     DR FULL
;  32 = 1280x1024   DS FULL   33 = 1600x1200      S WIN
;  34 = 1600x1200   DS WIN    35 = 1600x1200     DR FULL
;  36 = 1600x1200   DS FULL   37 = 1600x1200      S FULL
;  38 = CUSTOM      D  WIN    39 = CUSTOM        DS FULL
;  40 = CUSTOM         WIN    41 = CUSTOM         S FULL
;  42 = CUSTOM      DR FULL
; You need to select one of the custom video modes and modify CustomResX/Y to
; properly use custom res support.
; WARNING: Custom resolutions are only valid if they are supported by your system!
; ZSNES will hang if an invalid fullscreen resolution is used.
cvidmode=2
; Last windowed & fullscreen modes (used when alt-tabbing)
PrevWinMode=2
PrevFSMode=6

; Custom Resolution X and Y for Custom Video Modes [256x224..2048x1536]
CustomResX=640
CustomResY=480

; Enable Video Interpolation (0 = NO, 1 = Yes)
; Video Interpolation is compatible with scanlines.
; Blends the neighboring pixels on the screen to eliminate pixelation.
antienab=0

; Enable NTSC Filter (0 = NO, 1 = Yes)
; Enable Blargg's wonderful NTSC filter which simulates the artifacts of an
; NTSC TV set - it is probably not a good idea to use with TV-out
; Recommended to use a minimum res of 602x448
NTSCFilter=0
; Blend Frames, Refresh Screen (0 = OFF, 1 = On)
; Blend Frames allows smoother transitions between frames for non-60Hz refresh rates.
; Refresh Screen allows the screen to be updated while changing the filter's parameters.
NTSCBlend=0
NTSCRef=0
; NTSC TV Attributes [-100..100]
NTSCHue=0
NTSCSat=0
NTSCCont=0
NTSCBright=0
NTSCSharp=0
NTSCGamma=0
NTSCRes=0
NTSCArt=0
NTSCFringe=0
NTSCBleed=0
NTSCWarp=0

; Enable Kreed's 2x Filters (0 = NONE, 1 = 2xSaI, 2 = Super Eagle, 3 = Super 2xSaI)
; These are Kreed's various 2x filters. They do not exhibit the same level of
; blurring than interpolation/bilinear. MMX support is required.
; This is disabled when other filters are used.
En2xSaI=0

; Use HQ*x Filter (0 = NO, 1 = Yes)
; This is a filter MaxSt has created. These are very CPU intensive filters that
; do very awesome blending to remove the pixelation.
; This is disabled when other filters are used. MMX support is required.
hqFilter=1
; Set HQ*x level [2..4]
; Recommended min resolutions
; HQ2x = 512x448
; HQ3x = 768x672
; HQ4x = 1024x896
hqFilterlevel=2

; Enable Scanlines (0 = NONE, 1 = Full, 2 = 25%, 3 = 50%) - simulate TV scanlines
; This is compatible with interpolation.
scanlines=0

; Enable Grayscale Mode (0 = NO, 1 = Yes) - don't enable this for other than nostalgia
; The whole screen is displayed in monochrome color.
GrayscaleMode=0

; Enable High-Res Mode 7 (0 = NO, 1 = Yes)
; Doubles the internal resolution of the image when Mode 7 is in use
; However this disables most filters, except for interpolation.
; This is only useful in certain games and is not useful in general.
; Requires a minimum res of 512x448
Mode7HiRes16b=1

; Sync Frames to Monitor Refresh Rate (0 = NO, 1 = Yes)
; Do not enable if you cannot normally sustain 60fps
vsyncon=1

; Use Triple Buffering (0 = NO, 1 = Yes) - replaces vsync
; This is usually more beneficial than VSync.
; This is not available in Windowed modes.
TripleBufferWin=0

; Force Refresh Rate (0 = NO, 1 = Yes)
; Enable this if you are experiencing visual tearing
; WARNING: Setting a refresh rate that your monitor cannot handle will have
; consequences! The DX Refresh Rate Override in dxdiag must be set to default
; in order for this to work! The refresh rate is only valid if it is supported
; by your system! This option is only useful in fullscreen modes.
ForceRefreshRate=0
SetRefreshRate=60

; Enable KitchenSync/KitchenSyncPAL (0 = NO, 1 = Yes)
; When enabled, ZSNES will use double the refresh rate of the game and use
; half of it to sync with the game to reduce/prevent visual tearing.
; You can enable this if your video card/monitor AND current ZSNES resolution
; supports 100Hz (for PAL games) and 120Hz (for NTSC games)
; KitchenSyncPAL applies to PAL games only, use KitchenSync for PAL+NTSC games.
; WARNING: The DX Refresh Rate Override in dxdiag must be set to default in
; order for this to work!
; This option is completely useless in a non-fullscreen mode.
KitchenSync=0
KitchenSyncPAL=0

; Keep 4:3 Ratio (0 = No, 1 = YES)
; This is particularly handy for those that use laptops/LCDs+non 4:3 resolutions.
; This can be used for any S/DS mode and any Custom Windowed mode.
; It is not recommended to enable this while under 298x224.
; Disable this if you want to use the non-standard ratio instead.
Keep4_3Ratio=1

; Set Gamma Level [0..15]
gammalevel=0

;  ----
; -- Sound --
;  ----

; Disable SPC Emulation (0 = NO, 1 = Yes)
; Disabling SPC emulation can improve performance, but at the expense of
; emulation accuracy. There will be no sound output and games might crash.
SPCDisable=0

; Enable Sound Emulation (0 = Off, 1 = ON) - disable if you need the performance
; If SPC emulation is disabled, there will be no sound output.
soundon=1

; Enable Stereo Sound (0 = Off, 1 = ON) - disable if you need the performance
StereoSound=1

; Swap Left Audio Channel w/Right (0 = NO, 1 = Yes)
RevStereo=0

; Simulate Surround Sound (0 = NO, 1 = Yes)
; Enable a simulated 2 speaker surround sound effect.
; Do not enable if playing a game that has its own surround sound effects.
; Stereo Sound must be enabled for this to work.
Surround=1

; Use Primary Sound Buffer (0 = NO, 1 = Yes)
; Enable this if you are experiencing sound playback/static problems.
PrimaryBuffer=1

; Sampling Rate: (0 = 8000Hz, 1 = 11025Hz, 2 = 22050Hz, 3 = 44100Hz,
;                            4 = 16000Hz, 5 = 32000Hz, 6 = 48000Hz)
; Using any other sound frequencies other than the default 32000Hz
; is COMPLETELY UNACCEPTABLE in use for sound bug reports.
SoundQuality=6

; Sound Volume Level [0..100]
MusicRelVol=100

; Enable Sound Interpolation (0 = None, 1 = GAUSSIAN, 2 = Cubic, 3 = 8-point)
; Sound interpolation smooths out the waveform of lower frequency sounds.
; Using any other setting other than the default Gaussian interpolation is
; COMPLETELY UNACCEPTABLE in sound bug reports.
SoundInterpType=1

; Enable Low-Pass Filter (0 = NONE, 1 = Simple, 2 = Dynamic, 3 = Hi-quality)
; A low-pass filter improves the bass in the sounds.
; This is useful if you have a Subwoofer.
LowPassFilterType=0

; Disable Echo (0 = NO, 1 = Yes)
; Disables the echo effect in the sound.
EchoDis=0

;  ----
; -- Saves --
;  ----

; Number of Rewind States [0..99]
RewindStates=8
; Delay between rewinds [1..99] - (1 = 200ms, 5 = 1s, 10 = 2s)
RewindFrames=15

; Don't Save SRAM (0 = NO, 1 = Yes)
; Only enable this if you don't want to Save SRAM at any given time.
; This option will make Update SRAM in Real-Time useless.
nosaveSRAM=0

; Update SRAM in Real-Time (0 = NO, 1 = Yes)
; This is useful if you fear something will prevent ZSNES from exiting normally.
; It is required to play games that store important values directly to SRAM.
; ZSNES normally updates SRAM on exit.
; If Don't Save SRAM is enabled, this option is useless.
SRAMSave5Sec=0

; Load SRAM w/Savestates (0 = No, 1 = YES)
; Enable this when you want to use the SRM that is stored within the savestate.
; Warning: You will overwrite the existing SRM that you are currently using.
; It is required to properly use states with games storing important values
; directly in SRM.
SRAMState=1

; Select Latest Save State Slot on Game Load (0 = NO, 1 = Yes)
; Enable this if you want to load the last saved savestate quickly
; (via the load savestate button/GUI option) after loading the game.
LatestSave=0

; Auto Increment State Slot First, then Save State (0 = NO, 1 = Yes)
; Enable this if you have a tendency in saving accidentally to an existing
; savestate.
AutoIncSaveSlot=0

; Save in 10 save block (0 = NO, 1 = Yes)
; This may be handy if you want to save within a block (0-9, 10-19, etc.)
AutoIncSaveSlotBlock=0

; Auto State Save/Load (0 = NO, 1 = Yes) - uses a special state
; Enable this if you wish a special state to be saved on a visit to the GUI.
; This state will automatically be loaded when you load a game.
AutoState=0

; Pause Emulation After Loading a Save State (0 = NO, 1 = Yes)
PauseLoad=0
; Pause Emulation After Using Rewind (0 = NO, 1 = Yes)
PauseRewind=0

;  ----
; -- Emulation --
;  ----

; Percent to Execute [50..150] - only modify if you know what you are doing
; Changing this value may help certain games run.
per2exec=100

; Disable Hacks (0 = NO, 1 = Yes)
; Set this to 1 if you want to disable game specific hacks
HacksDisable=0

; Frameskip: [0..10] (0 = AUTO, 1-10 = Manual 0-9)
frameskip=0

; Max Frameskip Allowed for Auto Frameskip [0..9]
maxskip=9

; Fastforward/Slowdown Keys Behaviour (0 = HELD, 1 = Toggle)
FastFwdToggle=0
; Fastforward/Slowdown Factors [0..28] (0 = factor 2, 28 = factor 30)
FFRatio=8
SDRatio=0

; Emulation Speed Throttle [0..58] (0 = speed/30, 29 = 1x, 58 = 30x)
; Fast-forward multiplicator is currently inaccurate
EmuSpeed=29

;  ----
; -- Paths --
;  ----
; It is suggested to go to GUI->Paths and modify the paths from there.
; ROMs drive + directory

; Note, when entering a path, make sure every backslash is doubled
; "C:\Games\SNES" for example is incorrect.
; "C:\\Games\\SNES" is correct.

ROMPath="C:\\Users\\Keith\\Emulator Disks and ROMs\\SNES\"
; Save states & SRAMs, snapshots, SPCs
SRAMPath=""
SnapPath=""
SPCPath=""
; BIOS/base carts (BS-X, Sufami Turbo, Same Game & SD Gundam G-Next)
BSXPath=""
STPath=""
SGPath=""
GNextPath=""
; SPC7110 graphic packs
FEOEZPath=""
SJNSPath=""
MDHPath=""
SPL4Path=""

;  ----
; -- GUI --
;  ----

; Disable GUI (0 = NO, 1 = Yes)
guioff=0

; Show All Files in 'Load Game' Menu (0 = NO, 1 = Yes)
showallext=0

; Filename Display Mode (0 = LONG FILENAME, 1 = Internal header name)
GUIloadfntype=0

; Recent games played, you shouldn't edit this manually (8.3 / Paths / LFN)
prevloadiname="Baseball Simulator 1000.smc"\0"!    ""Super Mario World.smc"\0"\'    ""Puzzle Bobble (E).smc"\0"\'    ""Super Mario Kart.smc"\0"(    ""Super Mario World 2 - Yoshi"\0"O!   "
prevloaddnamel=0"!    ""C:\\Users\\Keith\\Emulator Disks and ROMs\\SNES\"\0"|$   ""C:\\Users\\Keith\\Emulator Disks and ROMs\\SNES\"\0"|$   ""C:\\Users\\Keith\\Emulator Disks and ROMs\\SNES\"\0"|$   ""C:\\Users\\Keith\\Emulator Disks and ROMs\\SNES\"\0"|$   ""C:\\Users\\Keith\\Emulator Disks and ROMs\\SNES\"\0"3@   "
prevloadfnamel="Baseball Simulator 1000.smc"\0"/%   ""Super Mario World.smc"\0"5%   ""Puzzle Bobble (E).smc"\0"5%   ""Super Mario Kart.smc"\0"6%   ""Super Mario World 2 - Yoshi\'s Island.smc"\0"8@   "

; Freeze Recent Games List (0 = NO, 1 = Yes)
prevlfreeze=0

; Right Mouse Click Enters/Exits GUI (0 = NO, 1 = Yes)
GUIRClick=0

; Left Handed Mouse Behavior for GUI (0 = NO SWAP, 1 = Swap)
; (swap left and right buttons)
lhguimouse=0

; Show Mouse Cursor Shadow (0 = No, 1 = YES)
; Displays a shadow under the mouse cursor.
mouseshad=1

; Wrap Mouse Cursor (0 = NO, 1 = Yes)
; If enabled, the cursor will wrap around to the other side.
; Only useful for Fullscreen modes.
mousewrap=0

; Trap Mouse Cursor in Window (0 = NO, 1 = Yes)
; Only useful in Windowed modes.
TrapMouseCursor=0

; Use Mouse Wheel to Scroll (0 = No, 1 = YES)
MouseWheel=1

; ESC to Game Menu (0 = No, 1 = YES)
; If yes, visiting the GUI will have the Game Menu automatically selected.
; It will also enable the main menu keyboard shortcuts.
esctomenu=1

; Control the GUI Using Gamepad 1 (0 = NO, 1 = Yes)
JoyPad1Move=0

; Filter GUI Display (0 = No, 1 = YES)
; If enabled, the current filter you are using will also filter the GUI.
FilteredGUI=1

; Use Custom Font (0 = NO, 1 = Yes)
; The font currently reads off a format as defined by zfile.txt
newfont=0

; Save GUI Window Positions (0 = NO, 1 = Yes)
savewinpos=0

; GUI windows X/Y coordinates - GUI setup showing windows #

;    Game          Config        Cheat      Netplay       Misc
; -------------------------------------------------------------------
;  1:Load         3:Input      7:Add Code  [Internet]   9:Misc Keys
;    Run          -------      7:Browse                10:GUI Opts
; 12:Reset       17:Devices   13:Search                15:Movie Opt
;  -------       18:Chip Cfg                           16:Key Comb.
; 14:Save State   -------                                 Save Cfg
;  2:Open State   4:Options                             -------
; 14:Pick State   5:Video                              11:About
;  -------        6:Sound
;    Quit        19:Paths
;                20:Saves
;                21:Speed

; X positions [-233..254] (windows #0 to #22)
GUIwinposx=0,6,65,33,42,5,34,6,64,8,8,33,56,64,56,5,3,28,48,6,28,53,0
; Y positions [8..221] (windows #0 to #22)
GUIwinposy=0,20,70,20,20,20,20,20,30,30,20,20,60,30,60,20,20,60,60,20,30,20,0

; GUI Background Effect
; (0 = NONE, 1 = Snow, 2 = Water A, 3 = Water B, 4 = Burn, 5 = Smoke)
GUIEffect=1

; GUI Palette Mods:
; Background RGB Tint [0..31]
GUIRAdd=15
GUIGAdd=10
GUIBAdd=31
; Titlebar RGB Tint [0..31]
GUITRAdd=0
GUITGAdd=10
GUITBAdd=31
; Windows RGB Tint [0..31]
GUIWRAdd=8
GUIWGAdd=8
GUIWBAdd=25

; Main Window Always on Top (0 = NO, 1 = Yes)
AlwaysOnTop=0

; Save Main Window Position (0 = No, 1 = YES) and X/Y coordinates
SaveMainWindowPos=1
MainWindowX=256
MainWindowY=160

; Allow Multiple ZSNES Instances at Once (0 = No, 1 = YES)
AllowMultipleInst=1

;  ----
; -- Cheats --
;  ----

; Autoload .CHT files (0 = NO, 1 = Yes)
; Enable the use of stored cheat files on load.
AutoLoadCht=0

; Selected Size Search (0 = 1 BYTE, 1 = 2B, 2 = 3B, 3 = 4B)
CheatSrcByteSize=0

; Selected Numerical Base (0 = DECIMAL, 1 = Hexadecimal)
CheatSrcByteBase=0

; Search Type (0 = EXACT VALUE, 1 = Comparative)
CheatSrcSearchType=0

; Add Code for Most Significant Byte Only (0 = NO, 1 = Yes)
CheatUpperByteOnly=0

;  ----
; -- Movies --
;  ----

; For other input settings see zmovie.cfg

; Display Movie Frame # During Record/Replay (0 = NO, 1 = Yes)
MovieDisplayFrame=0

; Movie Default Start Method (0 = NOW, 1 = Power-On,
;                             2 = Reset, 3 = Power-On without SRAM)
MovieStartMethod=0

; Switch Modes when Loading a Movie State (0 = NO, 1 = Switch to Record, 2 = Switch to Playback)
MZTForceRTR=0

; ZMV -> AVI Conversion Mode: (0 = No Video, 1 = Raw Video, 2 = Ffv1, 3 = x264,
;                              4 = XVID, 5 = Custom)
; The compression codecs can only be used if you provide them yourself.
; See zmovie.cfg for details.
MovieVideoMode=4

; Dump Audio Along w/Video (0 = No, 1 = YES)
MovieAudio=1

; Compress Audio Stream On-The-Fly (0 = No, 1 = YES)
; The compression codecs can only be used if you provide them yourself.
; See zmovie.cfg for details.
MovieAudioCompress=1

; Merge Audio and Video Streams Upon Conversion End (0 = No, 1 = YES)
MovieVideoAudio=1

;  ----
; -- Keyboard Hotkeys --
;  ----
; (you shouldn't edit these directly unless you know what you're doing)

; Super Scope Keys:
; Extra Device in Port 1/2 Cycle
KeyExtraEnab1=0
KeyExtraEnab2=0

; State Keys:
; Save State / Select Slot Menu / Load State
KeySaveState=60
KeyStateSelct=61
KeyLoadState=62
; Increase / Decrease Slot # / Direct Slot # Select
KeyIncStateSlot=0
KeyDecStateSlot=0
KeyStateSlc0=0
KeyStateSlc1=0
KeyStateSlc2=0
KeyStateSlc3=0
KeyStateSlc4=0
KeyStateSlc5=0
KeyStateSlc6=0
KeyStateSlc7=0
KeyStateSlc8=0
KeyStateSlc9=0
; Rewind
KeyRewind=0

; Speed Keys:
; Fast-Forward, Slow-Motion
KeyFastFrwrd=41
KeySlowDown=0
; Frame Rate Up/Down (Manual Frameskip)
KeyFRateUp=0
KeyFRateDown=0
; Speed Throttle Up/Down/Reset to Normal (Auto Frameskip)
KeyEmuSpeedUp=0
KeyEmuSpeedDown=0
KeyResetSpeed=0

; Pause Emulation, Frame Advance Keys
EMUPauseKey=25
INCRFrameKey=0

; Shortcuts:
; BG 0-3, Sprite Layer Display Toggles
KeyBGDisble0=2
KeyBGDisble1=3
KeyBGDisble2=4
KeyBGDisble3=5
KeySprDisble=6

; Sound Channel 0-7 Output Toggles
KeyDisableSC0=63
KeyDisableSC1=64
KeyDisableSC2=65
KeyDisableSC3=66
KeyDisableSC4=67
KeyDisableSC5=68
KeyDisableSC6=87
KeyDisableSC7=88

; Sound Volume Up/Down
KeyVolUp=0
KeyVolDown=0

; Quit ZSNES / Load Menu / Reset Game / Panic Key
KeyQuickExit=0
KeyQuickLoad=0
KeyQuickRst=0
KeyResetAll=7

; Clock Display Toggle
KeyQuickClock=0

; Netplay In-Game Chat
KeyQuickChat=20

; Screenshot Hotkey
KeyQuickSnapShot=0

; Capture SPC Hotkey
KeyQuickSaveSPC=0

; Use Player 3/4 Input as Player 1/2's Toggle
KeyUsePlayer1234=0

; FPS Display Toggle
KeyDisplayFPS=0

; Laptop Battery Display Toggle
KeyDisplayBatt=0

; Video Engine: Old/New Graphic Engine | Windowing | Offset Effects Toggles
KeyNewGfxSwt=9
KeyWinDisble=10
KeyOffsetMSw=11

; Gamma Correction Up/Down
KeyIncreaseGamma=0
KeyDecreaseGamma=0

; Movie Chapters: Insert / Go to Previous / Go to Next
KeyInsrtChap=0
KeyPrevChap=0
KeyNextChap=0

; Movie state load mode cycle
KeyRTRCycle=0

;  ----
; -- Misc --
;  ----

; Calculated Checksum & Hash: Don't Edit by Hand !
TimeChecker=215
PrevBuildNum=0

; Display First-Time Use Reminder (0 = YES, 1 = No)
FirstTimeData=1

; Enable Debugger (0 = NO, 1 = Yes)
debuggeron=0

; Prevent ZSNES from Saving the Configuration on Exit (0 = NO, 1 = Yes)
cfgdontsave=0

; - EOF -
Squall_Leonhart
Trooper
Posts: 369
Joined: Tue Jun 10, 2008 6:19 am
Location: Australia
Contact:

Post by Squall_Leonhart »

byuu wrote:Auto-detection would be a real problem for PAL games, regardless. Very few of my monitors can handle either 50hz or 100hz. Especially not the LCDs.
c0d3h4x0r wrote:I sure hope you aren't a parent -- if you are, I feel really sorry for your kids and how they're going to turn out.
Deathlike2 wrote:It's not an issue if you use due diligence ... If you've even looked into the issues in the first place, you would probably get a much nicer response...
I HOPE YOU DON'T HAVE A WIFE TO ABUSE AND BEAT AT NIGHT!! ASSHOLE!
Well, the same thing that works for 60, works for 50 for me, so if the settings are right, and the issue still occurs, it'd be a system (or user) specific issue, but since i run zsnes and snes9x across 3 vastly different built systems....
[img]http://img.photobucket.com/albums/v253/squall_leonhart69r/Final_Fantasy_8/squall_sig1.gif[/img]
[url=http://vba-m.com/]VBA-M Forum[/url], [url=http://www.ngohq.com]NGOHQ[/url]
Squall_Leonhart
Trooper
Posts: 369
Joined: Tue Jun 10, 2008 6:19 am
Location: Australia
Contact:

Post by Squall_Leonhart »

c0d3h4x0r wrote:
Squall_Leonhart wrote:Post the contents of the cfg file.
Here it is. This is from the laptop with the Mobility Radeon X2300.

Code: Select all

*snip*
you don't have Triplebuffering enabled, which would explain the stutttering.
[img]http://img.photobucket.com/albums/v253/squall_leonhart69r/Final_Fantasy_8/squall_sig1.gif[/img]
[url=http://vba-m.com/]VBA-M Forum[/url], [url=http://www.ngohq.com]NGOHQ[/url]
c0d3h4x0r
Rookie
Posts: 16
Joined: Mon Dec 29, 2008 9:26 am
Location: Sammamish, WA, USA

Post by c0d3h4x0r »

Deathlike2 wrote:Actually, it's not. Your issue is specifically a feature request
You may look at it that way, but users won't. It's a bug report, not a feature request. If something doesn't work "out of the box" automatically as expected, that's a bug. My expectation (which is not an unreasonable one) is that I shouldn't have to manually switch my monitor to 60Hz before launching the emulator -- the emulator should do that for me automatically. Other emulators manage to do this (KEGA Fusion, MAMEUI, WinUAE, WinVICE) so why shouldn't ZSNES?
Deathlike2 wrote:The only other thing I can say is that your laptop graphics is really slow...
That's not the cause of this problem though. This problem is exclusive to ZSNES. All my other emulators running in full-screen 640x480 mode (with V-sync enabled) on the same hardware under the same OS do not exhibit this issue or anything like it. Even Sonic the Hedgehog on KEGA Fusion is smooth as silk with no tearing.
Deathlike2 wrote:even in your desktop example (which you provide 0 specs for), it doesn't tell me anything useful that I can decypher anything from.
My desktop is an Intel Core 2 Duo with an ATI Radeon X1900 and the latest ATI Catalyst driver and Control Center, with all the default video driver settings. Again, all my other emulators (KEGA Fusion, MAMEUI, Nestopia, WinVICE, etc), when running in fullscreen with Vsync enabled, do not exhibit any video performance issues like this one in ZSNES.

I will also reiterate that the problem goes away, and ZSNES performs smoothly the way I would expect, when I manually change my monitor refresh rate in Windows display properties to 60Hz before launching ZSNES and switching it to fullscreen mode (using ALT-ENTER). If I switch my refresh rate in Windows display properties back to 75Hz before launching ZSNES and switching it to fullscreen mode (using ALT-ENTER), then ZSNES video performance stutters badly.

I will also reiterate that this repro, and workaround, behaves identically on three different systems (my laptop with the Mobility Radeon X2300 running Windows Vista SP1, the same laptop when dual-booted into a Windows 7 build, my home desktop with the Radeon X1900 running Vista SP1, and on a friend's machine with an nVidia GeForce something-or-other running XP SP3). All three machines are running ZSNES 1.51 official release from the main www.zsnes.com site. All three machines exhibit this repro regardless of which game ROM I load (they are all NTSC/US ROMs though as far as I know). This is clearly not a problem with a specific video driver, specific video card, or specific OS. It may be a problem with this specific build of ZSNES.

I will try hooking the laptop up to my LCD HDTV (a Samsung 1080p), because it has an on-screen display that will tell me exactly what video mode it is being fed (resolution and refresh rate) at any given time. I will set my monitor refresh rate in Windows display properties to 75Hz, launch ZSNES, load an NTSC ROM, ALT-ENTER to switch it to fullscreen, and see what refresh rate the TV then reports for the fullscreen mode. That should end all debate here about whether ZSNES is already automatically switching to the correct refresh rate upon entering fullscreen.
c0d3h4x0r
Rookie
Posts: 16
Joined: Mon Dec 29, 2008 9:26 am
Location: Sammamish, WA, USA

Post by c0d3h4x0r »

Squall_Leonhart wrote:
c0d3h4x0r wrote:
Squall_Leonhart wrote:Post the contents of the cfg file.
Here it is. This is from the laptop with the Mobility Radeon X2300.

Code: Select all

*snip*
you don't have Triplebuffering enabled, which would explain the stutttering.
Enabling TripleBuffering yields no improvement. I just leave it off because it appears to have zero effect on my video performance. I also have triple buffering disabled in all my other emulators (if they offer it as an option) and they perform just fine.
c0d3h4x0r
Rookie
Posts: 16
Joined: Mon Dec 29, 2008 9:26 am
Location: Sammamish, WA, USA

Post by c0d3h4x0r »

c0d3h4x0r wrote:I will try hooking the laptop up to my LCD HDTV (a Samsung 1080p), because it has an on-screen display that will tell me exactly what video mode it is being fed (resolution and refresh rate) at any given time. I will set my monitor refresh rate in Windows display properties to 75Hz, launch ZSNES, load an NTSC ROM, ALT-ENTER to switch it to fullscreen, and see what refresh rate the TV then reports for the fullscreen mode. That should end all debate here about whether ZSNES is already automatically switching to the correct refresh rate upon entering fullscreen.
I did this little experiment using my laptop on my LCD HDTV, and I also did it using my dekstop PC on its LCD computer monitor (I found an "information" screen in my monitor's on-screen menu that shows me the display mode details). In both cases: with my monitor set to 75Hz in my Windows display properties, then launching ZSNES, loading the NTSC US Super Mario World rom (I verified it is NTSC in the rom-loading info messages), then pressing ALT-ENTER to switch to fullscreen, the game scrolling is very stuttery, and the fullscreen mode is 640x480x75Hz. ZSNES is not auto-switching to 60Hz for me, contrary to the claim made earlier by Squall_Leonhart:
Squall_Leonhart wrote: Well, whatever, his issue, i have TB, and VS enabled in the filters tab, i have it set to a resolution with a max refresh of 85Hz (which is enforced by the nvidia refresh rates overrides) and the Speed config has been set to Auto

When the menu is open it runs at 85FPS, when a Game is open it dials back to 60 or 50Fps respective of the rom region, there is no tearing, and there is absolutely no lag/stuttering.
Deathlike2
ZSNES Developer
ZSNES Developer
Posts: 6747
Joined: Tue Dec 28, 2004 6:47 am

Post by Deathlike2 »

My only suggestion is through the CCC control panel and force refresh rates as the same as the desktop (or to whatever the # in Hz) and see if that helps. That's all I can think of.. I use an ATI Radeon 9800 under Win2k and have had no issues of that sort.
Continuing [url=http://slickproductions.org/forum/index.php?board=13.0]FF4[/url] Research...
Squall_Leonhart
Trooper
Posts: 369
Joined: Tue Jun 10, 2008 6:19 am
Location: Australia
Contact:

Post by Squall_Leonhart »

Eh heh, Set zsnes to use the native lcd resolution, with the

Windows NT5+ doesn't automatically use the max refresh rate available in the display driver (lacking 9x's Optimal setting)

btw, i never said it automatically switches to 60Hz, learn to read.

the screen is still at 85Hz, it is just running at 60 or 50FPS when a NTSC or PAL game is respectively launched, and 85FPS when just usin the menu.



Stuttering can be caused elsewhere..... for example if the internal FPS(snes gfx core) doesn't match the External(video output) and the emulator has to use Frame skipping
[img]http://img.photobucket.com/albums/v253/squall_leonhart69r/Final_Fantasy_8/squall_sig1.gif[/img]
[url=http://vba-m.com/]VBA-M Forum[/url], [url=http://www.ngohq.com]NGOHQ[/url]
Post Reply