if (!ap->gfx_vsyncmode)
return;
if (busywait || calculated_scanline) {
- write_log(_T("target_calibrate_spin() skipped\n"));
+ write_log(_T("target_calibrate_spin() skipped (%d)\n"), calculated_scanline);
return;
}
- write_log(_T("target_calibrate_spin() start\n"));
+ write_log(_T("target_calibrate_spin() start (%d)\n"), calculated_scanline);
sc = 0x800000000000;
for (int i = 0; i < 50; i++) {
for (;;) {
pGetNativeSystemInfo (&SystemInfo);
osVersion.dwOSVersionInfoSize = sizeof (OSVERSIONINFO);
if (GetVersionEx (&osVersion)) {
- if (osVersion.dwMajorVersion >= 6)
+ if (osVersion.dwMajorVersion >= 6) {
os_vista = 1;
- if (osVersion.dwMajorVersion >= 7 || (osVersion.dwMajorVersion == 6 && osVersion.dwMinorVersion >= 1))
+ }
+ if (osVersion.dwMajorVersion >= 7 || (osVersion.dwMajorVersion == 6 && osVersion.dwMinorVersion >= 1)) {
os_win7 = 1;
- if (osVersion.dwMajorVersion >= 7 || (osVersion.dwMajorVersion == 6 && osVersion.dwMinorVersion >= 2))
+ }
+ if (osVersion.dwMajorVersion >= 7 || (osVersion.dwMajorVersion == 6 && osVersion.dwMinorVersion >= 2)) {
os_win8 = 1;
- if (osVersion.dwMajorVersion >= 7 || (osVersion.dwMajorVersion == 6 && osVersion.dwMinorVersion >= 3))
+ }
+ if (osVersion.dwMajorVersion >= 7 || (osVersion.dwMajorVersion == 6 && osVersion.dwMinorVersion >= 3)) {
os_win8 = 2;
- if (osVersion.dwMajorVersion >= 10)
+ }
+ if (osVersion.dwMajorVersion >= 10) {
os_win10 = 1;
- if (SystemInfo.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64)
+ }
+ if (SystemInfo.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64) {
os_64bit = 1;
+ }
+ if (os_win7 && !os_win8) {
+ calculated_scanline = false;
+ }
}
cpu_number = SystemInfo.dwNumberOfProcessors;
os_admin = isadminpriv ();
}
}
-
return 1;
}
hrtmon_lang = getval(np);
return 2;
}
+ if (!_tcscmp(arg, _T("beamrace"))) {
+ if (getval(np) == 0) {
+ calculated_scanline = true;
+ } else if (getval(np) == 1) {
+ calculated_scanline = false;
+ }
+ return 2;
+ }
+
#endif
return 0;
}
}
extern uae_u64 spincount;
-bool calculated_scanline = 1;
+bool calculated_scanline = true;
int target_get_display_scanline(int displayindex)
{
unsigned int th;
_beginthreadex(NULL, 0, waitvblankthread, 0, 0, &th);
} else {
- calculated_scanline = 0;
+ calculated_scanline = false;
}
}