From: Toni Wilen Date: Sun, 15 Sep 2024 14:51:17 +0000 (+0300) Subject: GVP T-Rex II X-Git-Tag: 5310~23 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=9cd147fed1445383146894f7945a542423a9fdf5;p=francis%2Fwinuae.git GVP T-Rex II --- diff --git a/cpuboard.cpp b/cpuboard.cpp index dde8f32e..fd2e110b 100644 --- a/cpuboard.cpp +++ b/cpuboard.cpp @@ -296,6 +296,10 @@ static bool is_tekmagic(struct uae_prefs *p) { return ISCPUBOARDP(p, BOARD_GVP, BOARD_GVP_SUB_TEKMAGIC); } +static bool is_trexii(struct uae_prefs *p) +{ + return ISCPUBOARDP(p, BOARD_GVP, BOARD_GVP_SUB_TREXII); +} static bool is_a2630(struct uae_prefs *p) { return ISCPUBOARDP(p, BOARD_COMMODORE, BOARD_COMMODORE_SUB_A26x0); @@ -778,7 +782,7 @@ static uae_u32 REGPARAM2 blizzardea_bget(uaecptr addr) uae_u8 v = 0; addr &= blizzardea_bank.mask; - if (is_tekmagic(&currprefs)) { + if (is_tekmagic(&currprefs) || is_trexii(&currprefs)) { cpuboard_non_byte_ea = true; v = cpuboard_ncr710_io_bget(addr); } else if (is_quikpak(&currprefs)) { @@ -836,7 +840,7 @@ static void REGPARAM2 blizzardea_wput(uaecptr addr, uae_u32 w) static void REGPARAM2 blizzardea_bput(uaecptr addr, uae_u32 b) { addr &= blizzardea_bank.mask; - if (is_tekmagic(&currprefs)) { + if (is_tekmagic(&currprefs) || is_trexii(&currprefs)) { cpuboard_non_byte_ea = true; cpuboard_ncr710_io_bput(addr, b); } else if (is_quikpak(&currprefs)) { @@ -1647,7 +1651,7 @@ void cpuboard_map(void) map_banks(&dummy_bank, 0xf00000 >> 16, 0x80000 >> 16, 0); } } - if (is_tekmagic(&currprefs) || is_quikpak(&currprefs)) { + if (is_tekmagic(&currprefs) || is_quikpak(&currprefs) || is_trexii(&currprefs)) { map_banks(&blizzardf0_bank, 0xf00000 >> 16, 131072 >> 16, 0); map_banks(&blizzardea_bank, 0xf40000 >> 16, 65536 >> 16, 0); } @@ -1985,7 +1989,7 @@ static void cpuboard_init_2(void) blizzardram_bank.label = _T("fusionforty"); mapped_malloc(&blizzardram_bank); - } else if (is_tekmagic(&currprefs) || is_quikpak(&currprefs)) { + } else if (is_tekmagic(&currprefs) || is_quikpak(&currprefs) || is_trexii(&currprefs)) { blizzardf0_bank.start = 0x00f00000; blizzardf0_bank.reserved_size = 131072; @@ -2894,6 +2898,14 @@ bool cpuboard_autoconfig_init(struct autoconfig_info *aci) cpuboard_non_byte_ea = false; aci->start = 0xf00000; aci->size = f0rom_size; + } else if (is_trexii(p)) { + earom_size = 65536; + f0rom_size = 131072; + zfile_fread(blizzardf0_bank.baseaddr, 1, f0rom_size, autoconfig_rom); + autoconf = false; + cpuboard_non_byte_ea = false; + aci->start = 0xf00000; + aci->size = f0rom_size; } else if (is_quikpak(p)) { earom_size = 65536; f0rom_size = 131072; diff --git a/expansion.cpp b/expansion.cpp index 372ab568..f84e3714 100644 --- a/expansion.cpp +++ b/expansion.cpp @@ -6477,6 +6477,14 @@ static const struct cpuboardsubtype gvpboard_sub[] = { BOARD_MEMORY_HIGHMEM, 128 * 1024 * 1024, }, + { + _T("T-Rex II"), + _T("trexii"), + ROMTYPE_CB_TREXII, 0, 4, + tekmagic_add_scsi_unit, EXPANSIONTYPE_SCSI, + BOARD_MEMORY_HIGHMEM, + 128 * 1024 * 1024 + }, { NULL } diff --git a/include/cpuboard.h b/include/cpuboard.h index be7c0b35..5b7787e3 100644 --- a/include/cpuboard.h +++ b/include/cpuboard.h @@ -74,6 +74,7 @@ void cpuboard_gvpmaprom(int); #define BOARD_GVP_SUB_A1230SI 6 #define BOARD_GVP_SUB_A1230SII 7 #define BOARD_GVP_SUB_QUIKPAK 8 +#define BOARD_GVP_SUB_TREXII 9 #define BOARD_KUPKE 6 diff --git a/include/rommgr.h b/include/rommgr.h index 2b33fc4a..fe397aed 100644 --- a/include/rommgr.h +++ b/include/rommgr.h @@ -57,6 +57,7 @@ extern int decode_cloanto_rom_do(uae_u8 *mem, int size, int real_size); #define ROMTYPE_CB_DRACO 0x00040022 #define ROMTYPE_CB_CASAB 0x00040023 #define ROMTYPE_CB_APOLLO_630 0x00040024 +#define ROMTYPE_CB_TREXII 0x00040025 #define ROMTYPE_FREEZER 0x00080000 #define ROMTYPE_AR 0x00080001 diff --git a/rommgr.cpp b/rommgr.cpp index 161ae1d1..17476320 100644 --- a/rommgr.cpp +++ b/rommgr.cpp @@ -522,6 +522,8 @@ static struct romdata roms[] = { 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) + { _T("GVP T-Rex II v1.0"), 1, 0, 1, 0, _T("GVPTREXII\0"), 32768, 317, 0, 0, ROMTYPE_CB_TREXII, 0, 0, NULL, + 0xd908947a, 0x888b53f0,0xb7f064e5,0xf068279f,0x855dba0e,0x5a42249f, NULL, NULL }, { _T("Zeus 040"), 2, 98, 2, 98, _T("ZEUS040\0"), 16384, 225, 0, 0, ROMTYPE_CB_ZEUS040, 0, 0, NULL, 0x2c609194, 0x9a91cf45,0x6816067a,0x943c18f1,0xbd30effe,0x482d4aaf, NULL, NULL },