diff --git a/zsnes/src/win/winlink.cpp b/zsnes/src/win/winlink.cpp index f45aaf3d..566637a4 100644 --- a/zsnes/src/win/winlink.cpp +++ b/zsnes/src/win/winlink.cpp @@ -54,6 +54,7 @@ extern "C" { HINSTANCE hInst; unsigned char KitchenSync = 0; +unsigned char Force60hz = 0; } LPDIRECTSOUND8 lpDirectSound = NULL; @@ -1398,6 +1399,7 @@ int InitDirectDraw() else { KitchenSync = 0; + Force60hz = 0; Refresh = 0; } } @@ -2429,24 +2431,26 @@ void drawscreenwin(void) SurfBufD=(DWORD) &SurfBuf[0]; SURFDW=(DWORD *) &SurfBuf[0]; - if (KitchenSync == 0 && Refresh != 0) + if (!KitchenSync && Refresh != 0) { Refresh = 0; InitDirectDraw(); } - if (KitchenSync == 1 && Refresh != 120 && totlines == 263) + if (KitchenSync && Refresh != 120 && totlines == 263) { Refresh = 120; InitDirectDraw(); } - if (KitchenSync == 1 && Refresh != 100 && totlines == 314) + if (KitchenSync && Refresh != 100 && totlines == 314) { Refresh = 100; InitDirectDraw(); } + if (Force60hz) Refresh = 60; + if ( HQMode == 0 ) { if (SurfaceX == 256 && SurfaceY == 240) diff --git a/zsnes/src/win/zloaderw.c b/zsnes/src/win/zloaderw.c index cd5bae3a..c8130d78 100644 --- a/zsnes/src/win/zloaderw.c +++ b/zsnes/src/win/zloaderw.c @@ -31,6 +31,7 @@ extern void ConvertJoyMap2(void); extern void displayparams(void); extern void makeextension(void); extern unsigned char KitchenSync; +extern unsigned char Force60hz; int pccmdline(void); @@ -677,6 +678,11 @@ int pccmdline(void) KitchenSync=1; break; } + case '6': + { + Force60hz=1; + break; + } case '?': { return 9;