]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
3200b3
authorToni Wilen <twilen@winuae.net>
Mon, 13 Jul 2015 16:24:59 +0000 (19:24 +0300)
committerToni Wilen <twilen@winuae.net>
Mon, 13 Jul 2015 16:24:59 +0000 (19:24 +0300)
mame/tm34010/tms34010.cpp
od-win32/win32.h
od-win32/win32gui.cpp
od-win32/winuaechangelog.txt

index 12ed32b8c9cd13f1641de1b77a7b8d53bb7ac512..8f24c70c60cf3c22afae97ef1299f3ac7486b35a 100644 (file)
@@ -1136,6 +1136,9 @@ WRITE16_MEMBER( tms340x0_device::io_register_w )
        oldreg = IOREG(offset);
        IOREG(offset) = data;
 
+//     if (offset != 15 && offset != 16)
+//             write_log("WRITE %08x %04 (%04x)\n", offset, data, oldreg);
+
        switch (offset)
        {
                case REG_CONTROL:
@@ -1473,6 +1476,8 @@ READ16_MEMBER( tms340x0_device::io_register_r )
 //  if (LOG_CONTROL_REGS)
 //      logerror("%s: read %s\n", machine().describe_context(), ioreg_name[offset]);
 
+//     write_log("READ %08x %04x\n", offset, IOREG(offset));
+
        switch (offset)
        {
                case REG_HCOUNT:
index 20ecf6dad0961f2db5f0a79297739d2539719bb7..74b9cd7322991263b57e4ca64578e65cb15c24de 100644 (file)
 #define LANG_DLL_FULL_VERSION_MATCH 1
 
 #if WINUAEPUBLICBETA
-#define WINUAEBETA _T("2")
+#define WINUAEBETA _T("3")
 #else
 #define WINUAEBETA _T("")
 #endif
 
-#define WINUAEDATE MAKEBD(2015, 7, 7)
+#define WINUAEDATE MAKEBD(2015, 7, 13)
 
 //#define WINUAEEXTRA _T("AmiKit Preview")
 //#define WINUAEEXTRA _T("Amiga Forever Edition")
@@ -112,7 +112,7 @@ void setpathmode (pathtype pt);
 
 extern void sleep_millis (int ms);
 extern void sleep_millis_main (int ms);
-extern void sleep_millis_busy (int ms);
+extern void sleep_millis_amiga (int ms);
 extern void wait_keyrelease (void);
 extern void keyboard_settrans (void);
 
index ed6742f4006e086f66e14cd6bf5785ab30ddd192..066e1300cdd6685e27e1d3092bca4272b71e05db 100644 (file)
@@ -7696,8 +7696,8 @@ static void enable_for_memorydlg (HWND hDlg)
 extern uae_u32 natmem_size;
 static void setmax32bitram (HWND hDlg)
 {
-       TCHAR tmp[100];
-       uae_u32 size, rtgz3size, z3size;
+       TCHAR tmp[256];
+       uae_u32 size, rtgz3size, z3size_uae = 0, z3size_real = 0;
        uae_u32 sizealign = 16 * 1024 * 1024 - 1;
 
        rtgz3size = gfxboard_get_configtype(workprefs.rtgmem_type) == 3 ? workprefs.rtgmem_size : 0;
@@ -7708,12 +7708,12 @@ static void setmax32bitram (HWND hDlg)
        if (changed_prefs.mbresmem_high_size >= 128 * 1024 * 1024 && (size || workprefs.z3chipmem_size))
                size += (changed_prefs.mbresmem_high_size - 128 * 1024 * 1024) + 16 * 1024 * 1024;
        if (natmem_size > 0x40000000)
-               z3size = natmem_size - 0x40000000;
-       else
-               z3size = 0;
+               z3size_real = natmem_size - 0x40000000;
+       if (natmem_size > 0x10000000)
+               z3size_uae = natmem_size - 0x10000000;
        size += ((workprefs.z3chipmem_size + sizealign) & ~sizealign);
-       _stprintf (tmp, L"Configured 32-bit RAM: %dM, reserved: %dM, true Z3 address space available: %dM",
-               size / (1024 * 1024), (natmem_size - 256 * 1024 * 1024) / (1024 * 1024), z3size / (1024 * 1024));
+       _stprintf (tmp, L"Configured 32-bit RAM: %dM, reserved: %dM, Z3 available: %dM (UAE), %dM (Real)",
+               size / (1024 * 1024), (natmem_size - 256 * 1024 * 1024) / (1024 * 1024), z3size_uae / (1024 * 1024), z3size_real / (1024 * 1024));
        SetDlgItemText (hDlg, IDC_MAX32RAM, tmp);
 }
 
@@ -8199,7 +8199,7 @@ static void init_expansion2(HWND hDlg)
 }
 
 
-static const int expansion_settings_id[] = { IDC_EXPANSION_SETTING1, IDC_EXPANSION_SETTING2, -IDC_EXPANSION_SETTING3, 1 };
+static const int expansion_settings_id[] = { IDC_EXPANSION_SETTING1, IDC_EXPANSION_SETTING2, IDC_EXPANSION_SETTING3, 1 };
 
 static void values_to_expansion2dlg_sub(HWND hDlg)
 {
@@ -8382,6 +8382,7 @@ static void values_to_expansion2_expansion_settings(HWND hDlg)
        while (expansion_settings_id[i] >= 0) {
                int id = expansion_settings_id[i];
                SetWindowText(GetDlgItem(hDlg, id), _T("-"));
+               hide(hDlg, id, true);
                i++;
        }
 }
@@ -8822,6 +8823,13 @@ static void values_to_expansiondlg(HWND hDlg)
                if (workprefs.rtgmem_type >= GFXBOARD_HARDWARE && v < gfxboard_get_vram_min(workprefs.rtgmem_type))
                        v = gfxboard_get_vram_min(workprefs.rtgmem_type);
                workprefs.rtgmem_size = v;
+       } else {
+               int v = workprefs.rtgmem_size;
+               if (workprefs.rtgmem_type >= GFXBOARD_HARDWARE && v > gfxboard_get_vram_max(workprefs.rtgmem_type))
+                       v = gfxboard_get_vram_max(workprefs.rtgmem_type);
+               if (workprefs.rtgmem_type >= GFXBOARD_HARDWARE && v < gfxboard_get_vram_min(workprefs.rtgmem_type))
+                       v = gfxboard_get_vram_min(workprefs.rtgmem_type);
+               workprefs.rtgmem_size = v;
        }
        if (workprefs.rtgmem_type >= GFXBOARD_HARDWARE) {
                switch (gfxboard_get_vram_min(workprefs.rtgmem_type)) {
index 56c61c6175c53f7b3d74e0ced79391ec13151eed..72ff77c522939fc0c7e3ad8e9af36f182f8dd454 100644 (file)
@@ -1,4 +1,29 @@
 
+Beta 3:
+
+- CD and sound card audio are now always resampled with Anti interpolator before it gets mixed
+  with Paula audio stream. Previously it used very crude resampling method.
+- ES1370 (SB128) emulation fixed, DMA length register was not reset when playback was restarted.
+  (I don't understand how it would have ever worked in QEMU without sound glitches)
+- Added "Full PCI DMA" option to PCI bridges that in real world don't have Amiga to/from PCI DMA
+  support (Prometheus and Mediators). Default is off = emulates real hardware limits.
+- Validate PCI DMA addresses, log message and return random data if trying to access unsupported address
+  or if attempting to access Amiga address space and bridge does not have full PCI DMA support.
+  (Probably becomes HALT-something if real hardware simply hangs in this situation)
+- 68040 MMU mode hardware bus error not caused by MMU had incorrectly status register ATC bit set.
+- More reliable A2410 resolution switching.
+- A2410 framebuffer space is also mirrored at the beginning of TMS34010 address space.
+- Implemented A2410 TMS34010 to/from Amiga address space DMA feature. So far no programs found that
+  uses it.
+- Emulate 68020/030 prefetch pipeline more accurately, branch instructions stop prefetching after
+  last opword of branch instruction has been loaded. It reduces unnecessary memory accesses.
+  This probably also makes 68020/030 cycle exact mode even more faster without adjusting
+  other parts of emulation (which needed to be made faster because some other unknown part
+  was too slow, hopefully it was this prefetch feature..)
+  Not fully implemented yet, addressing modes that use brief or full extension words disable
+  this feature until next branch instruction because length of instruction needs to be known in
+  advance and in these addressing modes it can't be calculated statically.
+
 Beta 2:
 
 - Borderblanking works again (b1)
@@ -13,6 +38,9 @@ Beta 2:
 - Added ES1370 from QEMU. (PCI sound card), common ES1370 based card is SB128.
 - Added FM801 emulation. (PCI sound card).
 - Added Vortex System 2000 HD controller.
+- 68020/030 prefetch/cycle-exact: don't prefetch from old PC if instruction is going to branch.
+- Accelerator board memory size reset when viewing RAM GUI panel if accelerator used "Blizzard" RAM type.
+- HD and RTG boards are now named <name> (<manufacturer>).
 - A2410 display card emulation! TMS34010 emulation core from MAME.
 
 A2410 notes: