]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
3600b3
authorToni Wilen <twilen@winuae.net>
Sun, 27 Aug 2017 15:29:37 +0000 (18:29 +0300)
committerToni Wilen <twilen@winuae.net>
Sun, 27 Aug 2017 15:29:37 +0000 (18:29 +0300)
expansion.cpp
od-win32/fsdb_win32.cpp
od-win32/win32.cpp
od-win32/win32.h
od-win32/win32gfx.cpp
od-win32/winuaechangelog.txt

index d107f4314c2cb8300d3ae70333e07a4c5428dc1c..2022256ef146243850760d963d1011bb72a964e2 100644 (file)
@@ -1352,6 +1352,7 @@ static addrbank *expamem_map_uaeboard(struct autoconfig_info *aci)
        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;
 }
index 31a0203e9be1c0308dd5a330b19d628b473715e8..70bfa415af73e2735580c46fb55f607db206ccce 100644 (file)
@@ -366,7 +366,7 @@ static int fsdb_name_invalid_2 (a_inode *aino, const TCHAR *n, int dir)
        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;
 }
index 352881525cfb54aa5bd91db544f5c396be6a939d..3d8e3dada998981372b21b153d1a8ba8e401d3ad 100644 (file)
@@ -12,6 +12,7 @@
 #define MOUSECLIP_HIDE 1
 #define TOUCH_SUPPORT 1
 #define TOUCH_DEBUG 1
+#define KBHOOK 0
 
 #include <stdlib.h>
 #include <stdarg.h>
@@ -145,6 +146,9 @@ HINSTANCE hInst = NULL;
 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;
@@ -687,6 +691,30 @@ void updatewinrect (bool allowfullscreen)
        }
 }
 
+#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;
@@ -803,7 +831,19 @@ static void setmouseactive2 (int active, bool allowpause)
                        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) {
index 5c0b3c85b0894ddd039b0f8dbd8a097682181353..1d09bbb65c52789fc43b9fd60b3d1ffa75a46995 100644 (file)
 #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")
index d9f92e560aa2f62eed381cb5ca588e2acba891b9..89a6ea0a86ba6fb81d189f05d1cabd9496ee4798 100644 (file)
@@ -2146,7 +2146,7 @@ int check_prefs_changed_gfx (void)
        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;
index 487a164e857aae4362c744d3464b6e935e55fa46..ceac0256651a86d162b35b6f1b8fe14b63bbab21 100644 (file)
@@ -4,6 +4,22 @@ JIT Direct current rules are less complex now. It automatically switches off onl
   - 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