]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
2900b25
authorToni Wilen <twilen@winuae.net>
Sun, 23 Nov 2014 15:25:30 +0000 (17:25 +0200)
committerToni Wilen <twilen@winuae.net>
Sun, 23 Nov 2014 15:25:30 +0000 (17:25 +0200)
blkdev_cdimage.cpp
od-win32/picasso96_win.cpp
od-win32/win32.cpp
od-win32/win32.h
od-win32/winuaechangelog.txt

index 8b81e412390ad423e59b5bed2920d041b21e5960..6ca7e2dcf4ba6fb890e1db0edb12f1d43b133076 100644 (file)
@@ -269,12 +269,12 @@ static uae_u8 *flac_get_data (struct cdtoc *t)
 
 void sub_to_interleaved (const uae_u8 *s, uae_u8 *d)
 {
-       for (int i = 0; i < 8 * 12; i ++) {
+       for (int i = 0; i < 8 * SUB_ENTRY_SIZE; i ++) {
                int dmask = 0x80;
                int smask = 1 << (7 - (i & 7));
                (*d) = 0;
                for (int j = 0; j < 8; j++) {
-                       (*d) |= (s[(i / 8) + j * 12] & smask) ? dmask : 0;
+                       (*d) |= (s[(i / 8) + j * SUB_ENTRY_SIZE] & smask) ? dmask : 0;
                        dmask >>= 1;
                }
                d++;
@@ -282,12 +282,12 @@ void sub_to_interleaved (const uae_u8 *s, uae_u8 *d)
 }
 void sub_to_deinterleaved (const uae_u8 *s, uae_u8 *d)
 {
-       for (int i = 0; i < 8 * 12; i ++) {
+       for (int i = 0; i < 8 * SUB_ENTRY_SIZE; i ++) {
                int dmask = 0x80;
-               int smask = 1 << (7 - (i / 12));
+               int smask = 1 << (7 - (i / SUB_ENTRY_SIZE));
                (*d) = 0;
                for (int j = 0; j < 8; j++) {
-                       (*d) |= (s[(i % 12) * 8 + j] & smask) ? dmask : 0;
+                       (*d) |= (s[(i % SUB_ENTRY_SIZE) * 8 + j] & smask) ? dmask : 0;
                        dmask >>= 1;
                }
                d++;
@@ -323,7 +323,7 @@ static int getsub_deinterleaved (uae_u8 *dst, struct cdunit *cdu, struct cdtoc *
        if (!ret) {
                memset (dst, 0, SUB_CHANNEL_SIZE);
                // regenerate Q-subchannel
-               uae_u8 *s = dst + 12;
+               uae_u8 *s = dst + SUB_ENTRY_SIZE;
                s[0] = (t->ctrl << 4) | (t->adr << 0);
                s[1] = tobcd (t - &cdu->toc[0] + 1);
                s[2] = tobcd (1);
index 85fa53bb3aa07519965e9cb842baf4a092ee5ad6..9040aaf329282e1bf7894bd2878f86e4209c1835 100644 (file)
@@ -2010,7 +2010,15 @@ static int AssignModeID (int w, int h, int *unkcnt)
                        return 0x50001000 | (mi[i].id * 0x10000);
        }
        (*unkcnt)++;
-       write_log (_T("P96: Non-unique mode %dx%d\n"), w, h);
+       write_log (_T("P96: Non-unique mode %dx%d"), w, h);
+       if (256 - (*unkcnt) == mi[i - 1].id + 1) {
+               (*unkcnt) = 256 - 127;
+               write_log(_T(" (Skipped reserved)"));
+       } else if (256 - (*unkcnt) == 11) {
+               (*unkcnt) = 511;
+               write_log(_T(" (Using extra)"));
+       }
+       write_log(_T("\n"));
        return 0x51001000 - (*unkcnt) * 0x10000;
 }
 
index e391474c7257225db212fb98c7d1f63696af281e..ce070d332935c7f9ad9869d4cc1b5a27d333fc46 100644 (file)
@@ -8,6 +8,8 @@
 */
 
 //#define MEMDEBUG
+#define MOUSECLIP_LOG 0
+#define MOUSECLIP_HIDE 1
 
 #include <stdlib.h>
 #include <stdarg.h>
@@ -434,10 +436,12 @@ static void setcursor (int oldx, int oldy)
                mouseposx = mouseposy = 0;
                return;
        }
-#if 0
-       write_log (_T("%dx%d %dx%d %dx%d (%dx%d %dx%d)\n"),
+#if MOUSECLIP_LOG
+       write_log (_T("%dx%d %dx%d %dx%d %d%d (%dx%d %dx%d)\n"),
                x, y,
-               mouseposx, mouseposy, oldx, oldy,
+               mouseposx, mouseposy,
+               oldx, oldy,
+               oldx + amigawin_rect.left, oldy + amigawin_rect.top,
                amigawin_rect.left, amigawin_rect.top,
                amigawin_rect.right, amigawin_rect.bottom);
 #endif
@@ -456,7 +460,9 @@ static void setcursor (int oldx, int oldy)
        }
        int cx = amigawin_rect.left + x;
        int cy = amigawin_rect.top + y;
-       //write_log (_T("SetCursorPos(%d,%d)\n"), cx, cy);
+#if MOUSECLIP_LOG
+       write_log (_T("SetCursorPos(%d,%d)\n"), cx, cy);
+#endif
        SetCursorPos (cx, cy);
 }
 
@@ -626,8 +632,11 @@ static void releasecapture (void)
 void updatemouseclip (void)
 {
        if (showcursor) {
-               ClipCursor (&amigawin_rect);
-               //write_log (_T("CLIP %dx%d %dx%d %d\n"), amigawin_rect.left, amigawin_rect.top, amigawin_rect.right, amigawin_rect.bottom, isfullscreen ());
+#if MOUSECLIP_LOG
+               write_log (_T("CLIP %dx%d %dx%d %d\n"), amigawin_rect.left, amigawin_rect.top, amigawin_rect.right, amigawin_rect.bottom, isfullscreen ());
+#endif
+               if (!ClipCursor (&amigawin_rect))
+                       write_log(_T("ClipCursor error %d\n"), GetLastError());
        }
 }
 
@@ -637,7 +646,9 @@ void updatewinrect (bool allowfullscreen)
        if (!allowfullscreen && f > 0)
                return;
        GetWindowRect (hAmigaWnd, &amigawin_rect);
-       //write_log (_T("GetWindowRect %dx%d %dx%d %d\n"), amigawin_rect.left, amigawin_rect.top, amigawin_rect.right, amigawin_rect.bottom, f);
+#if MOUSECLIP_LOG
+       write_log (_T("GetWindowRect %dx%d %dx%d %d\n"), amigawin_rect.left, amigawin_rect.top, amigawin_rect.right, amigawin_rect.bottom, f);
+#endif
        if (f == 0) {
                changed_prefs.gfx_size_win.x = amigawin_rect.left;
                changed_prefs.gfx_size_win.y = amigawin_rect.top;
@@ -733,7 +744,9 @@ static void setmouseactive2 (int active, bool allowpause)
                if (focus) {
                        if (!showcursor) {
                                //write_log(_T("setcapture\n"));
+#if MOUSECLIP_HIDE
                                ShowCursor (FALSE);
+#endif
                                SetCapture (hAmigaWnd);
                                updatewinrect (false);
                                showcursor = 1;
index dee71dc77d7cbf7e799cbf31d109bfb47bccd028..bd500ce34f1b699240ef8fe731d028a7e3c4d3ab 100644 (file)
 #define LANG_DLL_FULL_VERSION_MATCH 1
 
 #if WINUAEPUBLICBETA
-#define WINUAEBETA _T("24")
+#define WINUAEBETA _T("25")
 #else
 #define WINUAEBETA _T("")
 #endif
 
-#define WINUAEDATE MAKEBD(2014, 11, 15)
+#define WINUAEDATE MAKEBD(2014, 11, 23)
 
 //#define WINUAEEXTRA _T("AmiKit Preview")
 //#define WINUAEEXTRA _T("Amiga Forever Edition")
index 45e996410e026e97f344583eadab198189d392fd..be83935baf70b15ff9da2e5bce2f266b7d18b769 100644 (file)
@@ -18,6 +18,45 @@ Things that may happen in 2015:
 
 - restore only single input target to default.
 
+Beta 25:
+
+- Added 1M/0.5M+0.5M chip/slow ram option checkbox to Advanced Chipset (for example in rev6 A500 it is JP2
+  solder pad). If hardware is configured for 1M chip without 512k slow ram, normal chip ram alias at upper
+  512k of chip ram address space gets replaced with "bus noise". Can be only changed when chip RAM size is
+  less than 1M. (ECS Agnus + 512k chipram without slow ram configuration always used this option previously,
+  now it is optional and not enabled by default)
+- Map Chip RAM mirror at 0x01000000 in A2620/A2630 config, to prevent A26x0 built-in monitor program detecting
+  huge ram expansion at 0x01000000.
+- uaenet.device + slirp combination was broken (probably has always been).
+- uaegfx modeid space increased, reduces modeid conflicts if host os has huge amount of modes.
+- Debugger does not anymore exit stopped CPU state (STOP instruction) after exiting debugger.
+- "SCSI (Auto)" priorities changed: mainboard built-in first, then accelerator board, expansions last. (Expansions
+  was first previously)
+- More accurate 68000 prefetch mode instruction cycle usage, added non-static cycle counting (mul, div etc..)
+- Most CDTV-CR built-in CD audio player features, including CD+G, are now working. Media changes supported.
+  3.44 ROM CD player works better than 3.32.
+
+Beta 24:
+
+- Native code Z3 offset was wrong if Z3 mapping was using "real" mode.
+- CD32 NVRAM file was not automatically created (b14).
+- Added some accelerator board A1200 and A4000 configs to Quickstart. 
+- Only PCM audio worked (and was always used) when recording audio in non-wave mode.
+- Picasso IV in Z3 mode didn't appear in Z3 autoconfig space.
+- Initialize VGA chip emulation earlier, fixes emulator crash when Piccolo board is configured. (Also for some
+  reason Piccolo and Piccolo SD boards are not used by OS4)
+- Too large Z2 RTG VRAM value in config file was accepted as valid.
+- Show user friendly message if PPC CPU is started without PPC plugin.
+- Disassembler decoded FMOVE.x FPy,<ea> incorrectly, FPy was wrong.
+- "Untrap = middle button" + "Minimize when focus is lost" + full-window mode didn't minimize. Only windowed
+  mode should require real lost focus to become minimized.
+- GUI appeared under full-window background window.
+- Use secondary fast RAM bank for A2620/A2630 accelerator memory, works better with other Z2 boards (like A2091)
+- Allow hardware unsupported (total >8M) Z2 total board size. Can happen in real world so it should be available
+  in emulation too.
+- Added Z2 autoconfig address validation, log and ignore any autoconfig attempt outside of valid Z2 regions.
+- Added 68030 + more compatible CPU core. Previously this combination was unusable.
+
 Beta 23:
 
 - Dragging vhd file to harddrives panel now adds it as a HDF, not a directory if it does not contain any known