]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
4500b15
authorToni Wilen <twilen@winuae.net>
Sat, 9 Jan 2021 15:07:28 +0000 (17:07 +0200)
committerToni Wilen <twilen@winuae.net>
Sat, 9 Jan 2021 15:07:28 +0000 (17:07 +0200)
debug.cpp
drawing.cpp
od-win32/sounddep/sound.cpp
od-win32/win32.h
od-win32/winuaechangelog.txt

index 2cc43e98faef3c92599adf3bb74f6e0bcef878b1..2ee5af1bdafec64d2db2e2f71263eededabb41ff 100644 (file)
--- a/debug.cpp
+++ b/debug.cpp
@@ -1825,9 +1825,14 @@ void record_dma_replace(int hpos, int vpos, int type, int extra)
        dr->extra = extra;
 }
 
+static void dma_conflict(int vpos, int hpos, struct dma_rec *dr, int reg, bool write)
+{
+       write_log(_T("DMA conflict %c: v=%d h=%d OREG=%04X NREG=%04X\n"), write ? 'W' : 'R', vpos, hpos, dr->reg, reg);
+}
+
 void record_dma_write(uae_u16 reg, uae_u32 dat, uae_u32 addr, int hpos, int vpos, int type, int extra)
 {
-       struct dma_recdr;
+       struct dma_rec *dr;
 
        if (!dma_record[0]) {
                dma_record[0] = xmalloc(struct dma_rec, NR_DMA_REC_HPOS * NR_DMA_REC_VPOS);
@@ -1844,7 +1849,7 @@ void record_dma_write(uae_u16 reg, uae_u32 dat, uae_u32 addr, int hpos, int vpos
        dr = &dma_record[dma_record_toggle][vpos * NR_DMA_REC_HPOS + hpos];
        dma_record_frame[dma_record_toggle] = timeframes;
        if (dr->reg != 0xffff) {
-               write_log(_T("DMA conflict: v=%d h=%d OREG=%04X NREG=%04X\n"), vpos, hpos, dr->reg, reg);
+               dma_conflict(vpos, hpos, dr, reg, false);
                return;
        }
        dr->reg = reg;
@@ -1881,7 +1886,7 @@ void record_dma_read(uae_u16 reg, uae_u32 addr, int hpos, int vpos, int type, in
        dr = &dma_record[dma_record_toggle][vpos * NR_DMA_REC_HPOS + hpos];
        dma_record_frame[dma_record_toggle] = timeframes;
        if (dr->reg != 0xffff) {
-               write_log (_T("DMA conflict: v=%d h=%d OREG=%04X NREG=%04X\n"), vpos, hpos, dr->reg, reg);
+               dma_conflict(vpos, hpos, dr, reg, false);
                return;
        }
        dr->reg = reg;
index 11cbba0cf55d9f468eb9817cdbc847bb5f73f663..addafd5773dc784dae63da3fbcb047cf8517135a 100644 (file)
@@ -4609,6 +4609,8 @@ void reset_drawing(void)
        memset (spixels, 0, sizeof spixels);
        memset (&spixstate, 0, sizeof spixstate);
 
+       init_hardware_for_drawing_frame();
+               
        notice_screen_contents_lost(monid);
        init_drawing_frame ();
        pfield_set_linetoscr();
index 34cb93075a610b669fe2b1a531b9fc3cfd9c7e2d..a8b457a36f61e52308a4f2d5d733003d5b736df3 100644 (file)
@@ -3126,8 +3126,8 @@ int enumerate_sound_devices (void)
                if ((1 || force_directsound || !os_vista) && (sounddrivermask & SOUNDDRIVER_DS)) {
                        write_log(_T("Enumerating DirectSound devices..\n"));
                        DirectSoundEnumerate ((LPDSENUMCALLBACK)DSEnumProc, sound_devices);
+                       DirectSoundCaptureEnumerate((LPDSENUMCALLBACK)DSEnumProc, record_devices);
                }
-               DirectSoundCaptureEnumerate ((LPDSENUMCALLBACK)DSEnumProc, record_devices);
 #if USE_XAUDIO
                if (sounddrivermask & SOUNDDRIVE_XAUDIO2)
                        xaudioenumerate (sound_devices);
index ec812a125151c1d1e0fd8fb3645ce2f51455979a..f7c9fa16fc3be09da2ea465fdae7b76a511a0a30 100644 (file)
 #define LANG_DLL_FULL_VERSION_MATCH 1
 
 #if WINUAEPUBLICBETA
-#define WINUAEBETA _T("Beta 14")
+#define WINUAEBETA _T("Beta 15")
 #else
 #define WINUAEBETA _T("")
 #endif
 
-#define WINUAEDATE MAKEBD(2021, 1, 2)
+#define WINUAEDATE MAKEBD(2021, 1, 9)
 
 //#define WINUAEEXTRA _T("AmiKit Preview")
 //#define WINUAEEXTRA _T("Amiga Forever Edition")
index 42e4efa6304c2b00b2a7e1e19f9a81cd1dbb0a0e..2b87a058a4ee992dfbac16bc7840bae31a86e2be 100644 (file)
@@ -1,4 +1,23 @@
 
+
+Beta 15:
+
+- PCI Virge emulation. Not much point but Virge emulation already existed, so... Not all byteswapping modes emulated, only what Mediator driver needs to work correctly. G-REX + Virge also works but 24-bit modes have some byteswap problems.
+- PCem PCI device config byte wide reads fixed (Voodoo/Virge + G-REX in CSPPC boot screen PCI list PCI device type is now shown correctly)
+- Voodoo 3 now works with G-REX CGX4 drivers.
+- G-REX didn't detect any PCI cards after FM801.
+- PCI RTG board native/RTG mode autoswitching improved.
+- Aranym JIT update missed move from FPU register to data register clamping (for example FPn -150.0 to Dn.B should become -128). Re-added.
+- Fixed FPU instruction JIT blacklist support.
+- Combitec HD 20 A/HD 40 A (not 100% sure it is exactly this model but very likely) emulation.
+
+Combitec HD 20 A/HD 40 A:
+- OMTI compatible HD controller. Usual OMTI IO offset 0x641. Base address is at $800000 + autoboot ROM at $f00000.
+- Autoboot ROM supports autoboot under KS 1.2 (seems to use same hack that other KS 1.2 autobootable HD controller use)
+- Boot ROM version string: "autoboot.device (autoboot.device 6.18 (27.8.89) , Rom_1.2, FFS, Bildchen, Search, New Boot Partition Programmiert von Bernhard Möllemann & Hartmut Sprave (C) Combitec 1988,1989"
+- Boot screen ("COMPUTER TOP EQUIPMENT COLOSSUS(R) HD-AutoBoot")
+
+
 Beta 14:
 
 - Fixed possible out of bounds array access when virtual mouse driver is installed.