]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
Trumpcard interrupt emulation, only used by ROM v1.2. v1.1 and v1.2 added. Archos...
authorToni Wilen <twilen@winuae.net>
Tue, 18 Jun 2019 17:33:22 +0000 (20:33 +0300)
committerToni Wilen <twilen@winuae.net>
Tue, 18 Jun 2019 17:33:22 +0000 (20:33 +0300)
idecontrollers.cpp
rommgr.cpp

index d129ab4d9f9db8826d5a4ae9862f5dd9e6af6d86..43e65ed1072b9e4893a635914d1de22fd87ee99f 100644 (file)
@@ -597,7 +597,7 @@ static int get_accessx_reg(uaecptr addr, struct ide_board *board, int *portnum)
 static int get_ivst500at_reg(uaecptr addr, struct ide_board *board, int *portnum)
 {
        *portnum = 0;
-       if (addr & 0x8000)
+       if (addr & (0x4000 | 0x8000))
                return -1;
        if (!(addr & 1))
                return -1;
@@ -963,6 +963,8 @@ static uae_u32 ide_read_byte(struct ide_board *board, uaecptr addr)
                } else if (board->rom && (addr & 0x8000)) {
                        int offset = addr & 0x7fff;
                        v = board->rom[offset];
+               } else if ((addr & 0x4000) && (addr & 1)) {
+                       v = ide_irq_check(board->ide[0], false) ? 1 : 0;
                }
 
        }
@@ -2694,6 +2696,7 @@ bool trumpcard500at_init(struct autoconfig_info *aci)
        ide->rom_size = 32768;
        ide->rom_mask = 32768 - 1;
        ide->keepautoconfig = false;
+       ide->intena = true;
 
        ide->rom = xcalloc(uae_u8, 32768);
        load_rom_rc(aci->rc, ROMTYPE_IVST500AT, 16384, 0, ide->rom, 32768, LOADROM_EVENONLY_ODDONE);
index dd8c494aead3845abfd8a696cf78e591fbeee0bf..5c80d3b750a4d3f311b3e9be47d63dfd0aeb6f14 100644 (file)
@@ -95,7 +95,7 @@ struct romdata *getromdatabypath (const TCHAR *path)
        return NULL;
 }
 
-#define NEXT_ROM_ID 250
+#define NEXT_ROM_ID 253
 
 #define ALTROM(id,grp,num,size,flags,crc32,a,b,c,d,e) \
 { _T("X"), 0, 0, 0, 0, 0, size, id, 0, 0, flags, (grp << 16) | num, 0, NULL, crc32, a, b, c, d, e },
@@ -393,7 +393,7 @@ static struct romdata roms[] = {
        0x00447765, 0x2644e7cb,0xba5cc54e,0x880b4b42,0x49fd1dd1,0x2eb4a3bc, NULL, _T("fastlanez3.rom") },
        { _T("Oktagon 2008"), 6, 12, 6, 12, _T("OKTAGON\0"), 32768, 103, 0, 0, ROMTYPE_OKTAGON, 0, 0, NULL,
        0xbb0d2f6a, 0x56c441fa,0x37d19339,0x3081b2e8,0xceae823b,0xc7e97e49, NULL, _T("oktagon2008.rom") },
-       { _T("Warp Engine A4000"), 0, 0, 0, 0, _T("WARPENGINE\0WARPENGINEA4000\0"), 32768, 93, 0, 0, ROMTYPE_CB_WENGINE, 0, 0, NULL,
+       { _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,
        0x9e9781d5, 0xf65b60d1,0x4300c50f,0x2ed17cf4,0x4dcfdef9,0x16697bc9, NULL,  _T("tekmagic2060.rom") },
@@ -618,6 +618,12 @@ static struct romdata roms[] = {
        0x086e2716b, 0x075b50cb,0x166e00ac,0x4016ef7f,0x02532e86,0xe73b7711, NULL, NULL },
        { _T("Pacific Peripherals Overdrive v2.0"), 2, 0, 2, 0, _T("OVERDRIVE\0"), 8192, 247, 0, 0, ROMTYPE_OVERDRIVE, 0, 0, NULL,
        0xebe42aa6, 0xdff761c2,0x429d0d26,0x2151d831,0x12746f83,0x3b8d36f0, NULL, NULL },
+       { _T("Archos Overdrive HD"), 0, 0, 0, 0, _T("ARCHOSHD\0"), 32768, 250, 0, 0, ROMTYPE_ARCHOSHD, 0, 0, NULL,
+       0x30c0e3f9, 0x90014e97,0x700333a7,0x931b382f,0xe672b6e4,0x4b7b8acc, NULL, NULL },
+       { _T("Trumpcard 500AT v1.1"), 0, 0, 0, 0, _T("ARCHOSHD\0"), 32768, 251, 0, 0, ROMTYPE_IVST500AT, 0, 0, NULL,
+       0xb6467cb8, 0xbc1cd85f,0x16011691,0x32a2a8d6, 0x2ee38666,0x520d5cf1, NULL, NULL },
+       { _T("Trumpcard 500AT v1.2"), 0, 0, 0, 0, _T("ARCHOSHD\0"), 32768, 252, 0, 0, ROMTYPE_IVST500AT, 0, 0, NULL,
+       0x3eb87eb3, 0xff41889e,0x641114e5,0x5ec1f784,0xd79216ce,0xe9a74a40, NULL, NULL },
 
        { _T("CyberStorm MK I 68040"), 0, 0, 0, 0, _T("CSMKI\0"), 32768, 95, 0, 0, ROMTYPE_CB_CSMK1, 0, 0, NULL,
          0, 0, 0, 0, 0, 0, NULL, _T("cyberstormmk1_040.rom") },