]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
5300b6
authorToni Wilen <twilen@winuae.net>
Thu, 2 May 2024 17:25:53 +0000 (20:25 +0300)
committerToni Wilen <twilen@winuae.net>
Thu, 2 May 2024 17:25:53 +0000 (20:25 +0300)
mame/a2410.cpp
mame/tm34010/tms34010.cpp
od-win32/win32.h
od-win32/winuaechangelog.txt
rommgr.cpp

index be7cf9f47162e0d1c341673a1336879a44cc8a02..342b50d386c75945918b3672bc247df566ba6b21 100644 (file)
@@ -280,8 +280,6 @@ static void write_ramdac(struct a2410_struct *data, int addr, uae_u8 v)
                                a2410_create_palette32(data, 256);
                                data->a2410_palette_index++;
                        }
-                       if (data->a2410_palette_index >= 4 * 4)
-                               data->a2410_palette_index = 0;
                }
                break;
        }
@@ -822,10 +820,15 @@ static void tms_vsync_handler2(struct a2410_struct *data, bool internalsync)
        data->a2410_overlay_blink_cnt++;
        if (data->a2410_overlay_blink_cnt == 0 || data->a2410_overlay_blink_cnt == data->a2410_overlay_blink_rate_on) {
                // any blink mode enabled?
-               if (data->a2410_palette_control[5 - 4] != 0 || (data->a2410_palette_control[6 - 4] & (4 | 8)))
+               if (data->a2410_palette_control[5 - 4] != 0 || (data->a2410_palette_control[6 - 4] & (4 | 8))) {
                        data->fullrefresh = 2;
+               }
        }
        if (data->a2410_overlay_blink_cnt > data->a2410_overlay_blink_rate_off + data->a2410_overlay_blink_rate_on) {
+               // any blink mode enabled?
+               if (data->a2410_palette_control[5 - 4] != 0 || (data->a2410_palette_control[6 - 4] & (4 | 8))) {
+                       data->fullrefresh = 2;
+               }
                data->a2410_overlay_blink_cnt = 0;
        }
 }
