if (currprefs.uaeboard > 1) {
rtarea_bank.start = uaeboard_base + 65536;
map_banks_z2(&rtarea_bank, (uaeboard_base + 65536) >> 16, 1);
+ ce_cachable[(uaeboard_base + 65536) >> 16] = CACHE_DISABLE_ALLOCATE;
}
return &uaeboard_bank;
}
xfree(p);
if (h != INVALID_HANDLE_VALUE && type != FILE_TYPE_DISK)
return 1;
- if (err == ERROR_INVALID_NAME || err == ERROR_ACCESS_DENIED)
+ if (err == ERROR_INVALID_NAME || err == ERROR_ACCESS_DENIED || err == ERROR_INVALID_HANDLE)
return 1;
return 0;
}
#define MOUSECLIP_HIDE 1
#define TOUCH_SUPPORT 1
#define TOUCH_DEBUG 1
+#define KBHOOK 0
#include <stdlib.h>
#include <stdarg.h>
HMODULE hUIDLL = NULL;
HWND (WINAPI *pHtmlHelp)(HWND, LPCWSTR, UINT, LPDWORD) = NULL;
HWND hAmigaWnd, hMainWnd, hHiddenWnd, hGUIWnd;
+#if KBHOOK
+static HHOOK hhook;
+#endif
RECT amigawin_rect, mainwin_rect;
static RECT amigawinclip_rect;
int setcursoroffset_x, setcursoroffset_y;
}
}
+#if KBHOOK
+static bool HasAltModifier(int flags)
+{
+ return (flags & 0x20) == 0x20;
+}
+
+static LRESULT CALLBACK captureKey(int nCode, WPARAM wp, LPARAM lp)
+{
+ if (nCode >= 0)
+ {
+ KBDLLHOOKSTRUCT *kbd = (KBDLLHOOKSTRUCT*)lp;
+ DWORD vk = kbd->vkCode;
+ DWORD flags = kbd->flags;
+
+ // Disabling Windows keys
+
+ if (vk == VK_RWIN || vk == VK_LWIN || (vk == VK_TAB && HasAltModifier(flags))) {
+ return 1;
+ }
+ }
+ return CallNextHookEx(hhook, nCode, wp, lp);
+}
+#endif
+
static bool iswindowfocus (void)
{
bool donotfocus = false;
resumesoundpaused ();
}
setmaintitle (hMainWnd);
+#if KBHOOK
+ if (!hhook) {
+ hhook = SetWindowsHookEx(WH_KEYBOARD_LL, captureKey, GetModuleHandle(NULL), 0);
+ }
+#endif
+
} else {
+#if KBHOOK
+ if (hhook) {
+ UnhookWindowsHookEx(hhook);
+ hhook = NULL;
+ }
+#endif
inputdevice_acquire (FALSE);
}
if (!active && allowpause) {
#define LANG_DLL_FULL_VERSION_MATCH 1
#if WINUAEPUBLICBETA
-#define WINUAEBETA _T("2")
+#define WINUAEBETA _T("3")
#else
#define WINUAEBETA _T("")
#endif
-#define WINUAEDATE MAKEBD(2017, 8, 16)
+#define WINUAEDATE MAKEBD(2017, 8, 27)
//#define WINUAEEXTRA _T("AmiKit Preview")
//#define WINUAEEXTRA _T("Amiga Forever Edition")
c |= currprefs.gfx_apmode[APMODE_RTG].gfx_backbuffers != changed_prefs.gfx_apmode[APMODE_RTG].gfx_backbuffers ? (2 | 8) : 0;
c |= currprefs.win32_main_alwaysontop != changed_prefs.win32_main_alwaysontop ? 32 : 0;
- c |= currprefs.win32_gui_alwaysontop != changed_prefs.win32_gui_alwaysontop ? 32 : 0;
+ c |= currprefs.win32_gui_alwaysontop != changed_prefs.win32_gui_alwaysontop ? 2 : 0;
c |= currprefs.win32_notaskbarbutton != changed_prefs.win32_notaskbarbutton ? 32 : 0;
c |= currprefs.win32_nonotificationicon != changed_prefs.win32_nonotificationicon ? 32 : 0;
c |= currprefs.win32_borderless != changed_prefs.win32_borderless ? 32 : 0;
- RTG VRAM is outside of reserved natmem space. Workaround: Move RTG in earlier position using Hardware info GUI panel.\r
Note that in 64-bit version RTG VRAM must be inside of reserved natmem space. (Outside = error message and return back to GUI)\r
\r
+Beta 3:\r
+\r
+- 68030 data cache + indirect UAE Boot ROM will now always work, even without MMU. UAE Boot ROM address space now forces all caching off, even if write-allocate is enabled.\r
+- 68030 hardware cache inhibit signal is now also emulated in non-MMU/EC modes, making data cache emulation usable in this mode.\r
+- Identity save option ignored user selected file name and path.\r
+- Read identity button didn't support ATAPI devices correctly, it only worked if ATAPI device appeared as SCSI or "RAID" device.\r
+- Activate DTR and RTS when uaeserial.device is opened to match serial.device behavior.\r
+- Serial port emulation to PC serial port reset DTR (and RTS state if RTS/CTS was unticked) when baud rate changed.\r
+- Disassembler now also shows data in memory, makes step by step tracing less annoying, for example "CMP.W (A4)+ [2f09],D2". Not shown if address is not plain RAM or ROM.\r
+- Assembler BSR fixed.\r
+- uaenet.device didn't close low level ethernet handles when Amiga was reset, causing duplicate packets.\r
+- 68020 CE statefiles created with 3.5 or older should load normally again.\r
+- UAE controller hardfile custom unit number selection didn't work if unit numbers had gaps.\r
+- Do not re-open main window when GUI on top option is changed.\r
+- uaeserial.device crash, broken when OS4 compatible trap system was added.\r
+\r
Beta 2:\r
\r
- Read Identity and floppy drive bootblock font size ignored DPI setting.\r