]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
rom scanner support.
authorToni Wilen <twilen@winuae.net>
Fri, 11 Jul 2014 09:20:58 +0000 (12:20 +0300)
committerToni Wilen <twilen@winuae.net>
Fri, 11 Jul 2014 09:20:58 +0000 (12:20 +0300)
gfxboard.cpp
include/rommgr.h
rommgr.cpp

index 3eba35e034780bbcc6bcb7ce3a96f66cc96723aa..456e42ca77f1895852521bbb6e6cb5a087782195 100644 (file)
@@ -2073,12 +2073,20 @@ void gfxboard_init_memory (void)
        ew (0x00, type);
 
        if (ISP4()) {
+               int roms[] = { 91, -1 };
+               struct romlist *rl = getromlistbyids (roms);
                TCHAR path[MAX_DPATH];
                fetch_rompath (path, sizeof path / sizeof (TCHAR));
-               _tcscat (path, _T("picasso_iv_flash.rom"));
-               p4rom = read_rom_name (path);
-               if (!p4rom)
-                       p4rom = read_rom_name (_T("picasso_iv_flash.rom"));
+
+               if (rl) {
+                       p4rom = read_rom (rl->rd);
+               }
+               if (!p4rom) {
+                       _tcscat (path, _T("picasso_iv_flash.rom"));
+                       p4rom = read_rom_name (path);
+                       if (!p4rom)
+                               p4rom = read_rom_name (_T("picasso_iv_flash.rom"));
+               }
                if (p4rom) {
                        zfile_fread (p4autoconfig, sizeof p4autoconfig, 1, p4rom);
                        copyp4autoconfig (board->z3 ? 192 : 0);
index b5928633c672ee9f6909ca968f3a7b02b7e426c9..f8bb513dd753343ae5221be37dec49d2763e8b05 100644 (file)
@@ -1,29 +1,32 @@
 extern int decode_cloanto_rom_do (uae_u8 *mem, int size, int real_size);
 
-#define ROMTYPE_KICK           0x000001
-#define ROMTYPE_KICKCD32       0x000002
-#define ROMTYPE_EXTCD32                0x000004
-#define ROMTYPE_EXTCDTV                0x000008
-#define ROMTYPE_A2091BOOT      0x000010
-#define ROMTYPE_A4091BOOT      0x000020
-#define ROMTYPE_AR                     0x000040
-#define ROMTYPE_SUPERIV                0x000080
-#define ROMTYPE_KEY                    0x000100
-#define ROMTYPE_ARCADIABIOS    0x000200
-#define ROMTYPE_ARCADIAGAME    0x000400
-#define ROMTYPE_HRTMON         0x000800
-#define ROMTYPE_NORDIC         0x001000
-#define ROMTYPE_XPOWER         0x002000
-#define ROMTYPE_CD32CART       0x004000
-#define ROMTYPE_SPECIALKICK    0x008000
-#define ROMTYPE_MASK           0x01ffff
-#define ROMTYPE_EVEN           0x020000
-#define ROMTYPE_ODD                    0x040000
-#define ROMTYPE_8BIT           0x080000
-#define ROMTYPE_BYTESWAP       0x100000
-#define ROMTYPE_CD32           0x200000
-#define ROMTYPE_SCRAMBLED      0x400000
-#define ROMTYPE_NONE           0x800000
+#define ROMTYPE_KICK           0x00000001
+#define ROMTYPE_KICKCD32       0x00000002
+#define ROMTYPE_EXTCD32                0x00000004
+#define ROMTYPE_EXTCDTV                0x00000008
+#define ROMTYPE_A2091BOOT      0x00000010
+#define ROMTYPE_A4091BOOT      0x00000020
+#define ROMTYPE_AR                     0x00000040
+#define ROMTYPE_SUPERIV                0x00000080
+#define ROMTYPE_KEY                    0x00000100
+#define ROMTYPE_ARCADIABIOS    0x00000200
+#define ROMTYPE_ARCADIAGAME    0x00000400
+#define ROMTYPE_HRTMON         0x00000800
+#define ROMTYPE_NORDIC         0x00001000
+#define ROMTYPE_XPOWER         0x00002000
+#define ROMTYPE_CD32CART       0x00004000
+#define ROMTYPE_SPECIALKICK    0x00008000
+#define ROMTYPE_PIV                    0x00010000
+#define ROMTYPE_BLIZ1230       0x00020000
+#define ROMTYPE_BLIZ1240       0x00040000
+#define ROMTYPE_MASK           0x001fffff
+#define ROMTYPE_EVEN           0x02000000
+#define ROMTYPE_ODD                    0x04000000
+#define ROMTYPE_8BIT           0x08000000
+#define ROMTYPE_BYTESWAP       0x10000000
+#define ROMTYPE_CD32           0x20000000
+#define ROMTYPE_SCRAMBLED      0x40000000
+#define ROMTYPE_NONE           0x80000000
 
 #define ROMTYPE_ALL_KICK (ROMTYPE_KICK | ROMTYPE_KICKCD32 | ROMTYPE_CD32)
 #define ROMTYPE_ALL_EXT (ROMTYPE_EXTCD32 | ROMTYPE_EXTCDTV)
index d9c1588e35411b38ae013134fd1ec9499be81453..e155056447c4eb6380880f12ef5c5b1e285b1ed3 100644 (file)
@@ -93,7 +93,7 @@ struct romdata *getromdatabypath (const TCHAR *path)
        return NULL;
 }
 
-#define NEXT_ROM_ID 89
+#define NEXT_ROM_ID 92
 
 static struct romheader romheaders[] = {
        { _T("Freezer Cartridges"), 1 },
@@ -292,6 +292,14 @@ static struct romdata roms[] = {
        { _T("A4091 ROM 40.13"), 40, 13, 40, 13, _T("A4091\0"), 32768, 58, 0, 0, ROMTYPE_A4091BOOT, 0, 0, _T("391592-02"),
        0x54cb9e85, 0x3CE66919,0xF6FD6797,0x4923A12D,0x91B730F1,0xFFB4A7BA },
 
+       { _T("Blizzard 1230-IV ROM"), 0, 0, 0, 0, _T("B1230\0"), 32768, 89, 0, 0, ROMTYPE_BLIZ1230, 0, 0, NULL,
+       0x3078dbdc, 0x4d3e7fd0,0xa1a4c3ae,0xe17c5de3,0xcbe1af03,0x447aff92 },
+       { _T("Blizzard 1240/1260 ROM"), 0, 0, 0, 0, _T("B1240\0B1260\0"), 32768, 90, 0, 0, ROMTYPE_BLIZ1240, 0, 0, NULL,
+       0xf88ae0f1, 0xf69aca4b,0xb13e3389,0x04676f0c,0x8616f8db,0x074c313d },
+
+       { _T("Picasso IV ROM"), 7, 4, 7, 4, _T("PIV\0"), 131072, 91, 0, 0, ROMTYPE_PIV, 0, 0, NULL,
+       0xa8133e7e, 0xcafafb91,0x6f16b9f3,0xec9b49aa,0x4b40eb4e,0xeceb5b5b },
+
        { _T("Arcadia OnePlay 2.11"), 0, 0, 0, 0, _T("ARCADIA\0"), 0, 49, 0, 0, ROMTYPE_ARCADIABIOS, 0, 0 },
        { _T("Arcadia TenPlay 2.11"), 0, 0, 0, 0, _T("ARCADIA\0"), 0, 50, 0, 0, ROMTYPE_ARCADIABIOS, 0, 0 },
        { _T("Arcadia TenPlay 2.20"), 0, 0, 0, 0, _T("ARCADIA\0"), 0, 75, 0, 0, ROMTYPE_ARCADIABIOS, 0, 0 },