From: Toni Wilen Date: Fri, 10 Jul 2020 18:40:43 +0000 (+0300) Subject: Trumpcard interrupt support option, ROM v1.5 and v3.1. GPV v4.13. X-Git-Tag: 4900~350 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=3a5ae01f413231030160db353f27ae386ad50dba;p=francis%2Fwinuae.git Trumpcard interrupt support option, ROM v1.5 and v3.1. GPV v4.13. --- diff --git a/expansion.cpp b/expansion.cpp index 7728e490..7cb2edd9 100644 --- a/expansion.cpp +++ b/expansion.cpp @@ -4265,6 +4265,16 @@ static const struct expansionboardsettings trifecta_settings[] = { } }; +static const struct expansionboardsettings trumpcard_settings[] = { + { + _T("Interrupt support"), _T("irq") + }, + { + NULL + } +}; + + static const struct expansionsubromtype accessx_sub[] = { { _T("AccessX 500"), _T("accessx500"), ROMTYPE_ACCESSX, @@ -5433,7 +5443,7 @@ const struct expansionromtype expansionroms[] = { NULL, 0, true, EXPANSIONTYPE_SCSI, 2112, 4, 0, false, NULL, - true, 0, NULL, + true, 0, trumpcard_settings, { 0xd1, 0x30, 0x00, 0x00, 0x08, 0x40, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00 }, }, { diff --git a/rommgr.cpp b/rommgr.cpp index 9052d645..45164dca 100644 --- a/rommgr.cpp +++ b/rommgr.cpp @@ -95,7 +95,7 @@ struct romdata *getromdatabypath (const TCHAR *path) return NULL; } -#define NEXT_ROM_ID 261 +#define NEXT_ROM_ID 264 #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 }, @@ -528,6 +528,8 @@ static struct romdata roms[] = { 0xf99c6f11, 0x77098a9e,0x35acaef2,0x11a546f0,0xc564cdac,0xf52836c4, NULL, NULL }, { _T("GVP Series I/II v3.7"), 3, 7, 3, 7, _T("GVPII\0GVPI\0"), 16384, 238, 0, 0, ROMTYPE_GVPS12, 0, 0, NULL, 0xe136b9c4, 0xabcc0b52,0xa99dba6f,0xc2eb8428,0x63c7c805,0xb7f4d770, NULL, NULL }, + { _T("GVP Series II v4.13"), 4, 13, 4, 13, _T("GVPII\0"), 16384, 263, 0, 0, ROMTYPE_GVPS2, 0, 0, NULL, + 0xfc20b5e2, 0x85c050ba, 0x894ced53, 0x359fd7d6, 0x730250e7, 0x4c4b66bf, NULL, NULL }, { _T("GVP Series II v4.15"), 4, 15, 4, 15, _T("GVPII\0"), 16384, 109, 0, 0, ROMTYPE_GVPS2, 0, 0, NULL, 0xf89f44d6, 0xbf10c12c,0xc72dd040,0x549ea17c,0x24947633,0xe3773297, NULL, NULL }, { _T("GVP Series II Guru ROM"), 6, 14, 6, 14, _T("GVPII\0"), 32768, 110, 0, 0, ROMTYPE_GVPS2, 0, 0, NULL, @@ -570,6 +572,10 @@ static struct romdata roms[] = { 0x4a15f224, 0x29500b47, 0x289e84ac, 0x575e3c7d, 0x82199b45, 0x605d8fc9, NULL, NULL }, { _T("IVS Trumpcard v4.9"), 4, 9, 4, 9, _T("IVSTC\0"), 16384, 249, 0, 0, ROMTYPE_IVSTC, 0, 0, NULL, 0x5282febc, 0x9d69a534, 0x60529d66, 0x13b64723, 0xb0c8dfa5, 0x80274048, NULL, NULL }, + { _T("IVS Trumpcard v3.1"), 3, 1, 3, 1, _T("IVSTC\0"), 8192, 261, 0, 0, ROMTYPE_IVSTC, 0, 0, NULL, + 0xfe48dd5d, 0x03e6c1b1, 0xf3300c94, 0x4cc176ea, 0xb3082e91, 0xe75d5e62, NULL, NULL }, + { _T("IVS Trumpcard v1.5"), 1, 5, 1, 5, _T("IVSTC\0"), 8192, 262, 0, 0, ROMTYPE_IVSTC, 0, 0, NULL, + 0x6f37eb74, 0xbf510c23, 0x1c2134d7, 0xed4b4158, 0xba4acf14, 0xa34824d2, NULL, NULL }, { _T("Expansion Systems Dataflyer+ v1.5"), 1, 5, 1, 5, _T("DATAFLYERPLUS\0"), 32768, 170, 0, 0, ROMTYPE_DATAFLYER, 0, 0, NULL, 0x00888f19, 0x54b73354, 0xb3592691, 0x59a80909, 0x0bdb67df, 0x8ac22aa9, NULL, NULL }, { _T("Expansion Systems Dataflyer+ v1.7"), 1, 7, 1, 7, _T("DATAFLYERPLUS\0"), 32768, 171, 0, 0, ROMTYPE_DATAFLYER, 0, 0, NULL, diff --git a/scsi.cpp b/scsi.cpp index fb92a98e..a8b27a71 100644 --- a/scsi.cpp +++ b/scsi.cpp @@ -4452,10 +4452,14 @@ bool trumpcard_init(struct autoconfig_info *aci) if (!scsi) return false; - scsi->intena = true; - scsi->dma_autodack = true; - load_rom_rc(aci->rc, ROMTYPE_IVSTC, 16384, 0, scsi->rom, 32768, LOADROM_EVENONLY_ODDONE | LOADROM_FILL); + if (aci->rc->device_settings & 1) { + scsi->intena = true; + scsi->dma_autodack = true; + } else { + scsi->intena = false; + scsi->dma_autodack = false; + } for (int i = 0; i < 16; i++) { uae_u8 b = ert->autoconfig[i];