]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
4000b13
authorToni Wilen <twilen@winuae.net>
Tue, 12 Jun 2018 17:53:31 +0000 (20:53 +0300)
committerToni Wilen <twilen@winuae.net>
Tue, 12 Jun 2018 17:53:31 +0000 (20:53 +0300)
cfgfile.cpp
od-win32/direct3d11.cpp
od-win32/resources/winuae.rc
od-win32/sounddep/sound.cpp
od-win32/win32.cpp
od-win32/win32.h
od-win32/winuaechangelog.txt

index 8c52f5147a7747166e1b6e5d0989508e7c6b534e..be04536d666fc49564b1b7c05d9658f977b564ca 100644 (file)
@@ -4323,6 +4323,12 @@ static bool parse_geo (const TCHAR *tname, struct uaedev_config_info *uci, struc
                        } else {
                                v = _tstol (val);
                        }
+                       if (!_tcsicmp (key, _T("psurfaces")))
+                               uci->pheads = v;
+                       if (!_tcsicmp (key, _T("psectorspertrack")) || !_tcsicmp (key, _T("pblockspertrack")))
+                               uci->psecs = v;
+                       if (!_tcsicmp (key, _T("pcyls")))
+                               uci->pcyls = v;
                        if (!_tcsicmp (key, _T("surfaces")))
                                uci->surfaces = v;
                        if (!_tcsicmp (key, _T("sectorspertrack")) || !_tcsicmp (key, _T("blockspertrack")))
@@ -4333,7 +4339,7 @@ static bool parse_geo (const TCHAR *tname, struct uaedev_config_info *uci, struc
                                uci->reserved = v;
                        if (!_tcsicmp (key, _T("lowcyl")))
                                uci->lowcyl = v;
-                       if (!_tcsicmp (key, _T("highcyl")) || !_tcsicmp (key, _T("cyl")))
+                       if (!_tcsicmp (key, _T("highcyl")) || !_tcsicmp (key, _T("cyl")) || !_tcsicmp (key, _T("cyls")))
                                uci->highcyl = v;
                        if (!_tcsicmp (key, _T("blocksize")) || !_tcsicmp (key, _T("sectorsize")))
                                uci->blocksize = v;
index 44faa8610bbdf898a74ffc4c082e7975bdcbcb7d..7d8ef95c822fcc826103efee1bd2f7412b6d68b5 100644 (file)
@@ -246,6 +246,7 @@ struct d3d11struct
        DXGI_FORMAT texformat;
        DXGI_FORMAT intformat;
        bool m_tearingSupport;
+       int texdepth;
        int dmult, dmultx;
        int xoffset, yoffset;
        float xmult, ymult;
@@ -1856,6 +1857,21 @@ err:
        return false;
 }
 
