From e9cec56b77619f55a61b496826bd97e9581b0eb8 Mon Sep 17 00:00:00 2001 From: Toni Wilen Date: Sat, 10 Dec 2016 14:15:32 +0200 Subject: [PATCH] 3400b19 --- ar.cpp | 8 +++++--- od-win32/dinput.cpp | 15 +++++++++------ od-win32/resources/winuae.rc | 6 +++--- od-win32/rp.cpp | 21 +++++++++++++++------ od-win32/win32.h | 4 ++-- od-win32/winuaechangelog.txt | 7 +++++++ 6 files changed, 41 insertions(+), 20 deletions(-) diff --git a/ar.cpp b/ar.cpp index 3a88227c..aa05641d 100644 --- a/ar.cpp +++ b/ar.cpp @@ -588,17 +588,19 @@ STATIC_INLINE int ar3a (uaecptr addr, uae_u8 b, int writing) if (!writing) { //write_log(_T("READ %x\n"), addr); - if (addr == 1 || addr == 3) /* This is necessary because we don't update rom location 0 every time we change armode */ + if (addr == 1 || addr == 3) { /* This is necessary because we don't update rom location 0 every time we change armode */ + //write_log(_T("ARMODE READ %02x %08X\n"), armode_read, M68K_GETPC); return armode_read | (regs.irc & ~3); - else if (addr < 4) + } else if (addr < 4) { return (addr & 1) ? regs.irc : regs.irc >> 8; + } return armemory_rom[addr]; } else { //write_log(_T("WRITE %x\n"), addr); if (addr == 1) { armode_write = b; armode_read = 0; - write_log(_T("ARMODE %02x written\n"), b); + //write_log(_T("ARMODE WRITE %02x %08X\n"), b, M68K_GETPC); set_special (SPCFLAG_ACTION_REPLAY); action_replay_flag = ACTION_REPLAY_HIDE; } else if (addr == 6) { diff --git a/od-win32/dinput.cpp b/od-win32/dinput.cpp index 183cd3dd..9075a811 100644 --- a/od-win32/dinput.cpp +++ b/od-win32/dinput.cpp @@ -2189,11 +2189,6 @@ static void handle_rawinput_2 (RAWINPUT *raw) HANDLE h = raw->header.hDevice; PCHAR rawdata; -#ifdef RETROPLATFORM - if (rp_isactive ()) - return; -#endif - if ((rawinput_log & 4) || RAWINPUT_DEBUG) { static uae_u8 *oldbuf; static int oldbufsize; @@ -2219,7 +2214,7 @@ static void handle_rawinput_2 (RAWINPUT *raw) break; } -#ifdef RAWINPUT_DEBUG +#if RAWINPUT_DEBUG if (num >= num_joystick) { if (!rawinput_enabled_hid) return; @@ -2236,6 +2231,10 @@ static void handle_rawinput_2 (RAWINPUT *raw) } #endif +#ifdef RETROPLATFORM + if (rp_isactive ()) + return; +#endif if (num < num_joystick) { rawdata = (PCHAR)hid->bRawData; @@ -2405,6 +2404,10 @@ static void handle_rawinput_2 (RAWINPUT *raw) rk->ExtraInformation, scancode); +#ifdef RETROPLATFORM + if (rp_isactive ()) + return; +#endif // eat E1 extended keys if (rk->Flags & (RI_KEY_E1)) return; diff --git a/od-win32/resources/winuae.rc b/od-win32/resources/winuae.rc index f19c075b..6c893aab 100644 --- a/od-win32/resources/winuae.rc +++ b/od-win32/resources/winuae.rc @@ -984,9 +984,6 @@ EXSTYLE WS_EX_ACCEPTFILES | WS_EX_CONTROLPARENT CAPTION "WinUAE Properties" FONT 8, "MS Sans Serif", 0, 0, 0x0 BEGIN - CONTROL "",IDC_PANELTREE,"SysTreeView32",TVS_HASLINES | TVS_SHOWSELALWAYS | TVS_TRACKSELECT | TVS_NOHSCROLL | WS_BORDER | WS_TABSTOP,3,5,110,321,WS_EX_CLIENTEDGE - GROUPBOX "",IDC_PANEL_FRAME_OUTER,116,2,409,324 - GROUPBOX "",IDC_PANEL_FRAME,119,5,402,318,NOT WS_VISIBLE PUSHBUTTON "Reset",IDC_RESETAMIGA,3,328,47,14 PUSHBUTTON "Quit",IDC_QUITEMU,55,328,47,14 PUSHBUTTON "Restart",IDC_RESTARTEMU,107,328,47,14,NOT WS_VISIBLE @@ -994,6 +991,9 @@ BEGIN DEFPUSHBUTTON "OK",IDOK,375,328,47,14 PUSHBUTTON "Cancel",IDCANCEL,427,328,47,14 PUSHBUTTON "Help",IDHELP,479,328,47,14,WS_DISABLED + GROUPBOX "",IDC_PANEL_FRAME_OUTER,116,2,409,324 + GROUPBOX "",IDC_PANEL_FRAME,119,5,402,318,NOT WS_VISIBLE + CONTROL "",IDC_PANELTREE,"SysTreeView32",TVS_HASLINES | TVS_SHOWSELALWAYS | TVS_TRACKSELECT | TVS_NOHSCROLL | WS_BORDER | WS_TABSTOP,3,5,110,321,WS_EX_CLIENTEDGE END IDD_PATHS DIALOGEX 0, 0, 396, 303 diff --git a/od-win32/rp.cpp b/od-win32/rp.cpp index 212792e5..3fb4d141 100644 --- a/od-win32/rp.cpp +++ b/od-win32/rp.cpp @@ -219,18 +219,25 @@ static const int rp3_joystick[] = { static LRESULT deviceactivity(WPARAM wParam, LPARAM lParam) { - int num = LOBYTE(wParam); - int cat = HIBYTE(wParam); + int num = HIBYTE(wParam); + int cat = LOBYTE(wParam); uae_u32 mask = lParam; - if (cat != RP_DEVICECATEGORY_INPUTPORT && cat != RP_DEVICECATEGORY_MULTITAPPORT) + write_log(_T("DEVICEACTIVITY %04x %08x (%d,%d)\n"), wParam, lParam, num, cat); + if (cat != RP_DEVICECATEGORY_INPUTPORT && cat != RP_DEVICECATEGORY_MULTITAPPORT) { + write_log(_T("DEVICEACTIVITY Not RP_DEVICECATEGORY_INPUTPORT or RP_DEVICECATEGORY_MULTITAPPORT.\n")); return 0; + } if (cat == RP_DEVICECATEGORY_MULTITAPPORT) { - if (num < 0 || num > 1) + if (num < 0 || num > 1) { + write_log(_T("DEVICEACTIVITY invalid RP_DEVICECATEGORY_MULTITAPPORT %d.\n"), num); return 0; + } num += 2; } else { - if (num < 0 || num > 1) + if (num < 0 || num > 1) { + write_log(_T("DEVICEACTIVITY invalid RP_DEVICECATEGORY_INPUTPORT %d.\n"), num); return 0; + } } if (dactmask[num] == mask) return 1; @@ -263,8 +270,10 @@ static LRESULT deviceactivity(WPARAM wParam, LPARAM lParam) map = rp3_joystick; break; } - if (!map) + if (!map) { + write_log(_T("DEVICEACTIVITY unsupported port (%d)/device (%d) combo.\n"), num, type); return 0; + } for (int i = 0; i < 16; i++) { uae_u32 mask2 = 1 << i; if (map[i] < 0) diff --git a/od-win32/win32.h b/od-win32/win32.h index b0d2ec21..f20b7a93 100644 --- a/od-win32/win32.h +++ b/od-win32/win32.h @@ -20,12 +20,12 @@ #define LANG_DLL_FULL_VERSION_MATCH 1 #if WINUAEPUBLICBETA -#define WINUAEBETA _T("18") +#define WINUAEBETA _T("19") #else #define WINUAEBETA _T("") #endif -#define WINUAEDATE MAKEBD(2016, 12, 4) +#define WINUAEDATE MAKEBD(2016, 12, 10) //#define WINUAEEXTRA _T("AmiKit Preview") //#define WINUAEEXTRA _T("Amiga Forever Edition") diff --git a/od-win32/winuaechangelog.txt b/od-win32/winuaechangelog.txt index 13b7cdca..2bf11b13 100644 --- a/od-win32/winuaechangelog.txt +++ b/od-win32/winuaechangelog.txt @@ -4,6 +4,13 @@ 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. Note that in 64-bit version RTG VRAM must be inside of reserved natmem space. (Outside = error message and return back to GUI) + +Beta 19: + +- Some WASAPI buffer size + frequency combinations caused immediate hang at startup. +- Reset confused display vertical positioning in some situations (Incorrectly detected it as "fake" 60Hz-like hack). +- Some adjustments to GUI panel tree view and main view tab order. + Beta 18: - Input device on the fly change support now ignores all non-input device change events. -- 2.47.3