From: Toni Wilen Date: Wed, 21 Dec 2016 20:03:29 +0000 (+0200) Subject: 3400 X-Git-Tag: 3400 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=942bdc52d7bcaef01f91cd24e8d9b7af401d5cb2;p=francis%2Fwinuae.git 3400 --- diff --git a/inputdevice.cpp b/inputdevice.cpp index 2d8c395a..3975948d 100644 --- a/inputdevice.cpp +++ b/inputdevice.cpp @@ -190,7 +190,7 @@ int inputdevice_uaelib (const TCHAR *s, const TCHAR *parm) { int i; - //write_log(_T("%s\n"), s); + //write_log(_T("%s: %s\n"), s, parm); if (!_tcsncmp(s, _T("KEY_RAW_"), 8)) { // KEY_RAW_UP @@ -3473,11 +3473,12 @@ int handle_custom_event (const TCHAR *custom, int append) //write_log (_T("%s\n"), custom); if (append) { - struct delayed_event *dee = delayed_events; + struct delayed_event *dee = delayed_events, *prev = NULL; while (dee) { if (dee->delay > 0 && dee->delay > adddelay && dee->append) { adddelay = dee->delay; } + prev = dee; dee = dee->next; } } @@ -3519,8 +3520,11 @@ int handle_custom_event (const TCHAR *custom, int append) next = p + 8; delay = _tstol(p + 7); } - if (adddelay > 0 && adddelay > delay) + if (adddelay && delay < 0) { delay = adddelay; + } else if (adddelay > 0 && delay >= 0) { + delay += adddelay; + } if (delay >= 0) { if (!p2) { if (!next) @@ -3531,7 +3535,7 @@ int handle_custom_event (const TCHAR *custom, int append) struct delayed_event *de = delayed_events; while (de) { if (de->delay < 0) { - de->delay = delay; + de->delay = delay + 1; de->event_string = p2 ? my_strdup (p2) : my_strdup(_T("")); de->append = append; break; @@ -3542,7 +3546,7 @@ int handle_custom_event (const TCHAR *custom, int append) de = xcalloc (delayed_event, 1); de->next = delayed_events; delayed_events = de; - de->delay = delay; + de->delay = delay + 1; de->append = append; de->event_string = p2 ? my_strdup (p2) : my_strdup(_T("")); } @@ -3601,8 +3605,11 @@ void inputdevice_hsync (void) catweasel_hsync (); #endif - struct delayed_event *de = delayed_events; + int cnt = 0; + struct delayed_event *de = delayed_events, *prev = NULL; while (de) { + if (de->delay < 0) + cnt++; if (de->delay > 0) de->delay--; if (de->delay == 0) { @@ -3614,8 +3621,26 @@ void inputdevice_hsync (void) xfree (s); } } + prev = de; de = de->next; } + if (cnt > 4) { + // too many, delete some + struct delayed_event *de_prev = NULL; + de = delayed_events; + while (de) { + if (de->delay < 0 && de != delayed_events) { + struct delayed_event *next = de->next; + de_prev->next = next; + xfree(de->event_string); + xfree(de); + de = next; + } else { + de_prev = de; + de = de->next; + } + } + } for (int i = 0; i < INPUT_QUEUE_SIZE; i++) { struct input_queue_struct *iq = &input_queue[i]; diff --git a/od-win32/keyboard_win32.cpp b/od-win32/keyboard_win32.cpp index 5693f8c2..bb14661e 100644 --- a/od-win32/keyboard_win32.cpp +++ b/od-win32/keyboard_win32.cpp @@ -404,11 +404,20 @@ bool my_kbd_handler (int keyboard, int scancode, int newstate) #if 0 if (scancode == DIK_F1) { if (newstate) { - extern int paska; - paska++; + char msg[20000]; + FILE *f = fopen("test.txt", "rb"); + memset(msg, 0, sizeof msg); + fread(msg, 1, sizeof msg, f); + void parse_guest_event(const TCHAR *ss); + TCHAR *txt = au(msg); + parse_guest_event(txt); + free(txt); + fclose(f); } - return; + return true; } +#endif +#if 0 if (scancode == DIK_F2) { if (newstate) { extern int paska; diff --git a/od-win32/makeexe.cmd b/od-win32/makeexe.cmd index cc6275fd..378cb2d2 100644 --- a/od-win32/makeexe.cmd +++ b/od-win32/makeexe.cmd @@ -5,11 +5,11 @@ copy docs\windows\translation.txt d:\amiga zip -9 -r c:\projects\winuae\src\od-win32\winuae.zip * cd c:\projects\winuae\src\od-win32 copy winuae.zip d:\amiga\WinUAE%1.zip -copy c:\projects\winuae\src\od-win32\wix\bin\Release\winuae.msi d:\amiga\InstallWinUAE%1.msi -copy resourcedll\release\resourcedll.dll d:\amiga\WinUAE_default.dll +#;copy c:\projects\winuae\src\od-win32\wix\bin\Release\winuae.msi d:\amiga\InstallWinUAE%1.msi +#;copy resourcedll\release\resourcedll.dll d:\amiga\WinUAE_default.dll cdd d:\amiga zip -9 WinUAE%1_x64.zip winuae64.exe -zip -9 WinUAE%1_translation WinUAE_default.dll translation.txt -del translation.txt +#;zip -9 WinUAE%1_translation WinUAE_default.dll translation.txt +#;del translation.txt cdd c:\projects\winuae\src\od-win32 del *.zip diff --git a/od-win32/rp.cpp b/od-win32/rp.cpp index fd50286e..3c727100 100644 --- a/od-win32/rp.cpp +++ b/od-win32/rp.cpp @@ -1613,13 +1613,22 @@ void rp_fixup_options (struct uae_prefs *p) } RPSendMessagex (RP_IPC_TO_HOST_DEVICES, RP_DEVICECATEGORY_FLOPPY, floppy_mask, NULL, 0, &guestinfo, NULL); - RPSendMessagex (RP_IPC_TO_HOST_DEVICES, RP_DEVICECATEGORY_INPUTPORT, (1 << maxjports) - 1, NULL, 0, &guestinfo, NULL); + RPSendMessagex (RP_IPC_TO_HOST_DEVICES, RP_DEVICECATEGORY_INPUTPORT, (1 << 2) - 1, NULL, 0, &guestinfo, NULL); rp_input_change (0); rp_input_change (1); - rp_input_change (2); - rp_input_change (3); gameportmask[0] = gameportmask[1] = gameportmask[2] = gameportmask[3] = 0; + int parportmask = 0; + for (i = 0; i < 2; i++) { + if (p->jports[i + 2].idc.configname[0] || p->jports[i + 2].idc.name[0] || p->jports[i + 2].idc.shortid[0]) + parportmask |= 1 << i; + } + if (parportmask) { + RPSendMessagex (RP_IPC_TO_HOST_DEVICES, RP_DEVICECATEGORY_MULTITAPPORT, parportmask, NULL, 0, &guestinfo, NULL); + rp_input_change (2); + rp_input_change (3); + } + hd_mask = 0; cd_mask = 0; for (i = 0; i < currprefs.mountitems; i++) { @@ -1716,7 +1725,11 @@ void rp_input_change (int num) } if (log_rp & 1) write_log(_T("PORT%d: '%s':%d\n"), num, name, mode); - rp_device_change (RP_DEVICECATEGORY_INPUTPORT, num, mode, true, name); + if (num >= 2) { + rp_device_change (RP_DEVICECATEGORY_MULTITAPPORT, num - 2, mode, true, name); + } else { + rp_device_change (RP_DEVICECATEGORY_INPUTPORT, num, mode, true, name); + } } void rp_disk_image_change (int num, const TCHAR *name, bool writeprotected) { diff --git a/od-win32/win32.h b/od-win32/win32.h index 1e8b2594..b3b7f215 100644 --- a/od-win32/win32.h +++ b/od-win32/win32.h @@ -15,17 +15,17 @@ #define GETBDM(x) (((x) - ((x / 10000) * 10000)) / 100) #define GETBDD(x) ((x) % 100) -#define WINUAEPUBLICBETA 1 +#define WINUAEPUBLICBETA 0 #define LANG_DLL 1 #define LANG_DLL_FULL_VERSION_MATCH 1 #if WINUAEPUBLICBETA -#define WINUAEBETA _T("20") +#define WINUAEBETA _T("0") #else #define WINUAEBETA _T("") #endif -#define WINUAEDATE MAKEBD(2016, 12, 17) +#define WINUAEDATE MAKEBD(2016, 12, 21) //#define WINUAEEXTRA _T("AmiKit Preview") //#define WINUAEEXTRA _T("Amiga Forever Edition") @@ -67,7 +67,6 @@ void WIN32_HandleRegistryStuff (void); extern void setup_brkhandler (void); extern void remove_brkhandler (void); extern void disablecapture (void); -extern void fullscreentoggle (void); extern int isfocus (void); extern void gui_restart (void); int timebegin (void); diff --git a/od-win32/winuae_msvc14/winuae_msvc.sln b/od-win32/winuae_msvc14/winuae_msvc.sln index 938ade2b..81983518 100644 --- a/od-win32/winuae_msvc14/winuae_msvc.sln +++ b/od-win32/winuae_msvc14/winuae_msvc.sln @@ -1,6 +1,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 14 -VisualStudioVersion = 14.0.23107.0 +VisualStudioVersion = 14.0.25420.1 MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "winuae", "winuae_msvc.vcxproj", "{4ADAA943-1AC8-4FB5-82E5-4FB753B6C2DA}" EndProject @@ -309,7 +309,8 @@ Global {BE211CE1-3955-4674-A664-5038FC791980}.Release|Mixed Platforms.ActiveCfg = Release|x86 {BE211CE1-3955-4674-A664-5038FC791980}.Release|Mixed Platforms.Build.0 = Release|x86 {BE211CE1-3955-4674-A664-5038FC791980}.Release|Win32.ActiveCfg = Release|x86 - {BE211CE1-3955-4674-A664-5038FC791980}.Release|x64.ActiveCfg = Release|x86 + {BE211CE1-3955-4674-A664-5038FC791980}.Release|x64.ActiveCfg = Release|x64 + {BE211CE1-3955-4674-A664-5038FC791980}.Release|x64.Build.0 = Release|x64 {BE211CE1-3955-4674-A664-5038FC791980}.Test|Mixed Platforms.ActiveCfg = Release|x86 {BE211CE1-3955-4674-A664-5038FC791980}.Test|Mixed Platforms.Build.0 = Release|x86 {BE211CE1-3955-4674-A664-5038FC791980}.Test|Win32.ActiveCfg = Release|x86 diff --git a/od-win32/winuae_msvc14/winuae_msvc.vcxproj b/od-win32/winuae_msvc14/winuae_msvc.vcxproj index 98440859..1e270f2e 100644 --- a/od-win32/winuae_msvc14/winuae_msvc.vcxproj +++ b/od-win32/winuae_msvc14/winuae_msvc.vcxproj @@ -39,6 +39,7 @@ {4ADAA943-1AC8-4FB5-82E5-4FB753B6C2DA} winuae 8.1 + 8.1 diff --git a/od-win32/winuae_msvc14/winuae_msvc.vcxproj.filters b/od-win32/winuae_msvc14/winuae_msvc.vcxproj.filters index b0f75ca7..8faf8474 100644 --- a/od-win32/winuae_msvc14/winuae_msvc.vcxproj.filters +++ b/od-win32/winuae_msvc14/winuae_msvc.vcxproj.filters @@ -17,9 +17,6 @@ {e76a708a-933c-4af4-bad2-0820d79b6a78} cpp;c;cxx;rc;def;r;odl;idl;hpj;bat - - {dab2f6c7-d741-4002-b0c9-566a1536642a} - {a88602d5-1980-49b2-a87a-79afa3ca7346} @@ -65,6 +62,9 @@ {fe9d96c8-c5ef-4f92-b9dc-79b5d3e4145c} + + {dab2f6c7-d741-4002-b0c9-566a1536642a} + @@ -410,7 +410,7 @@ jit - prowizard + qemu\prowizard win32 diff --git a/od-win32/wix/Product.wxs b/od-win32/wix/Product.wxs index 4977db60..5d75ac40 100644 --- a/od-win32/wix/Product.wxs +++ b/od-win32/wix/Product.wxs @@ -1,6 +1,26 @@ - + + + + + + + + + + + + + + + + + + + + + @@ -19,8 +39,8 @@ - - + + @@ -29,46 +49,46 @@ - + - - + + - + - + - + - + @@ -155,35 +175,35 @@ - + - + - + - + - + - + - + - +