]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
4900b33
authorToni Wilen <twilen@winuae.net>
Sun, 12 Sep 2021 15:44:44 +0000 (18:44 +0300)
committerToni Wilen <twilen@winuae.net>
Sun, 12 Sep 2021 15:44:44 +0000 (18:44 +0300)
od-win32/direct3d.cpp
od-win32/unicode.cpp
od-win32/win32.h
od-win32/winuaechangelog.txt
od-win32/writelog.cpp

index 870bb4f3987aac4a12c24c5850261eb1ff375065..053ecbbe5d0022d7cf90f0715aea5e34c09da08b 100644 (file)
@@ -1294,6 +1294,7 @@ static int createamigatexture (struct d3dstruct *d3d, int w, int h)
        d3d->texture2 = createtext(d3d, w, h, d3d->tformat);
        if (!d3d->texture1 || !d3d->texture2)
                return 0;
+       d3d->usetexture = d3d->texture1;
        write_log (_T("%s: %d*%d main texture, depth %d\n"), D3DHEAD, w, h, d3d->t_depth);
        if (d3d->psActive) {
                for (int i = 0; i < MAX_SHADERS; i++) {
@@ -2361,6 +2362,7 @@ static void settransform2 (struct d3dstruct *d3d, struct shaderdata *s)
 
 static void freetextures (struct d3dstruct *d3d)
 {
+       d3d->usetexture = NULL;
        if (d3d->texture2) {
                d3d->texture2->Release();
                d3d->texture2 = NULL;
index d4b868d5217bdf6e57f9bccb8eda0d82661f88b6..c6b46196857ee7cd1a0a3b3f40d35d84b72b0d3c 100644 (file)
@@ -323,11 +323,17 @@ int same_aname (const TCHAR *an1, const TCHAR *an2)
        return CompareString (LOCALE_INVARIANT, NORM_IGNORECASE, an1, -1, an2, -1) == CSTR_EQUAL;
 }
 
-void to_lower (TCHAR *s, int len)
+void to_lower(TCHAR *s, int len)
 {
-       CharLowerBuff (s, len);
+       if (len < 0) {
+               len = _tcslen(s);
+       }
+       CharLowerBuff(s, len);
 }
-void to_upper (TCHAR *s, int len)
+void to_upper(TCHAR *s, int len)
 {
-       CharUpperBuff (s, len);
+       if (len < 0) {
+               len = _tcslen(s);
+       }
+       CharUpperBuff(s, len);
 }
\ No newline at end of file
index 47deeddd8b2b7807f78f3976200ef4474a559b3b..7bc47a21d6b59d0d572e203513f39c4c2f8ac2cf 100644 (file)
 #define LANG_DLL_FULL_VERSION_MATCH 1
 
 #if WINUAEPUBLICBETA
-#define WINUAEBETA _T("Beta 32")
+#define WINUAEBETA _T("Beta 33")
 #else
 #define WINUAEBETA _T("")
 #endif
 
-#define WINUAEDATE MAKEBD(2021, 9, 7)
+#define WINUAEDATE MAKEBD(2021, 9, 12)
 
 //#define WINUAEEXTRA _T("AmiKit Preview")
 //#define WINUAEEXTRA _T("Amiga Forever Edition")
index 65f0e6525bedcb78b89c45ef324669acf353f998..0369afa9f6634c03f9f5cd2166b73adb5c82a208 100644 (file)
@@ -1,4 +1,19 @@
 
+
+Beta 33:
+
+- DMACONR blitter busy bit state is 1 cycle later than copper waking up from blitter finished. (Circle Scroller / United Force)
+- Direct3D9 mode crash was possible when switching screen modes (b32).
+- Disassembler configuration (upper/lower case options, show calculated EA, show data pointed by EA, condition true/false), hex number prefix, min and max number of opcode/opwords. Currently only available via direct ini or registry editing, first enter debugger, then quit emulator to create default entries. Debugger sub section, debug_disasm_flags is bit mask, bits 0 to 4 are lower case bits (0=instruction name, 1=registers, 2=hex values, 3=instruction size), 4=show T/F, 5=show EA, 6=show EA contents, 7=show instruction opcode/opwords. Currently they only affect disassembler output. Defaults changed to lower case.
+- Don't log flood "DMAL error" messages if (totally unusable) programmed mode with HTOTAL smaller than last audio DMA slot.
+- DMAL (Serial DMA slot allocation information from Paula to Agnus) start cycle was not updated to match new custom chipset emulation.
+- Small audio period causing repeated samples is now fully accurate, including 1 extra cycle delay if DMA request includes pointer reset (sample restart).
+- Very strange programmed modes could have made it impossible to quit emulator normally.
+- Adjusted behavior of CPU reads from write-only custom registers (Bozebobs / Area08)
+- Fixed crash when loading some old A500 statefiles with CD32 CD incorrectly enabled.
+- Adjusted "Smooth Copper" hack to work with new custom chipset emulation (not fully correct yet).
+- Console log/debugger DPI adjustment.
+
 Beta 32:
 
 - HDIW blanking could get stuck in always-on state if VPOSW was written mid screen with out of range values. (Agony Psygnosis title screen become fully border color blanked if ECS)
index 2110eb6a67d3b79d0ed0d44fc4e095f211e36797..35bcda8835e7b2dcbbbed66f40380d2dbc14da99 100644 (file)
@@ -216,6 +216,11 @@ void reopen_console (void)
                        newpos = 0;
                if (newpos) {
                        RECT rc;
+                       int dpi = getdpiforwindow(hwnd);
+                       x = x * dpi / 96;
+                       y = y * dpi / 96;
+                       w = w * dpi / 96;
+                       h = h * dpi / 96;
                        rc.left = x;
                        rc.top = y;
                        rc.right = x + w;
@@ -242,6 +247,11 @@ void close_console (void)
                        if (GetWindowRect (hwnd, &r)) {
                                r.bottom -= r.top;
                                r.right -= r.left;
+                               int dpi = getdpiforwindow(hwnd);
+                               r.left = r.left * 96 / dpi;
+                               r.right = r.right * 96 / dpi;
+                               r.top = r.top * 96 / dpi;
+                               r.bottom = r.bottom * 96 / dpi;
                                regsetint (NULL, _T("LoggerPosX"), r.left);
                                regsetint (NULL, _T("LoggerPosY"), r.top);
                                regsetint (NULL, _T("LoggerPosW"), r.right);