+#if 0
+static void erasetexture(struct d3d11struct *d3d)
+{
+       int pitch;
+       uae_u8 *p = D3D_locktexture(d3d - &d3d11data[0], &pitch, NULL, true);
+       if (p) {
+               for (int i = 0; i < d3d->m_bitmapHeight; i++) {
+                       memset(p, 255, d3d->m_bitmapWidth * d3d->texdepth / 8);
+                       p += pitch;
+               }
+               D3D_unlocktexture(d3d - &d3d11data[0], -1, -1);
+       }
+}
+#endif
+
 static bool CreateTexture(struct d3d11struct *d3d)
 {
        D3D11_TEXTURE2D_DESC desc;
@@ -3246,6 +3262,7 @@ static int xxD3D11_init2(HWND ahwnd, int monid, int w_w, int w_h, int t_w, int t
        d3d->texformat = depth == 32 ? DXGI_FORMAT_B8G8R8A8_UNORM : DXGI_FORMAT_B5G6R5_UNORM;
        d3d->intformat = DXGI_FORMAT_B8G8R8A8_UNORM; // _SRGB;
        d3d->scrformat = DXGI_FORMAT_B8G8R8A8_UNORM;
+       d3d->texdepth = depth;
        d3d->dmultx = mmult;
 
        struct MultiDisplay *md = getdisplay(&currprefs, monid);
index efb780706f770c4ad476edf0e8b21b352d49ca6f..69d8e110c3b15e0f0640289972ddebc4f36719a3 100644 (file)
@@ -203,7 +203,7 @@ BEGIN
     CONTROL         "Double, frames",IDC_LM_IDOUBLED,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,299,251,90,10
     CONTROL         "Double, fields",IDC_LM_IDOUBLED2,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,299,264,90,10
     CONTROL         "Double, fields+",IDC_LM_IDOUBLED3,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,299,277,90,10
-    CONTROL         "VRR monitor. Do not tick!",IDC_DISPLAY_VARSYNC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,58,67,112,10
+    CONTROL         "VRR monitor. Do not tick!",IDC_DISPLAY_VARSYNC,"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,58,67,112,10
     COMBOBOX        IDC_SCREENMODE_NATIVE3,246,98,31,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
     CONTROL         "Window resize",IDC_DISPLAY_RESIZE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,161,51,92,10
 END
index 0141320ba1d8e0e1203b18f5e311eb5ee9611446..166fc9dde2bb824e78d59173bc3a285d0eea2cf0 100644 (file)
@@ -1097,6 +1097,10 @@ public:
                        return S_OK;
                if (flow != eConsole && flow != eMultimedia)
                        return S_OK;
+               if (s->devicetype == SOUND_DEVICE_WASAPI_EXCLUSIVE) {
+                       write_log(_T("WASAPI EX OnDefaultDeviceChanged '%s'\n"), pwstrDeviceId);
+                       return S_OK;
+               }
                if (s->devicetype != SOUND_DEVICE_WASAPI)
                        return S_OK;
                if (s->index < 0)
@@ -1107,7 +1111,7 @@ public:
                if (!_tcscmp(current, pwstrDeviceId))
                        return S_OK;
                _tcscpy(current, pwstrDeviceId);
-               write_log(_T("OnDefaultDeviceChanged '%s'\n"), current);
+               write_log(_T("WASAPI OnDefaultDeviceChanged '%s'\n"), current);
                s->reset = true;
                return S_OK;
        }
@@ -1121,10 +1125,16 @@ public:
        }
        HRESULT STDMETHODCALLTYPE OnDeviceStateChanged(LPCWSTR pwstrDeviceId, DWORD dwNewState)
        {
+               if (s->devicetype == SOUND_DEVICE_WASAPI_EXCLUSIVE || s->devicetype == SOUND_DEVICE_WASAPI) {
+                       ;// write_log(_T("WASAPI OnDeviceStateChanged '%s' %08x\n"), pwstrDeviceId, dwNewState);
+               }
                return S_OK;
        }
        HRESULT STDMETHODCALLTYPE OnPropertyValueChanged(LPCWSTR pwstrDeviceId, const PROPERTYKEY key)
        {
+               if (s->devicetype == SOUND_DEVICE_WASAPI_EXCLUSIVE || s->devicetype == SOUND_DEVICE_WASAPI) {
+                       ;// write_log(_T("WASAPI OnPropertyValueChanged '%s'\n"), pwstrDeviceId);
+               }
                return S_OK;
        }
 };
index 339ea055b074a017d7a8cecf80da2f4910a59220..c1097e06d67272de79b398d656f36f400313eb0b 100644 (file)
@@ -1011,6 +1011,8 @@ static void setmouseactive2(struct AmigaMonitor *mon, int active, bool allowpaus
        if (mouseactive > 0)
                focus = mon->monitor_id + 1;
 
+       //write_log(_T("setcapture %d %d %d\n"), mouseactive, focus, showcursor);
+
        if (mouseactive) {
                if (focus) {
                        if (!showcursor) {
index e1bd7eee3f507c864e1b083d584f1b0e41a78255..8b9d7fbe1e22e097cc29648db7623a7dc3a4a0a5 100644 (file)
 #define LANG_DLL_FULL_VERSION_MATCH 1
 
 #if WINUAEPUBLICBETA
-#define WINUAEBETA _T("12")
+#define WINUAEBETA _T("13")
 #else
 #define WINUAEBETA _T("")
 #endif
 
-#define WINUAEDATE MAKEBD(2018, 6, 3)
+#define WINUAEDATE MAKEBD(2018, 6, 12)
 
 //#define WINUAEEXTRA _T("AmiKit Preview")
 //#define WINUAEEXTRA _T("Amiga Forever Edition")
index d3a31c446890923ecdbde0d61989d5611e47e099..1fd91f36dbe8b4e25eaf0396b84791adca399387 100644 (file)
@@ -1,4 +1,15 @@
 \r
+Beta 13:\r
+\r
+- Toccata sound was not fully closed when reset/reset and caused crash if new config was loaded and started.\r
+- Returning back to D3D11 fullscreen from GUI didn't automatically recapture mouse. (b12)\r
+- Debugger f <start> <end> was broken.\r
+- Corrupted OSD graphics (if OSD was enabled) and extra dark/bright line was drawn at the bottom of display in lagless D3D11 fullscreen mode after exiting GUI.\r
+- Second to last line was not drawn in lagless mode. Very last line is invisible by design.\r
+- FMOVE and FMOVEM to memory didn't check if destination addressing mode was invalid (PC relative) and didn't generate F-line.\r
+- FMOVE to control register didn't check if more than 1 control register bit was set which is also invalid and should generate F-line.\r
+- FMOVEM to (An)+ and from -(An) are invalid.\r
+- Softfloat FABS and FNEG didn't handle infinity correctly.\r
 \r
 Beta 12:\r
 \r