]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
GVP A1230 Jaws Turbo+
authorToni Wilen <twilen@winuae.net>
Mon, 6 Jul 2020 19:28:59 +0000 (22:28 +0300)
committerToni Wilen <twilen@winuae.net>
Mon, 6 Jul 2020 19:28:59 +0000 (22:28 +0300)
cpuboard.cpp
expansion.cpp
include/cpuboard.h
include/rommgr.h
rommgr.cpp

index de4e64249a149f2b263c0579728f13cd8fa09cd5..fc8a499bfaa44df0d9fcbd29d6415949e0aa1418 100644 (file)
@@ -356,6 +356,10 @@ static bool is_tqm(struct uae_prefs *p)
 {
        return ISCPUBOARDP(p, BOARD_HARDITAL, BOARD_HARDITAL_SUB_TQM);
 }
+static bool is_a1230s1(struct uae_prefs *p)
+{
+       return ISCPUBOARDP(p, BOARD_GVP, BOARD_GVP_SUB_A1230SI);
+}
 static bool is_a1230s2(struct uae_prefs *p)
 {
        return ISCPUBOARDP(p, BOARD_GVP, BOARD_GVP_SUB_A1230SII);
@@ -1653,6 +1657,9 @@ void cpuboard_map(void)
        if (is_apollo(&currprefs)) {
                map_banks(&blizzardf0_bank, 0xf00000 >> 16, 131072 >> 16, 0);
        }
+       if (is_a1230s1(&currprefs)) {
+               map_banks(&blizzardf0_bank, 0xf00000 >> 16, 65536 >> 16, 0);
+       }
        if (is_dkb_wildfire(&currprefs)) {
                map_banks(&blizzardf0_bank, 0xf00000 >> 16, 0x80000 >> 16, 0);
        }
@@ -1687,6 +1694,12 @@ void cpuboard_map(void)
                }
        }
 
+       if (is_a1230s1(&currprefs)) {
+               if (cpuboardmem1_bank.allocated_size) {
+                       map_banks(&cpuboardmem1_bank, cpuboardmem1_bank.start >> 16, cpuboardmem1_bank.allocated_size >> 16, cpuboardmem1_bank.allocated_size >> 16);
+               }
+       }
+
        if (is_falcon40(&currprefs)) {
                map_banks(&blizzardram_bank, blizzardram_bank.start >> 16, cpuboard_size >> 16, 0);
        }
@@ -1860,6 +1873,13 @@ static void cpuboard_init_2(void)
                        }
                }
 
+       } else if (is_a1230s1(&currprefs)) {
+
+               blizzardf0_bank.start = 0x00f00000;
+               blizzardf0_bank.reserved_size = 65536;
+               blizzardf0_bank.mask = blizzardf0_bank.reserved_size - 1;
+               mapped_malloc(&blizzardf0_bank);
+
        } else if (is_aca500(&currprefs)) {
 
                blizzardf0_bank.start = 0x00f00000;
@@ -2598,6 +2618,9 @@ bool cpuboard_autoconfig_init(struct autoconfig_info *aci)
                        case BOARD_GVP_SUB_QUIKPAK:
                                romtype = romtype = ROMTYPE_CB_QUIKPAK;
                                break;
+                       case BOARD_GVP_SUB_A1230SI:
+                               romtype = romtype = ROMTYPE_CB_A1230S1;
+                               break;
                }
                break;
 
@@ -2812,6 +2835,12 @@ bool cpuboard_autoconfig_init(struct autoconfig_info *aci)
                autoconf = false;
                aci->start = 0xf00000;
                aci->size = f0rom_size;