index 25c5566ade2475170f6f28e8237868fb126c9d46..e848697a9b67b137fe613d7f34a99bab8464a7bb 100644 (file)
@@ -1561,7 +1561,6 @@ WRITE16_MEMBER( tms340x0_device::host_w )
 {
        int reg = offset;
        unsigned int addr;
-       unsigned int hstctlh = IOREG(REG_HSTCTLH);
 
        switch (reg)
        {
index 5f65b2a274b2900aa784edac173f1ca9cca4cd25..764d8eb931d2cddc7878b028a621599e5ee7b9a2 100644 (file)
 #define LANG_DLL_FULL_VERSION_MATCH 0
 
 #if WINUAEPUBLICBETA
-#define WINUAEBETA _T("5")
+#define WINUAEBETA _T("6")
 #else
 #define WINUAEBETA _T("")
 #endif
 
-#define WINUAEDATE MAKEBD(2024, 4, 23)
+#define WINUAEDATE MAKEBD(2024, 5, 2)
 
 //#define WINUAEEXTRA _T("AmiKit Preview")
 //#define WINUAEEXTRA _T("Amiga Forever Edition")
index 8ab51c29e188e1c2b466d3f98f3e117704f22e30..56dd252ccfa0ab43e02a1031662f11035c1aa2b0 100644 (file)
@@ -1,4 +1,11 @@
 
+Beta 6:
+
+- Los Justicieros (Zorton Brothers) laserdisc arcade game left holster hooked up correctly. (Was stuck active previously)
+- If programmed mode was enabled first and if programmed horizontal blanking got enabled slightly later, it didn't force display position recalculation. This is needed because programmed mode horizontal position also depend on horizontal blanking configuration. Real monitors also use both syncs and blanks to detect display position. (I noticed this in CyberVision PPC config where CVPPC gets activated at boot, then when END+F9 is used to switch back to native mode, display was horizontally shifted and clipped)
+- In NTSC mode if bitplane DMA last fetch "overflowed" to cycle 0 (which is harmless and normal in overscanned modes) when line was short, it was incorrectly kept allocated for bitplane DMA also during long lines. Long line has 1 more cycle = no overflow. (NewTek demo reel 3 dynamic hires image corruption in NTSC mode, CPU didn't have enough time to update all colors quickly enough. Note: corruption at the bottom in PAL mode is demo bug. NTSC mode also has 2 slightly corrupted lines at the bottom, this is also normal.)
+- Magic mouse mode without enabled mouse driver was broken in b1. Moving mouse outside of emulation window and back caused it to stop moving.
+
 Beta 5:
 
 - Fixed pre-KS 1.2 HDF/directory filesystem boot. Two bugs: crash due to config handling changes (3.6) and KS 1.0/1.1 seems to have a bug where level 2 CIA keyboard interrupt handler returns "I handled this interrupt" status even if it was caused by external device, skipping all following handers, including UAE filesystem interrupt handler, causing a hang. UAE FS interrupt level was changed to -1 if KS 1.3 or lower (4.9) because there was some buggy (KS1.x compatible only) program that poked interrupt list and broke if CIA handler wasn't first in list. Now UAE FS handler priority is lower than CIA handler only if KS 1.2 or 1.3.
@@ -16,7 +23,7 @@ Beta 4:
 
 - ET4000W32/Merlin fixes, ProBench (Early RTG software for Merlin cards) now works without glitches. Merlin serial eeprom(?) emulation added: ProBench requires matching Merlin serial number and valid checksum. Serial number is configurable in Expansions -> Graphics boards -> Merlin. Note: amiga.resource.cx ProBench install disks have different serial numbers (1.10=937875, 2.1=23531, 2.2=10010). Note2: there is "cracked" ProBench 3.0 floating around but it is worse than useless, it has modified owner/user string but critical encrypted code is not decrypted. Decryption requires original user string and serial..
 - ET4000AX/W32 lores mode not getting horizontal doubled in >8bit modes fixed. Picasso96 RGBA mode (only available in low resolutions due to chip limits) colors fixed. Interlaced modes fixed.
-- OCS Denise left overscan special case emulation updatEd and fixed. Previously BPL1DAT write before cycle $2D was ignored but that is not correct. BPL1DAT writes work normally but only BPL1DAT writes >=$2D disable border. This is not same enable flag as DIWSTRT horizontal match. Bitplanes or sprites are not visible until both DIWSTRT and BPL1DAT border disable are active but bitplane shifters work normally. Only difference compared to previous version is that first few bitplane/sprite pixels in max overscan will not be visible (replaced by color 0) depending on DDFSTRT position if OCS Denise. ECS Denise/AGA does not have this limitation.
+- OCS Denise left overscan special case emulation updated and fixed. Previously BPL1DAT write before cycle $2D was ignored but that is not correct. BPL1DAT writes work normally but only BPL1DAT writes >=$2D disable border. This is not same enable flag as DIWSTRT horizontal match. Bitplanes or sprites are not visible until both DIWSTRT and BPL1DAT border disable are active but bitplane shifters work normally. Only difference compared to previous version is that first few bitplane/sprite pixels in max overscan will not be visible (replaced by color 0) depending on DDFSTRT position if OCS Denise. ECS Denise/AGA does not have this limitation.
 - DMA debugger only showed Denise horizontal counter value if also CPU interrupt level was non-zero.
 - Only "insert" CV/BVPPC in to CSMK3/CSPPC internal PCI slot. Insert any other PCI card in to G-REX PCI slots. OS4 does not detect boards in first "internal" PCI slot. (b3)
 - Fixed ECS Denise superhires mode hires sprite pointer strange odd/even horizontal movement.
index 94d47261c8a32e1fe500f38317ef23263571ad0f..fa22a3ead447e619c6d631f2fef8c38646b44927 100644 (file)
@@ -514,11 +514,11 @@ static struct romdata roms[] = {
        { _T("Warp Engine"), 0, 0, 0, 0, _T("WARPENGINE\0"), 32768, 93, 0, 0, ROMTYPE_CB_WENGINE, 0, 0, NULL,
        0x4deb574a, 0x6e6c95ff,0xe8448391,0xd36c5b68,0xc9065cb0,0x702a7d27 },
 
-       { _T("TekMagic 2040/2060"), 1, 0, 1, 0, _T("TEKMAGIC\0TEKMAGIC2040\0TEKMAGIC2060\0"), 65536, 104, 0, 0, ROMTYPE_CB_TEKMAGIC, 0, 0, NULL,
+       { _T("TekMagic 2060 v1.0"), 1, 0, 1, 0, _T("TEKMAGIC\0TEKMAGIC2060\0"), 65536, 104, 0, 0, ROMTYPE_CB_TEKMAGIC, 0, 0, NULL,
        0x9e9781d5, 0xf65b60d1,0x4300c50f,0x2ed17cf4,0x4dcfdef9,0x16697bc9, NULL,  _T("tekmagic2060.rom") },
        ALTROMPN(104, 1, 1, 32768, ROMTYPE_ODD  | ROMTYPE_8BIT, NULL, 0x888da4cf, 0x6ae85f3a, 0x65331ba4, 0xaaba67ae, 0x34763d70, 0x2bde0495)
        ALTROMPN(104, 1, 2, 32768, ROMTYPE_EVEN | ROMTYPE_8BIT, NULL, 0xaf1f47db, 0x28d5bed0, 0xbc517d46, 0x500e8159, 0x723e0b64, 0x4733c26a)
-       { _T("TekMagic 2040"), 1, 0, 1, 0, _T("TEKMAGIC\0TEKMAGIC2040\0"), 65536, 303, 0, 0, ROMTYPE_CB_TEKMAGIC, 0, 0, NULL,
+       { _T("TekMagic 2040 v1.1"), 1, 1, 1, 1, _T("TEKMAGIC\0TEKMAGIC2040\0"), 65536, 303, 0, 0, ROMTYPE_CB_TEKMAGIC, 0, 0, NULL,
        0xff60cfe3, 0xea208934,0x5e2602cf,0xc715b2fc,0x50a392dd,0xd751823a, NULL,  _T("tekmagic2040.rom") },
        ALTROMPN(303, 1, 1, 32768, ROMTYPE_ODD  | ROMTYPE_8BIT, NULL, 0xc19580de, 0x691b1119, 0x5163fd52, 0xb8a9025e, 0x3ac4311f, 0x7bc84013)
        ALTROMPN(303, 1, 2, 32768, ROMTYPE_EVEN | ROMTYPE_8BIT, NULL, 0xbf3551fd, 0x4dc520fa, 0x7868e01b, 0xd6bfa3d6, 0x396f1e55 ,0x18d55372)