unsigned int fpucontrol;
int extraframewait, extraframewait2;
int busywait;
+static int noNtDelayExecution;
extern FILE *debugfile;
extern int console_logging;
int target_sleep_nanos(int nanos)
{
static bool init;
- if (!init) {
+ if (!init && !noNtDelayExecution) {
pNtDelayExecution = (NTDELAYEXECUTION)GetProcAddress(GetModuleHandle(_T("ntdll.dll")), "NtDelayExecution");
pZwSetTimerResolution = (ZWSETTIMERRESOLUTION)GetProcAddress(GetModuleHandle(_T("ntdll.dll")), "ZwSetTimerResolution");
if (pZwSetTimerResolution) {
busywait = 1;
return 1;
}
-
+ if (!_tcscmp(arg, _T("nontdelayexecution"))) {
+ noNtDelayExecution = 1;
+ return 1;
+ }
if (!np)
return 0;
#define LANG_DLL_FULL_VERSION_MATCH 1
#if WINUAEPUBLICBETA
-#define WINUAEBETA _T("7")
+#define WINUAEBETA _T("8")
#else
#define WINUAEBETA _T("")
#endif
-#define WINUAEDATE MAKEBD(2018, 5, 1)
+#define WINUAEDATE MAKEBD(2018, 5, 5)
//#define WINUAEEXTRA _T("AmiKit Preview")
//#define WINUAEEXTRA _T("Amiga Forever Edition")
\r
+\r
+Beta 8:\r
+\r
+- CL horizontal doubling used wrong width size, fixed buffer overflow (b7).\r
+- CL horizontal doubling multiplier changed to 9/10. Old value missed 320*200 resolution.\r
+- 64-bit host FPU FMOVECR constants that didn't fit in double were clamped to max when they should have been set to infinity.\r
+- All logarithmic and trigonometric functions now use assembly code from existing JIT functions in new 80-bit host FPU mode. This should be feature complete now.\r
+- Multithreaded RTG now only does color conversion/copy in separate thread, present() is done in main thread because of possible thread safety problems.\r
+- Added quite pointless power led switches off/dims misc panel option. Affects OSD power led and D3D led overlay power led brightness.\r
+\r
+Beta 7:\r
+\r
+- Added debugger 'ex' command: 'e' command with extended data: last value written and PC of CPU or Copper when value was written.\r
+- UAEGFX RTG 15/16/24-bit graphics corruption fixed (b1).\r
+- If multimonitor mode and aviout/screenshot: capture/record from window that has focus.\r
+- Added horizontal doubling to Cirrus Logic emulation, enabled if screen height * 0.75 >= width. Keeps aspect ratio if CGX doublescan graphics mode is configured.\r
+- Native screen OSD was drawn twice in some multimonitor configurations, also could have caused crashes or some other weird behavior.\r
+\r
+Extended precision host FPU mode updates:\r
+\r
+- Some FPU instructions used wrong precision.\r
+- Supports divbyzero, underflow, overflow and inexact2 status bits and exceptions. Only in non-JIT FPU mode. (and no software really cares)\r
+- FCMP uses softfloat comparison code if more compatible is enabled (FCMP can't be directly mapped to host FPU), if not, it uses simple and quick test. (Difference: infinities, nans etc.. special cases only work in more compatible mode. No normal programs care, as usual)\r
+- Uses softfloat routines for rarely used functions (most trigometric, fexpman, fscale etc). Previously: extended to double conversion -> c-library math function -> double to extended conversion. Which probably wasn't noticeably faster.\r
+\r
+I think this is good compromise between speed and accuracy, commonly used operations use native code (that native FPU supports directly, x86 FPU does not directly support all operations that 6888x supports), complex and rarely used operations use softfloat code.\r
+\r
+NOTE: Host FPU extended precision FPU emulation is now enabled by default and always overrides config file saved 64-bit mode. If something works strangely, load your config, change FPU mode to 64-bit/softfloat and try again: if it fixes the problem -> report the problem immediately.\r
+\r
Beta 6:\r
\r
- Added DCE Typhoon MK2 (A1200 accelerator). ROM is almost identical to E-Matrix 530/1230. Identical SCSI driver, slightly modified RAM detection code.\r