+       } else if (is_a1230s1(p)) {
+               f0rom_size = 65536;
+               zfile_fread(blizzardf0_bank.baseaddr, 1, 32768, autoconfig_rom);
+               autoconf = false;
+               aci->start = 0xf00000;
+               aci->size = f0rom_size;
        } else if (is_fusionforty(p)) {
                f0rom_size = 262144;
                zfile_fread(blizzardf0_bank.baseaddr, 1, 131072, autoconfig_rom);
index e2aad7c2985b250c01afe2c84307a36af2e71622..7728e490e4b3ca65ef63c60e46cbc4512e9daba0 100644 (file)
@@ -6137,13 +6137,21 @@ static const struct cpuboardsubtype gvpboard_sub[] = {
                BOARD_MEMORY_HIGHMEM,
                128 * 1024 * 1024
        },
+       {
+               _T("A1230 Turbo+"),
+               _T("A1230SI"),
+               ROMTYPE_CB_A1230S1, 0, 3,
+               NULL, 0,
+               BOARD_MEMORY_25BITMEM,
+               32 * 1024 * 1024
+       },
        {
                _T("A1230 Turbo+ Series II"),
                _T("A1230SII"),
                ROMTYPE_CB_A1230S2, 0, 3,
                gvp_s2_add_accelerator_scsi_unit, EXPANSIONTYPE_SCSI,
                BOARD_MEMORY_25BITMEM,
-               128 * 1024 * 1024,
+               32 * 1024 * 1024,
                0,
                gvp_init_accelerator, NULL, BOARD_AUTOCONFIG_Z2, 1,
                gvpa1230s2_settings, NULL,
index d1ee97532ee649e73bcace37ca171bc1a1b27c62..92f6b6663c0683ccea3ad85db5f046ec36c3b6b0 100644 (file)
@@ -68,8 +68,9 @@ void cpuboard_gvpmaprom(int);
 #define BOARD_GVP_SUB_A530 2
 #define BOARD_GVP_SUB_GFORCE030 3
 #define BOARD_GVP_SUB_TEKMAGIC 4
-#define BOARD_GVP_SUB_A1230SII 5
-#define BOARD_GVP_SUB_QUIKPAK 6
+#define BOARD_GVP_SUB_A1230SI 5
+#define BOARD_GVP_SUB_A1230SII 6
+#define BOARD_GVP_SUB_QUIKPAK 7
 
 #define BOARD_KUPKE 6
 
index b061c3eb0579472677785d35efbb6c94103ba85a..220379f10b4ff318ce4225dc642a1b07760befda 100644 (file)
@@ -51,6 +51,7 @@ extern int decode_cloanto_rom_do (uae_u8 *mem, int size, int real_size);
 #define ROMTYPE_CB_QUIKPAK     0x0004001e
 #define ROMTYPE_CB_12GAUGE     0x0004001f
 #define ROMTYPE_CB_HARMS3KP    0x00040020
+#define ROMTYPE_CB_A1230S1     0x00040021
 
 #define ROMTYPE_FREEZER                0x00080000
 #define ROMTYPE_AR                     0x00080001
index ab235b462fb4cb15174f5a1fe5a27322c78f7a0d..9052d64526c1f6efebf7b689558811bca86f3dd6 100644 (file)
@@ -95,7 +95,7 @@ struct romdata *getromdatabypath (const TCHAR *path)
        return NULL;
 }
 
-#define NEXT_ROM_ID 260
+#define NEXT_ROM_ID 261
 
 #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 },
@@ -413,6 +413,8 @@ static struct romdata roms[] = {
        0xa2ba67d1, 0x2015685f, 0xaadfbaf6, 0x8b19b07e, 0x5f4e888f, 0x738b99d7, NULL, NULL },
        { _T("GVP A1230 Turbo+ Series II"), 0, 0, 0, 0, _T("A1230SII\0"), 16384, 230, 0, 0, ROMTYPE_CB_A1230S2, 0, 0, NULL,
        0x96bd351f, 0xb7648daf, 0x52d0732d, 0x897548f3, 0x29ebf624, 0x101474d5, NULL, NULL },
+       { _T("GVP A1230 Turbo+"), 0, 0, 0, 0, _T("A1230SI\0"), 16384, 260, 0, 0, ROMTYPE_CB_A1230S1, 0, 0, NULL,
+       0x3f0b8d7a, 0x258c6ee7, 0x5d8dfee5, 0x7871c5be, 0x79a83fa3, 0xca53a1a9, NULL, NULL },
        { _T("Harms 3000 Professional"), 0, 0, 0, 00, _T("HARMS3000PRO\0"), 65536, 248, 0, 0, ROMTYPE_CB_HARMS3KP, 0, 0, NULL,
        0x80da32b5,0x0a3ded88,0x20a24238,0xd3e43baf,0x7163226c,0x861e2d88, NULL, NULL },
        ALTROMPN(248, 1, 1, 32768, ROMTYPE_ODD  | ROMTYPE_8BIT, NULL, 0xc22c5ee5, 0xc211f305, 0xacb2ce10, 0x32b1b296, 0xc5780dde, 0x78dba814)
@@ -579,7 +581,7 @@ static struct romdata roms[] = {
        { _T("Microbotics HardFrame v1.5"), 1, 5, 1, 5, _T("HARDFRAME\0"), 32768, 173, 0, 0, ROMTYPE_HARDFRAME, 0, 0, NULL,
        0x8d144212, 0xc5a4f497, 0x5216c1b1, 0xe08760d0, 0x0bd579ef, 0xea226354, NULL, NULL },
        { _T("Microbotics HardFrame v1.8"), 1, 8, 1, 8, _T("HARDFRAME\0"), 32768, 258, 0, 0, ROMTYPE_HARDFRAME, 0, 0, NULL,
-       0x10de5e2d, 0x3e25af5, 0x9e6bb0d69, 0xd925f07b, 0x200b1b0e, 0x45e57d33, NULL, NULL },
+       0x10de5e2d, 0x3e25af59, 0xe6bb0d69, 0xd925f07b, 0x200b1b0e, 0x45e57d33, NULL, NULL },
        { _T("Microbotics HardFrame v1.9"), 1, 9, 1, 9, _T("HARDFRAME\0"), 32768, 256, 0, 0, ROMTYPE_HARDFRAME, 0, 0, NULL,
        0x948a3de8, 0xc34cb0ef, 0xa0ebdd71, 0x9d604d38, 0x625a160d, 0x9e2ca95d, NULL, NULL },
        { _T("Mainhattan Data A-Team v1.8"), 1, 8, 1, 8, _T("ATEAM\0"), 65536, 174, 0, 0, ROMTYPE_ATEAM, 0, 0, NULL,