diff --git a/src/burn/drv/capcom/cps.cpp b/src/burn/drv/capcom/cps.cpp index 5f88e1ddc2..48d178ff8f 100644 --- a/src/burn/drv/capcom/cps.cpp +++ b/src/burn/drv/capcom/cps.cpp @@ -1922,9 +1922,11 @@ static INT32 CpsGetROMs(bool bLoad) } INT32 i = 0; + INT32 nLoadedRoms = 1; do { ri.nLen = 0; ri.nType = 0; + nLoadedRoms = 1; BurnDrvGetRomInfo(&ri, i); if ((ri.nType & 0x0f) == CPS2_PRG_68K) { @@ -1934,7 +1936,6 @@ static INT32 CpsGetROMs(bool bLoad) } else { nCpsRomLen += ri.nLen; } - i++; } if ((ri.nType & 0x0f) == CPS2_PRG_68K_SIMM) { @@ -1942,10 +1943,9 @@ static INT32 CpsGetROMs(bool bLoad) if (BurnLoadRom(CpsRomLoad + 0x000001, i + 0, 2)) return 1; if (BurnLoadRom(CpsRomLoad + 0x000000, i + 1, 2)) return 1; CpsRomLoad += ri.nLen * 2; - i += 2; + nLoadedRoms = 2; } else { nCpsRomLen += ri.nLen; - i++; } } @@ -1956,14 +1956,13 @@ static INT32 CpsGetROMs(bool bLoad) } else { nCpsCodeLen += ri.nLen; } - i++; } if ((ri.nType & 0x0f) == CPS2_GFX) { if (bLoad) { Cps2LoadTiles(CpsGfxLoad, i); CpsGfxLoad += (nGfxMaxSize == ~0U ? ri.nLen : nGfxMaxSize) * 4; - i += 4; + nLoadedRoms = 4; } else { if (ri.nLen > nGfxMaxSize) { nGfxMaxSize = ri.nLen; @@ -1973,7 +1972,6 @@ static INT32 CpsGetROMs(bool bLoad) } nCpsGfxLen += ri.nLen; nGfxNum++; - i++; } } @@ -1981,10 +1979,9 @@ static INT32 CpsGetROMs(bool bLoad) if (bLoad) { Cps2LoadTilesSIM(CpsGfxLoad, i); CpsGfxLoad += ri.nLen * 8; - i += 8; + nLoadedRoms = 8; } else { nCpsGfxLen += ri.nLen; - i++; } } @@ -1992,7 +1989,7 @@ static INT32 CpsGetROMs(bool bLoad) if (bLoad) { Cps2LoadTilesSplit4(CpsGfxLoad, i); CpsGfxLoad += (nGfxMaxSize == ~0U ? ri.nLen : nGfxMaxSize) * 16; - i += 16; + nLoadedRoms = 16; } else { if (ri.nLen > nGfxMaxSize) { nGfxMaxSize = ri.nLen; @@ -2002,7 +1999,6 @@ static INT32 CpsGetROMs(bool bLoad) } nCpsGfxLen += ri.nLen; nGfxNum++; - i++; } } @@ -2010,7 +2006,7 @@ static INT32 CpsGetROMs(bool bLoad) if (bLoad) { Cps2LoadTilesSplit8(CpsGfxLoad, i); CpsGfxLoad += (nGfxMaxSize == ~0U ? ri.nLen : nGfxMaxSize) * 32; - i += 32; + nLoadedRoms = 32; } else { if (ri.nLen > nGfxMaxSize) { nGfxMaxSize = ri.nLen; @@ -2020,7 +2016,6 @@ static INT32 CpsGetROMs(bool bLoad) } nCpsGfxLen += ri.nLen; nGfxNum++; - i++; } } @@ -2028,15 +2023,14 @@ static INT32 CpsGetROMs(bool bLoad) if (bLoad) { Cps2LoadTiles19xxj(CpsGfxLoad, i); CpsGfxLoad += (nGfxMaxSize == ~0U ? ri.nLen : nGfxMaxSize) * 20; - i += 20; + nLoadedRoms = 20; } else { nGfxMaxSize = 0xcd000; nCpsGfxLen += ri.nLen; nGfxNum++; - i++; } } - + if ((ri.nType & 0x0f) == CPS2_PRG_Z80) { if (bLoad) { BurnLoadRom(CpsZRomLoad, i, 1); @@ -2044,7 +2038,6 @@ static INT32 CpsGetROMs(bool bLoad) } else { nCpsZRomLen += ri.nLen; } - i++; } if ((ri.nType & 0x0f) == CPS2_QSND) { @@ -2055,7 +2048,6 @@ static INT32 CpsGetROMs(bool bLoad) } else { nCpsQSamLen += ri.nLen; } - i++; } if ((ri.nType & 0x0f) == CPS2_QSND_SIMM) { @@ -2066,17 +2058,15 @@ static INT32 CpsGetROMs(bool bLoad) } else { nCpsQSamLen += ri.nLen; } - i++; } if ((ri.nType & 0x0f) == CPS2_QSND_SIMM_BYTESWAP) { if (bLoad) { BurnLoadRom(CpsQSamLoad + 1, i + 0, 2); BurnLoadRom(CpsQSamLoad + 0, i + 1, 2); - i += 2; + nLoadedRoms = 2; } else { nCpsQSamLen += ri.nLen; - i++; } } @@ -2087,8 +2077,9 @@ static INT32 CpsGetROMs(bool bLoad) } else { nCpsKeyLen += ri.nLen; } - i++; } + i += nLoadedRoms; + } while (ri.nLen); if (bLoad) { diff --git a/src/burn/drv/capcom/d_cps1.cpp b/src/burn/drv/capcom/d_cps1.cpp index c832c7f5f6..2968d9f5a7 100644 --- a/src/burn/drv/capcom/d_cps1.cpp +++ b/src/burn/drv/capcom/d_cps1.cpp @@ -5170,7 +5170,7 @@ STDDIPINFOEXT(SlammastQS, Slammast, SlammastQSound) STDDIPINFOEXT(Captcommhs, Captcomm, Captcommhs ) STDDIPINFOEXT(Dinohs, Dino, Dinohs ) STDDIPINFOEXT(Ffighths, Ffight, Ffighths ) -STDDIPINFOEXT(Knightshs, Knights, Knightshs ) +STDDIPINFOEXT(Knightshs, Knights, Knightshs ) STDDIPINFOEXT(Punisherhs, Punisher, Punisherhs ) STDDIPINFOEXT(Wofhs, Wof, Wofhs ) @@ -26079,8 +26079,8 @@ static struct BurnRomInfo CaptcommhsRomDesc[] = { /* Incubus - 20230224 */ { "cce_my.bin", 0x300000, 0x13c0c791, BRF_ESS | BRF_PRG }, // 23 CPS1_68K_PROGRAM_NO_BYTESWAP - /* Unlimited Bullet - 20210428 */ - { "cce_wx.bin", 0x300000, 0x765ad7bf, BRF_ESS | BRF_PRG }, // 24 CPS1_68K_PROGRAM_NO_BYTESWAP + /* Unlimited Bullet - 20230903 */ + { "cce_wx.bin", 0x300000, 0xfd52ec4d, BRF_ESS | BRF_PRG }, // 24 CPS1_68K_PROGRAM_NO_BYTESWAP /* Journey - 20201211 */ { "cce_zt.bin", 0x300000, 0x84746744, BRF_ESS | BRF_PRG }, // 25 CPS1_68K_PROGRAM_NO_BYTESWAP diff --git a/src/burn/drv/capcom/d_cps2.cpp b/src/burn/drv/capcom/d_cps2.cpp index cba1e108ae..debf2e3e11 100644 --- a/src/burn/drv/capcom/d_cps2.cpp +++ b/src/burn/drv/capcom/d_cps2.cpp @@ -7387,11 +7387,8 @@ STD_ROM_PICK(Ssf2u) STD_ROM_FN(Ssf2u) static struct BurnRomInfo Ssf2us2RomDesc[] = { -#if !defined ROM_VERIFY + { "ssfu.03a", 0x080000, 0x72f29c33, BRF_OPT }, // has the standard ROM { "super stf 2 super ii rom-08 usa", 0x080000, 0xd48d35c9, CPS2_PRG_68K | BRF_ESS | BRF_PRG }, // the bootleg one seems to be overlayed -# else - { "ssfu.03a", 0x080000, 0x72f29c33, CPS2_PRG_68K | BRF_ESS | BRF_PRG }, // has the standard ROM -#endif { "ssfu.04a", 0x080000, 0x935cea44, CPS2_PRG_68K | BRF_ESS | BRF_PRG }, { "ssfu.05", 0x080000, 0xa0acb28a, CPS2_PRG_68K | BRF_ESS | BRF_PRG }, { "ssfu.06", 0x080000, 0x47413dcf, CPS2_PRG_68K | BRF_ESS | BRF_PRG }, diff --git a/src/burn/drv/konami/d_tmnt.cpp b/src/burn/drv/konami/d_tmnt.cpp index 4fb6dce03b..142d5ab64c 100644 --- a/src/burn/drv/konami/d_tmnt.cpp +++ b/src/burn/drv/konami/d_tmnt.cpp @@ -1,4 +1,4 @@ -// FB Alpha Teenage Mutant Ninja Turtle driver module +// FB Neo Teenage Mutant Ninja Turtle driver module // Based on MAME driver by Nicola Salmoria #include "tiles_generic.h" @@ -102,6 +102,8 @@ static const eeprom_interface thndrx2_eeprom_interface = 0 }; +static UINT8 VerSwitcher = 0; // Fake Dip + static struct BurnInputInfo TmntInputList[] = { {"P1 Coin" , BIT_DIGITAL , DrvInputPort0 + 0, "p1 coin" }, @@ -280,6 +282,12 @@ static struct BurnInputInfo Ssriders4pInputList[] = STDINPUTINFO(Ssriders4p) +static struct BurnInputInfo VerSwitchInputList[] = { + {"Dip Ex" , BIT_DIPSWITCH , &VerSwitcher , "dip" }, // 22 +}; + +STDINPUTINFOEXT(Ssriders4pVerSw, Ssriders4p, VerSwitch) + static struct BurnInputInfo SsridersInputList[] = { {"P1 Coin" , BIT_DIGITAL , DrvInputPort0 + 0, "p1 coin" }, @@ -552,6 +560,21 @@ static inline void SsridersMakeInputs() //if (DrvInputPort5[7]) DrvInput[5] -= 0x80; } +static struct BurnDIPInfo SsridershsDIPList[] = +{ + DIP_OFFSET(0x22) + + // Fake DIPs + {0x00, 0xff, 0xff, 0x00, NULL }, // 1v4 + + {0, 0xfe, 0, 3, "Version change (Must reload)" }, + {0x00, 0x01, 0x03, 0x00, "1v4" }, + {0x00, 0x01, 0x03, 0x01, "Firepower" }, + {0x00, 0x01, 0x03, 0x02, "Second Round" }, +}; + +STDDIPINFO(Ssridershs) + static struct BurnDIPInfo TmntDIPList[]= { // Default Values @@ -4646,19 +4669,23 @@ static void CuebrickYM2151IrqHandler(INT32 Irq) CuebrickSndIrqFire = Irq; } +#define BurnAllocMemIndexEx(Name) do { \ + Mem = NULL; \ + Name##MemIndex(); \ + INT32 nLen = MemEnd - (UINT8 *)0; \ + if ((Mem = (UINT8 *)BurnMalloc(nLen)) == NULL) return 1; \ + memset(Mem, 0, nLen); \ + Name##MemIndex(); \ +} while (0) + static INT32 TmntInit() { GenericTilesInit(); - INT32 nRet = 0, nLen; + INT32 nRet = 0; // Allocate and Blank all required memory - Mem = NULL; - TmntMemIndex(); - nLen = MemEnd - (UINT8 *)0; - if ((Mem = (UINT8 *)BurnMalloc(nLen)) == NULL) return 1; - memset(Mem, 0, nLen); - TmntMemIndex(); + BurnAllocMemIndexEx(Tmnt); K052109Init(DrvTileRom, DrvTiles, 0x0fffff); K052109SetCallback(K052109TmntCallback); @@ -4761,15 +4788,10 @@ static INT32 MiaInit() { GenericTilesInit(); - INT32 nRet = 0, nLen; + INT32 nRet = 0; // Allocate and Blank all required memory - Mem = NULL; - MiaMemIndex(); - nLen = MemEnd - (UINT8 *)0; - if ((Mem = (UINT8 *)BurnMalloc(nLen)) == NULL) return 1; - memset(Mem, 0, nLen); - MiaMemIndex(); + BurnAllocMemIndexEx(Mia); K052109Init(DrvTileRom, DrvTiles, 0x03ffff); K052109SetCallback(K052109MiaCallback); @@ -4857,15 +4879,10 @@ static INT32 CuebrickInit() { GenericTilesInit(); - INT32 nRet = 0, nLen; + INT32 nRet = 0; // Allocate and Blank all required memory - Mem = NULL; - CuebrickMemIndex(); - nLen = MemEnd - (UINT8 *)0; - if ((Mem = (UINT8 *)BurnMalloc(nLen)) == NULL) return 1; - memset(Mem, 0, nLen); - CuebrickMemIndex(); + BurnAllocMemIndexEx(Cuebrick); K052109Init(DrvTileRom, DrvTiles, 0x03ffff); K052109SetCallback(K052109CuebrickCallback); @@ -4925,15 +4942,10 @@ static INT32 BlswhstlInit() { GenericTilesInit(); - INT32 nRet = 0, nLen; + INT32 nRet = 0; // Allocate and Blank all required memory - Mem = NULL; - BlswhstlMemIndex(); - nLen = MemEnd - (UINT8 *)0; - if ((Mem = (UINT8 *)BurnMalloc(nLen)) == NULL) return 1; - memset(Mem, 0, nLen); - BlswhstlMemIndex(); + BurnAllocMemIndexEx(Blswhstl); K052109Init(DrvTileRom, DrvTiles, 0x0fffff); K052109SetCallback(K052109BlswhstlCallback); @@ -5015,15 +5027,10 @@ static INT32 SsridersInit() { GenericTilesInit(); - INT32 nRet = 0, nLen; + INT32 nRet = 0; // Allocate and Blank all required memory - Mem = NULL; - SsridersMemIndex(); - nLen = MemEnd - (UINT8 *)0; - if ((Mem = (UINT8 *)BurnMalloc(nLen)) == NULL) return 1; - memset(Mem, 0, nLen); - SsridersMemIndex(); + BurnAllocMemIndexEx(Ssriders); K052109Init(DrvTileRom, DrvTiles, 0x0fffff); K052109SetCallback(K052109TmntCallback); @@ -5102,15 +5109,10 @@ static INT32 Thndrx2Init() { GenericTilesInit(); - INT32 nRet = 0, nLen; + INT32 nRet = 0; // Allocate and Blank all required memory - Mem = NULL; - Thndrx2MemIndex(); - nLen = MemEnd - (UINT8 *)0; - if ((Mem = (UINT8 *)BurnMalloc(nLen)) == NULL) return 1; - memset(Mem, 0, nLen); - Thndrx2MemIndex(); + BurnAllocMemIndexEx(Thndrx2); K052109Init(DrvTileRom, DrvTiles, 0x0fffff); K052109SetCallback(K052109TmntCallback); @@ -5186,15 +5188,10 @@ static INT32 LgtnfghtInit() { GenericTilesInit(); - INT32 nRet = 0, nLen; + INT32 nRet = 0; // Allocate and Blank all required memory - Mem = NULL; - LgtnfghtMemIndex(); - nLen = MemEnd - (UINT8 *)0; - if ((Mem = (UINT8 *)BurnMalloc(nLen)) == NULL) return 1; - memset(Mem, 0, nLen); - LgtnfghtMemIndex(); + BurnAllocMemIndexEx(Lgtnfght); K052109Init(DrvTileRom, DrvTiles, 0x0fffff); K052109SetCallback(K052109TmntCallback); @@ -5273,15 +5270,10 @@ static INT32 Tmnt2Init() { GenericTilesInit(); - INT32 nRet = 0, nLen; + INT32 nRet = 0; // Allocate and Blank all required memory - Mem = NULL; - Tmnt2MemIndex(); - nLen = MemEnd - (UINT8 *)0; - if ((Mem = (UINT8 *)BurnMalloc(nLen)) == NULL) return 1; - memset(Mem, 0, nLen); - Tmnt2MemIndex(); + BurnAllocMemIndexEx(Tmnt2); K052109Init(DrvTileRom, DrvTiles, 0x0fffff); K052109SetCallback(K052109TmntCallback); @@ -5368,15 +5360,10 @@ static INT32 QgakumonInit() { GenericTilesInit(); - INT32 nRet = 0, nLen; + INT32 nRet = 0; // Allocate and Blank all required memory - Mem = NULL; - Tmnt2MemIndex(); - nLen = MemEnd - (UINT8 *)0; - if ((Mem = (UINT8 *)BurnMalloc(nLen)) == NULL) return 1; - memset(Mem, 0, nLen); - Tmnt2MemIndex(); + BurnAllocMemIndexEx(Tmnt2); K052109Init(DrvTileRom, DrvTiles, 0x0fffff); K052109SetCallback(K052109TmntCallback); @@ -5459,15 +5446,10 @@ static INT32 PunkshotInit() { GenericTilesInit(); - INT32 nRet = 0, nLen; + INT32 nRet = 0; // Allocate and Blank all required memory - Mem = NULL; - PunkshotMemIndex(); - nLen = MemEnd - (UINT8 *)0; - if ((Mem = (UINT8 *)BurnMalloc(nLen)) == NULL) return 1; - memset(Mem, 0, nLen); - PunkshotMemIndex(); + BurnAllocMemIndexEx(Punkshot); K052109Init(DrvTileRom, DrvTiles, 0x07ffff); K052109SetCallback(K052109TmntCallback); @@ -5535,6 +5517,8 @@ static INT32 PunkshotInit() return 0; } +#undef BurnAllocMemIndexEx + static INT32 CommonExit() { SekExit(); @@ -7065,3 +7049,85 @@ struct BurnDriver BurnDrvPunkshotj = { PunkshotInit, PunkshotExit, PunkshotFrame, PunkshotDraw, Thndrx2aScan, NULL, 0x800, 288, 224, 4, 3 }; + +// ----------------------------------------------------------------------------- +// Sunset Riders Hack Series +// ----------------------------------------------------------------------------- + +static struct BurnRomInfo SsridershsRomDesc[] = { + /* 1v4 - 20190729 */ + { "064eac02_1v4.8e", 0x040000, 0xf6bce510, BRF_ESS | BRF_PRG }, // 0 68000 Program Code + { "064eac03_1v4.8g", 0x040000, 0x9e998ebe, BRF_ESS | BRF_PRG }, // 1 + { "064eab04_1v4.10e", 0x020000, 0x06755c89, BRF_ESS | BRF_PRG }, // 2 + { "064eab05_1v4.10g", 0x020000, 0x0aad4619, BRF_ESS | BRF_PRG }, // 3 + + { "064e01.2f", 0x010000, 0x44b9bc52, BRF_ESS | BRF_PRG }, // 4 Z80 Program + + { "064e12.16k", 0x080000, 0xe2bdc619, BRF_GRA }, // 5 Tiles + { "064e11.12k", 0x080000, 0x2d8ca8b0, BRF_GRA }, // 6 + + { "064e09.7l", 0x100000, 0x4160c372, BRF_GRA }, // 7 Sprites + { "064e07.3l", 0x100000, 0x64dd673c, BRF_GRA }, // 8 + + { "064e06.1d", 0x100000, 0x59810df9, BRF_SND }, // 9 K053260 Samples + + { "ssriders_eac.nv", 0x000080, 0xf6d641a7, BRF_OPT }, // 10 + + /* Firepower - 20220627 */ + { "064eac02_fp.8e", 0x040000, 0xec967819, BRF_ESS | BRF_PRG }, // 11 68000 Program Code + { "064eac03_fp.8g", 0x040000, 0x11437187, BRF_ESS | BRF_PRG }, // 12 + { "064eab04_fp.10e", 0x020000, 0xf21e4481, BRF_ESS | BRF_PRG }, // 13 + { "064eab05_fp.10g", 0x020000, 0x81de0fd8, BRF_ESS | BRF_PRG }, // 14 + + /* Second Round - 20190420 */ + { "064eac02_sr.8e", 0x040000, 0x734f4b4c, BRF_ESS | BRF_PRG }, // 15 68000 Program Code + { "064eac03_sr.8g", 0x040000, 0xd50e01fd, BRF_ESS | BRF_PRG }, // 16 + { "064eab04_sr.10e", 0x020000, 0x56bb2e75, BRF_ESS | BRF_PRG }, // 17 +// { "064eab05_sr.10g", 0x020000, 0x0aad4619, BRF_ESS | BRF_PRG }, // 18 +}; + +STD_ROM_PICK(Ssridershs) +STD_ROM_FN(Ssridershs) + +static INT32 SsridershsInit() +{ + nBurnDrvSubActive = (VerSwitcher & 0x03); + + switch (nBurnDrvSubActive) { + case 0x00: + pszCustomNameA = "Sunset Riders - 1v4 (Hack)\0"; + break; + + case 0x01: + pszCustomNameA = "Sunset Riders - Firepower (Hack)\0"; + break; + + case 0x02: + pszCustomNameA = "Sunset Riders - Second Round (Hack)\0"; + } + + INT32 nRet = SsridersInit(); + + if ((0 == nRet) && nBurnDrvSubActive) { + INT32 nIndex = (0x01 == nBurnDrvSubActive) ? 11 : 15; + memset(Drv68KRom, 0, 0x0c0000); + // Load and byte-swap 68000 Program roms + if (0 != BurnLoadRom(Drv68KRom + 0x000001, nIndex + 0, 2)) return 1; + if (0 != BurnLoadRom(Drv68KRom + 0x000000, nIndex + 1, 2)) return 1; + if (0 != BurnLoadRom(Drv68KRom + 0x080001, nIndex + 2, 2)) return 1; + if (0x02 == nBurnDrvSubActive) nIndex = 0; // 064eab05_sr.10g == 064eab05_1v4.10g + if (0 != BurnLoadRom(Drv68KRom + 0x080000, nIndex + 3, 2)) return 1; + } + + return nRet; +} + +struct BurnDriver BurnDrvSsridershs = { + "ssridershs", "ssriders", NULL, NULL, "2019-2020", + "Sunset Riders (Hack Series)\0", "Other versions are selected in the dipswitch", "hack", "GX064", + NULL, NULL, NULL, NULL, + BDF_GAME_WORKING | BDF_CLONE | BDF_HACK | BDF_HISCORE_SUPPORTED, 4, HARDWARE_KONAMI_68K_Z80, GBF_RUNGUN, 0, + NULL, SsridershsRomInfo, SsridershsRomName, NULL, NULL, NULL, NULL, Ssriders4pVerSwInputInfo, SsridershsDIPInfo, + SsridershsInit, BlswhstlExit, SsridersFrame, BlswhstlDraw, SsridersScan, + NULL, 0x810, 288, 224, 4, 3 +}; diff --git a/src/burn/drv/konami/d_twin16.cpp b/src/burn/drv/konami/d_twin16.cpp index 39f03c607a..88b71f39d6 100644 --- a/src/burn/drv/konami/d_twin16.cpp +++ b/src/burn/drv/konami/d_twin16.cpp @@ -1,4 +1,4 @@ -// FB Alpha Twin16 driver module +// FB Neo Twin16 driver module // Based on MAME driver by Phil Stroffolino #include "tiles_generic.h" @@ -836,7 +836,7 @@ static INT32 DrvDoReset() { DrvReset = 0; - memset (AllRam, 0, RamEnd - AllRam); + memset(AllRam, 0, RamEnd - AllRam); SekOpen(0); SekReset(); @@ -938,7 +938,7 @@ static void gfxdecode() dst[i * 2 + 0] = src[i + 0x80000]; dst[i * 2 + 1] = src[i + 0x00000]; } - memcpy (src, dst, 0x200000); + memcpy(src, dst, 0x200000); BurnFree(dst); } @@ -954,12 +954,7 @@ static INT32 load68k(UINT8 *rom, INT32 offs) static INT32 DrvInit(INT32 (pLoadCallback)()) { - AllMem = NULL; - MemIndex(); - INT32 nLen = MemEnd - (UINT8 *)0; - if ((AllMem = (UINT8 *)BurnMalloc(nLen)) == NULL) return 1; - memset(AllMem, 0, nLen); - MemIndex(); + BurnAllocMemIndex(); { if (pLoadCallback != NULL) { @@ -1053,7 +1048,7 @@ static INT32 DrvExit() UPD7759Exit(); BurnYM2151Exit(); - BurnFree (AllMem); + BurnFreeMemIndex(); is_cuebrick = 0; is_vulcan = 0; @@ -1375,7 +1370,7 @@ static INT32 DrvFrame() ZetNewFrame(); // upd7759 { - memset (DrvInputs, 0xff, sizeof(DrvInputs)); + memset(DrvInputs, 0xff, sizeof(DrvInputs)); for (INT32 i = 0; i < 16; i++) { @@ -1452,7 +1447,7 @@ static INT32 DrvFrame() } if (!is_devilw) { - memcpy (DrvSprBuf, DrvSprRAM, 0x4000); + memcpy(DrvSprBuf, DrvSprRAM, 0x4000); } return 0; @@ -1837,7 +1832,7 @@ struct BurnDriver BurnDrvVulcanb = { }; -// Gradius II - GOFER no Yabou (Japan New ver.) +// Gradius II - GOFER no Yabou (Japan New Ver.) static struct BurnRomInfo gradius2RomDesc[] = { { "785_x05.6n", 0x10000, 0x8a23a7b8, 1 | BRF_PRG | BRF_ESS }, // 0 68K #0 Code @@ -1869,8 +1864,8 @@ STD_ROM_FN(gradius2) struct BurnDriver BurnDrvGradius2 = { "gradius2", "vulcan", NULL, NULL, "1988", - "Gradius II - GOFER no Yabou (Japan New ver.)\0", NULL, "Konami", "GX785", - L"Gradius II - GOFER \u306E\u91CE\u671B (Japan New ver.)\0", NULL, NULL, NULL, + "Gradius II - GOFER no Yabou (Japan New Ver.)\0", NULL, "Konami", "GX785", + L"Gradius II - GOFER \u306E\u91CE\u671B (Japan New Ver.)\0", NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_HISCORE_SUPPORTED, 2, HARDWARE_PREFIX_KONAMI, GBF_HORSHOOT, 0, NULL, gradius2RomInfo, gradius2RomName, NULL, NULL, NULL, NULL, DrvInputInfo, Gradius2DIPInfo, vulcanInit, DrvExit, DrvFrame, DrvDraw, DrvScan, &DrvRecalc, 0x400, @@ -1878,7 +1873,7 @@ struct BurnDriver BurnDrvGradius2 = { }; -// Gradius II - GOFER no Yabou (Japan Old ver.) +// Gradius II - GOFER no Yabou (Japan Old Ver.) static struct BurnRomInfo gradius2aRomDesc[] = { { "785_p05.6n", 0x10000, 0x4db0e736, 1 | BRF_PRG | BRF_ESS }, // 0 68K #0 Code @@ -1910,8 +1905,8 @@ STD_ROM_FN(gradius2a) struct BurnDriver BurnDrvGradius2a = { "gradius2a", "vulcan", NULL, NULL, "1988", - "Gradius II - GOFER no Yabou (Japan Old ver.)\0", NULL, "Konami", "GX785", - L"Gradius II - GOFER \u306E\u91CE\u671B (Japan Old ver.)\0", NULL, NULL, NULL, + "Gradius II - GOFER no Yabou (Japan Old Ver.)\0", NULL, "Konami", "GX785", + L"Gradius II - GOFER \u306E\u91CE\u671B (Japan Old Ver.)\0", NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_HISCORE_SUPPORTED, 2, HARDWARE_PREFIX_KONAMI, GBF_HORSHOOT, 0, NULL, gradius2aRomInfo, gradius2aRomName, NULL, NULL, NULL, NULL, DrvInputInfo, VulcanDIPInfo, vulcanInit, DrvExit, DrvFrame, DrvDraw, DrvScan, &DrvRecalc, 0x400, @@ -1919,7 +1914,7 @@ struct BurnDriver BurnDrvGradius2a = { }; -// Gradius II - GOFER no Yabou (Japan Older ver.) +// Gradius II - GOFER no Yabou (Japan Older Ver.) static struct BurnRomInfo gradius2bRomDesc[] = { { "785_p05.6n", 0x10000, 0x4db0e736, 1 | BRF_PRG | BRF_ESS }, // 0 68K #0 Code @@ -1951,8 +1946,8 @@ STD_ROM_FN(gradius2b) struct BurnDriver BurnDrvGradius2b = { "gradius2b", "vulcan", NULL, NULL, "1988", - "Gradius II - GOFER no Yabou (Japan Older ver.)\0", NULL, "Konami", "GX785", - L"Gradius II - GOFER \u306E\u91CE\u671B (Japan Older ver.)\0", NULL, NULL, NULL, + "Gradius II - GOFER no Yabou (Japan Older Ver.)\0", NULL, "Konami", "GX785", + L"Gradius II - GOFER \u306E\u91CE\u671B (Japan Older Ver.)\0", NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_HISCORE_SUPPORTED, 2, HARDWARE_PREFIX_KONAMI, GBF_HORSHOOT, 0, NULL, gradius2bRomInfo, gradius2bRomName, NULL, NULL, NULL, NULL, DrvInputInfo, VulcanDIPInfo, vulcanInit, DrvExit, DrvFrame, DrvDraw, DrvScan, &DrvRecalc, 0x400, @@ -1960,7 +1955,7 @@ struct BurnDriver BurnDrvGradius2b = { }; -// The Final Round (ver. M) +// The Final Round (version M) static struct BurnRomInfo froundRomDesc[] = { { "870_m21.bin", 0x20000, 0x436dbffb, 1 | BRF_PRG | BRF_ESS }, // 0 68K #0 Code @@ -1978,6 +1973,8 @@ static struct BurnRomInfo froundRomDesc[] = { { "870_c01.5a", 0x20000, 0x6af96546, 7 | BRF_GRA }, // 8 K007232 Samples { "870_c02.7c", 0x20000, 0x54e12c6d, 8 | BRF_GRA }, // 9 UPD7759 Samples + + { "63s141n.e16", 0x00100, 0xed87c1f1, 0 | BRF_OPT }, // 10 Proms / priority (not used) }; STD_ROM_PICK(fround) @@ -2012,7 +2009,7 @@ static INT32 froundInit() struct BurnDriver BurnDrvFround = { "fround", NULL, NULL, NULL, "1988", - "The Final Round (ver. M)\0", NULL, "Konami", "GX870", + "The Final Round (version M)\0", NULL, "Konami", "GX870", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_HISCORE_SUPPORTED, 2, HARDWARE_PREFIX_KONAMI, GBF_SPORTSMISC, 0, NULL, froundRomInfo, froundRomName, NULL, NULL, NULL, NULL, DrvInputInfo, FroundDIPInfo, @@ -2021,7 +2018,7 @@ struct BurnDriver BurnDrvFround = { }; -// The Final Round (ver. L) +// The Final Round (version L) static struct BurnRomInfo froundlRomDesc[] = { { "870_l21.bin", 0x20000, 0xe21a3a19, 1 | BRF_PRG | BRF_ESS }, // 0 68K #0 Code @@ -2039,6 +2036,8 @@ static struct BurnRomInfo froundlRomDesc[] = { { "870_c01.5a", 0x20000, 0x6af96546, 7 | BRF_GRA }, // 8 K007232 Samples { "870_c02.7c", 0x20000, 0x54e12c6d, 8 | BRF_GRA }, // 9 UPD7759 Samples + + { "63s141n.e16", 0x00100, 0xed87c1f1, 0 | BRF_OPT }, // 10 Proms / priority (not used) }; STD_ROM_PICK(froundl) @@ -2046,7 +2045,7 @@ STD_ROM_FN(froundl) struct BurnDriver BurnDrvFroundl = { "froundl", "fround", NULL, NULL, "1988", - "The Final Round (ver. L)\0", NULL, "Konami", "GX870", + "The Final Round (version L)\0", NULL, "Konami", "GX870", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_HISCORE_SUPPORTED, 2, HARDWARE_PREFIX_KONAMI, GBF_SPORTSMISC, 0, NULL, froundlRomInfo, froundlRomName, NULL, NULL, NULL, NULL, DrvInputInfo, FroundDIPInfo, @@ -2078,6 +2077,8 @@ static struct BurnRomInfo hpuncherRomDesc[] = { { "870_c01.5a", 0x20000, 0x6af96546, 7 | BRF_GRA }, // 12 K007232 Samples { "870_c02.7c", 0x20000, 0x54e12c6d, 8 | BRF_GRA }, // 13 UPD7759 Samples + + { "63s141n.e16", 0x00100, 0xed87c1f1, 0 | BRF_OPT }, // 14 Proms / priority (not used) }; STD_ROM_PICK(hpuncher) diff --git a/src/burn/drv/neogeo/d_neogeo.cpp b/src/burn/drv/neogeo/d_neogeo.cpp index fc9c6d218a..a29116070f 100644 --- a/src/burn/drv/neogeo/d_neogeo.cpp +++ b/src/burn/drv/neogeo/d_neogeo.cpp @@ -17710,12 +17710,12 @@ struct BurnDriver BurnDrvSamsho2sp = { 0x1000, 320, 224, 4, 3 }; -// Samurai Shodown II Perfect Hack v. 1.3 - 2023-09-13 +// Samurai Shodown II Perfect Hack v. 1.3 - 2023-09-22 static struct BurnRomInfo samsho2peRomDesc[] = { - { "063-p1pe.p1", 0x100000, 0x206f13ed, 1 | BRF_ESS | BRF_PRG }, // 0 68K code - { "063-p2pe.sp2", 0x100000, 0xabc44174, 1 | BRF_ESS | BRF_PRG }, // 1 - { "063-p3pe.p3", 0x020000, 0x4ceb9f16, 1 | BRF_ESS | BRF_PRG }, // 2 Extra ROM + { "063-p1pe.p1", 0x100000, 0x5f557468, 1 | BRF_ESS | BRF_PRG }, // 0 68K code + { "063-p2pe.sp2", 0x100000, 0x94a00f0f, 1 | BRF_ESS | BRF_PRG }, // 1 + { "063-p3pe.p3", 0x020000, 0x17fffc2a, 1 | BRF_ESS | BRF_PRG }, // 2 Extra ROM SAMSHO2_COMPONENT }; @@ -20522,7 +20522,7 @@ struct BurnDriver BurnDrvkof2000bc = { // The King of Fighters 2001 - Boss (Hack) -// GOTVG 20101223 +// The King of Fighters 2001 - Ultimate (Hack) static struct BurnRomInfo kof2k1bsRomDesc[] = { /* Boss Hack - 20101223 */ @@ -20542,25 +20542,27 @@ static struct BurnRomInfo kof2k1bsRomDesc[] = { KOF2001_DECRYPTION_SOUND - /* Ultimate - 20230606 */ - { "262-p1ult.p1", 0x100000, 0xaed528a4, 0 | BRF_ESS | BRF_PRG }, // 16 68K code - { "262-p2ult.sp2", 0x500000, 0x2e1c48b6, 0 | BRF_ESS | BRF_PRG }, // 17 + /* Ultimate - 20230909 */ + { "262-p1ult.p1", 0x100000, 0x91d33616, 0 | BRF_ESS | BRF_PRG }, // 16 68K code + { "262-p2ult.sp2", 0x500000, 0xe9dea4c2, 0 | BRF_ESS | BRF_PRG }, // 17 { "262-s1ult.s1", 0x020000, 0xe8cb20be, 0 | BRF_GRA }, // 18 Text layer tiles - { "262-c7ult.c7", 0x800000, 0xcd11861e, 0 | BRF_GRA }, // 19 - { "262-c8ult.c8", 0x800000, 0xc0e84cc1, 0 | BRF_GRA }, // 20 - { "262-c9ult.c9", 0x800000, 0x61d8520b, 0 | BRF_GRA }, // 21 - { "262-c10ult.c10", 0x800000, 0x3cf38156, 0 | BRF_GRA }, // 22 - { "265-c7d.c7", 0x800000, 0x8a5b561c, 0 | BRF_GRA }, // 23 - { "265-c8d.c8", 0x800000, 0xbef667a3, 0 | BRF_GRA }, // 24 - { "262-c13dlt.c13", 0x800000, 0x40f7bd65, 0 | BRF_GRA }, // 25 - { "262-c14ult.c14", 0x800000, 0x2471c450, 0 | BRF_GRA }, // 26 + { "262-c5ult.c5", 0x800000, 0xb47e4f8d, 0 | BRF_GRA }, // 19 + { "262-c6ult.c6", 0x800000, 0xac5f2083, 0 | BRF_GRA }, // 20 + { "262-c7ult.c7", 0x800000, 0xcd11861e, 0 | BRF_GRA }, // 21 + { "262-c8ult.c8", 0x800000, 0xc0e84cc1, 0 | BRF_GRA }, // 22 + { "262-c9ult.c9", 0x800000, 0xf031a797, 0 | BRF_GRA }, // 23 + { "262-c10ult.c10", 0x800000, 0x457c7faf, 0 | BRF_GRA }, // 24 + { "265-c7d.c7", 0x800000, 0x8a5b561c, 0 | BRF_GRA }, // 25 + { "265-c8d.c8", 0x800000, 0xbef667a3, 0 | BRF_GRA }, // 26 + { "262-c13dlt.c13", 0x800000, 0x40f7bd65, 0 | BRF_GRA }, // 27 + { "262-c14ult.c14", 0x800000, 0x2471c450, 0 | BRF_GRA }, // 28 - { "262-m1ult.m1", 0x040000, 0xbca3e52e, 0 | BRF_ESS | BRF_PRG }, // 27 Z80 code + { "262-m1ult.m1", 0x020000, 0xafc792fd, 0 | BRF_ESS | BRF_PRG }, // 29 Z80 code - { "262-v4ult-08-e0.v4", 0x400000, 0x55602d94, 0 | BRF_SND }, // 28 Sound data - { "262-v5ult-08-e0.v5", 0x400000, 0x6ded9758, 0 | BRF_SND }, // 29 + { "262-v4ult-08-e0.v4", 0x400000, 0x55602d94, 0 | BRF_SND }, // 30 Sound data + { "262-v5ult-08-e0.v5", 0x400000, 0x6ded9758, 0 | BRF_SND }, // 31 }; STDROMPICKEXT(kof2k1bs, kof2k1bs, neogeo) @@ -20573,12 +20575,12 @@ static void kof2k1bsCallback() RomDiffPatch(NeoTextROM[nNeoActiveSlot], 18, 0, 1); // Text layer tiles - for (INT32 nIndex = 19, nOffset = 0x3000000; nIndex <= 25; nIndex += 2, nOffset += 0x1000000) + for (INT32 nIndex = 19, nOffset = 0x2000000; nIndex <= 27; nIndex += 2, nOffset += 0x1000000) { RomDiffPatch(NeoSpriteROM[nNeoActiveSlot] + nOffset, nIndex, 0, 2); // Sprite Data } - RomDiffPatch(NeoZ80ROMActive + 0x000000, 27, 0, 1); // Z80 code + RomDiffPatch(NeoZ80ROMActive + 0x000000, 29, 0, 1); // Z80 code } static INT32 kof2k1bsInit() @@ -20608,8 +20610,8 @@ static INT32 kof2k1bsInit() INT32 nRet = NeoInit(); if ((0 == nRet) && nBurnDrvSubActive) { - RomDiffPatch(YM2610ADPCMAROM[nNeoActiveSlot] + (0x400000 * 3), 28, 0, 1); // Sound data - RomDiffPatch(YM2610ADPCMAROM[nNeoActiveSlot] + (0x400000 * 4), 29, 0, 1); + RomDiffPatch(YM2610ADPCMAROM[nNeoActiveSlot] + (0x400000 * 3), 30, 0, 1); // Sound data + RomDiffPatch(YM2610ADPCMAROM[nNeoActiveSlot] + (0x400000 * 4), 31, 0, 1); } return nRet; diff --git a/src/burn/drv/pre90s/d_mcr.cpp b/src/burn/drv/pre90s/d_mcr.cpp index 6741fee955..d4d87c4b64 100644 --- a/src/burn/drv/pre90s/d_mcr.cpp +++ b/src/burn/drv/pre90s/d_mcr.cpp @@ -2606,13 +2606,13 @@ struct BurnDriver BurnDrvTapperg = { }; -// Tapper (Budweiser, 12/9/83) +// Tapper (Budweiser, 1/12/84) static struct BurnRomInfo tapperaRomDesc[] = { - { "tapper_c.p.u._pg_0_1c_12-9-83.1c", 0x4000, 0x496a8e04, 1 | BRF_PRG | BRF_ESS }, // 0 maincpu - { "tapper_c.p.u._pg_1_2c_12-9-83.2c", 0x4000, 0xe79c4b0c, 1 | BRF_PRG | BRF_ESS }, // 1 - { "tapper_c.p.u._pg_2_3c_12-9-83.3c", 0x4000, 0x3034ccf0, 1 | BRF_PRG | BRF_ESS }, // 2 - { "tapper_c.p.u._pg_3_4c_12-9-83.4c", 0x2000, 0x2dc99e05, 1 | BRF_PRG | BRF_ESS }, // 3 + { "tapper_c.p.u._pg_0_1c_1-12-84.1c", 0x4000, 0x127171d1, 1 | BRF_PRG | BRF_ESS }, // 0 maincpu + { "tapper_c.p.u._pg_1_2c_1-12-84.1c", 0x4000, 0x9d6a47f7, 1 | BRF_PRG | BRF_ESS }, // 1 + { "tapper_c.p.u._pg_2_3c_1-12-84.3c", 0x4000, 0x3a1f8778, 1 | BRF_PRG | BRF_ESS }, // 2 + { "tapper_c.p.u._pg_3_4c_1-12-84.4c", 0x2000, 0xe8dcdaa4, 1 | BRF_PRG | BRF_ESS }, // 3 { "tapper_sound_snd_0_a7_12-7-83.a7", 0x1000, 0x0e8bb9d5, 2 | BRF_PRG | BRF_ESS }, // 4 ssio:cpu { "tapper_sound_snd_1_a8_12-7-83.a8", 0x1000, 0x0cf0e29b, 2 | BRF_PRG | BRF_ESS }, // 5 @@ -2637,7 +2637,7 @@ STD_ROM_FN(tappera) struct BurnDriver BurnDrvTappera = { "tappera", "tapper", "midssio", NULL, "1983", - "Tapper (Budweiser, 12/9/83)\0", NULL, "Bally Midway", "Miscellaneous", + "Tapper (Budweiser, 1/12/84)\0", NULL, "Bally Midway", "Miscellaneous", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE, 2, HARDWARE_MISC_PRE90S, GBF_ACTION, 0, NULL, tapperaRomInfo, tapperaRomName, NULL, NULL, NULL, NULL, TapperInputInfo, TapperDIPInfo, @@ -2646,13 +2646,13 @@ struct BurnDriver BurnDrvTappera = { }; -// Tapper (Budweiser, Date Unknown) +// Tapper (Budweiser, 12/9/83) static struct BurnRomInfo tapperbRomDesc[] = { - { "tapper_c.p.u._pg_0_1c.1c", 0x4000, 0x127171d1, 1 | BRF_PRG | BRF_ESS }, // 0 maincpu - { "tapper_c.p.u._pg_1_2c.1c", 0x4000, 0x9d6a47f7, 1 | BRF_PRG | BRF_ESS }, // 1 - { "tapper_c.p.u._pg_2_3c.3c", 0x4000, 0x3a1f8778, 1 | BRF_PRG | BRF_ESS }, // 2 - { "tapper_c.p.u._pg_3_4c.4c", 0x2000, 0xe8dcdaa4, 1 | BRF_PRG | BRF_ESS }, // 3 + { "tapper_c.p.u._pg_0_1c_12-9-83.1c", 0x4000, 0x496a8e04, 1 | BRF_PRG | BRF_ESS }, // 0 maincpu + { "tapper_c.p.u._pg_1_2c_12-9-83.2c", 0x4000, 0xe79c4b0c, 1 | BRF_PRG | BRF_ESS }, // 1 + { "tapper_c.p.u._pg_2_3c_12-9-83.3c", 0x4000, 0x3034ccf0, 1 | BRF_PRG | BRF_ESS }, // 2 + { "tapper_c.p.u._pg_3_4c_12-9-83.4c", 0x2000, 0x2dc99e05, 1 | BRF_PRG | BRF_ESS }, // 3 { "tapper_sound_snd_0_a7_12-7-83.a7", 0x1000, 0x0e8bb9d5, 2 | BRF_PRG | BRF_ESS }, // 4 ssio:cpu { "tapper_sound_snd_1_a8_12-7-83.a8", 0x1000, 0x0cf0e29b, 2 | BRF_PRG | BRF_ESS }, // 5 @@ -2677,7 +2677,7 @@ STD_ROM_FN(tapperb) struct BurnDriver BurnDrvTapperb = { "tapperb", "tapper", "midssio", NULL, "1983", - "Tapper (Budweiser, Date Unknown)\0", NULL, "Bally Midway", "Miscellaneous", + "Tapper (Budweiser, 12/9/83)\0", NULL, "Bally Midway", "Miscellaneous", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE, 2, HARDWARE_MISC_PRE90S, GBF_ACTION, 0, NULL, tapperbRomInfo, tapperbRomName, NULL, NULL, NULL, NULL, TapperInputInfo, TapperDIPInfo, diff --git a/src/burn/drv/pre90s/d_wc90b.cpp b/src/burn/drv/pre90s/d_wc90b.cpp index 08c9895839..0fae38ff6c 100644 --- a/src/burn/drv/pre90s/d_wc90b.cpp +++ b/src/burn/drv/pre90s/d_wc90b.cpp @@ -232,30 +232,30 @@ STD_ROM_PICK(Wc90b2) STD_ROM_FN(Wc90b2) static struct BurnRomInfo Wc90b3RomDesc[] = { - { "2.bin", 0x08000, 0x84cb2bf5, BRF_ESS | BRF_PRG }, // 0 Z80 #1 Program Code - { "a03.bin", 0x10000, 0xf54ff17a, BRF_ESS | BRF_PRG }, // 1 Z80 #1 Program Code - - { "a04.bin", 0x10000, 0x3d535e2f, BRF_ESS | BRF_PRG }, // 2 Z80 #2 Program Code - { "a05.bin", 0x10000, 0x9e421c4b, BRF_ESS | BRF_PRG }, // 3 Z80 #2 Program Code - - { "a01.bin", 0x10000, 0x3d317622, BRF_ESS | BRF_PRG }, // 4 Z80 #3 Program Code - - { "a06", 0x08000, 0x0c054481, BRF_GRA }, // 5 Characters - { "a08", 0x08000, 0xebb3eb48, BRF_GRA }, // 6 Characters - { "a10", 0x08000, 0xc0232af8, BRF_GRA }, // 7 Characters - { "a20", 0x08000, 0xa36e17fb, BRF_GRA }, // 8 Characters - { "a07.bin", 0x20000, 0x38c31817, BRF_GRA }, // 9 Fg Tiles - { "a09.bin", 0x20000, 0x32e39e29, BRF_GRA }, // 10 Fg Tiles - { "a11.bin", 0x20000, 0x5ccec796, BRF_GRA }, // 11 Bg Tiles - { "a21.bin", 0x20000, 0x0c54a091, BRF_GRA }, // 12 Bg Tiles - { "146_a12.bin", 0x10000, 0xd5a60096, BRF_GRA }, // 13 Sprites - { "147_a13", 0x10000, 0x5b16fd48, BRF_GRA }, // 14 Sprites - { "148_a14.bin", 0x10000, 0x26371c18, BRF_GRA }, // 15 Sprites - { "149_a15", 0x10000, 0xb2423962, BRF_GRA }, // 16 Sprites - { "150_a16.bin", 0x10000, 0x0da825f9, BRF_GRA }, // 17 Sprites - { "151_a17", 0x10000, 0xaf98778e, BRF_GRA }, // 18 Sprites - { "152_a18.bin", 0x10000, 0x516b6c09, BRF_GRA }, // 19 Sprites - { "153_a19", 0x10000, 0x8caa2745, BRF_GRA }, // 20 Sprites + { "03.bin", 0x10000, 0x1e6e94c9, BRF_ESS | BRF_PRG }, // 0 Z80 #1 Program Code + { "02.bin", 0x10000, 0xf54ff17a, BRF_ESS | BRF_PRG }, // 1 Z80 #1 Program Code + + { "05.bin", 0x10000, 0x3d535e2f, BRF_ESS | BRF_PRG }, // 2 Z80 #2 Program Code + { "04.bin", 0x10000, 0x9e421c4b, BRF_ESS | BRF_PRG }, // 3 Z80 #2 Program Code + + { "01.bin", 0x10000, 0x3d317622, BRF_ESS | BRF_PRG }, // 4 Z80 #3 Program Code + + { "07.bin", 0x10000, 0xb82d19ba, BRF_GRA }, // 5 Characters + { "09.bin", 0x10000, 0x0a488017, BRF_GRA }, // 6 Characters + { "11.bin", 0x10000, 0xcf0dec64, BRF_GRA }, // 7 Characters + { "13.bin", 0x10000, 0x11489cc6, BRF_GRA }, // 8 Characters + { "06.bin", 0x20000, 0x38c31817, BRF_GRA }, // 9 Fg Tiles + { "08.bin", 0x20000, 0x32e39e29, BRF_GRA }, // 10 Fg Tiles + { "10.bin", 0x20000, 0x5ccec796, BRF_GRA }, // 11 Bg Tiles + { "12.bin", 0x20000, 0x0c54a091, BRF_GRA }, // 12 Bg Tiles + { "21.bin", 0x10000, 0xd5a60096, BRF_GRA }, // 13 Sprites + { "20.bin", 0x10000, 0x36bbf467, BRF_GRA }, // 14 Sprites + { "19.bin", 0x10000, 0x26371c18, BRF_GRA }, // 15 Sprites + { "18.bin", 0x10000, 0x75aa9b86, BRF_GRA }, // 16 Sprites + { "17.bin", 0x10000, 0x0da825f9, BRF_GRA }, // 17 Sprites + { "16.bin", 0x10000, 0x228429d8, BRF_GRA }, // 18 Sprites + { "15.bin", 0x10000, 0x516b6c09, BRF_GRA }, // 19 Sprites + { "14.bin", 0x10000, 0xf36390a9, BRF_GRA }, // 20 Sprites { "pal16l8.1", 0x00104, 0x1f13c98f, BRF_OPT }, // 21 PLDs { "pal16l8.2", 0x00104, 0x54af6bf3, BRF_OPT }, // 22 PLDs @@ -268,7 +268,7 @@ STD_ROM_PICK(Wc90b3) STD_ROM_FN(Wc90b3) static struct BurnRomInfo Wc90b4RomDesc[] = { - { "a02", 0x10000, 0x1e6e94c9, BRF_ESS | BRF_PRG }, // 0 Z80 #1 Program Code + { "2.bin", 0x08000, 0x84cb2bf5, BRF_ESS | BRF_PRG }, // 0 Z80 #1 Program Code { "a03.bin", 0x10000, 0xf54ff17a, BRF_ESS | BRF_PRG }, // 1 Z80 #1 Program Code { "a04.bin", 0x10000, 0x3d535e2f, BRF_ESS | BRF_PRG }, // 2 Z80 #2 Program Code @@ -1100,7 +1100,7 @@ static INT32 Wc90b1Scan(INT32 nAction,INT32 *pnMin) struct BurnDriver BurnDrvWc90b1 = { "twcup90b1", "twcup90", NULL, NULL, "1989", - "Euro League (Italian hack of Tecmo World Cup '90)\0", NULL, "bootleg", "Miscellaneous", + "Euro League (Italian hack of Tecmo World Cup '90, set 1)\0", NULL, "bootleg", "Miscellaneous", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_BOOTLEG | BDF_HISCORE_SUPPORTED, 2, HARDWARE_MISC_PRE90S, GBF_SPORTSFOOTBALL, 0, NULL, Wc90b1RomInfo, Wc90b1RomName, NULL, NULL, NULL, NULL, Wc90b1InputInfo, Wc90b1DIPInfo, @@ -1110,7 +1110,7 @@ struct BurnDriver BurnDrvWc90b1 = { struct BurnDriver BurnDrvWc90b2 = { "twcup90b2", "twcup90", NULL, NULL, "1989", - "World Cup '90 (bootleg, set 1)\0", NULL, "bootleg", "Miscellaneous", + "Worldcup '90 (hack)\0", NULL, "bootleg", "Miscellaneous", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_BOOTLEG | BDF_HISCORE_SUPPORTED, 2, HARDWARE_MISC_PRE90S, GBF_SPORTSFOOTBALL, 0, NULL, Wc90b2RomInfo, Wc90b2RomName, NULL, NULL, NULL, NULL, Wc90b1InputInfo, Wc90b1DIPInfo, @@ -1120,7 +1120,7 @@ struct BurnDriver BurnDrvWc90b2 = { struct BurnDriver BurnDrvWc90b3 = { "twcup90b3", "twcup90", NULL, NULL, "1989", - "World Cup '90 (bootleg, set 2)\0", NULL, "bootleg", "Miscellaneous", + "Euro League (Italian hack of Tecmo World Cup '90, set 3)\0", NULL, "bootleg", "Miscellaneous", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_BOOTLEG, 2, HARDWARE_MISC_PRE90S, GBF_SPORTSFOOTBALL, 0, NULL, Wc90b3RomInfo, Wc90b3RomName, NULL, NULL, NULL, NULL, Wc90b1InputInfo, Wc90b1DIPInfo, @@ -1130,7 +1130,7 @@ struct BurnDriver BurnDrvWc90b3 = { struct BurnDriver BurnDrvWc90b4 = { "twcup90b4", "twcup90", NULL, NULL, "1989", - "World Cup '90 (bootleg, set 3)\0", NULL, "bootleg", "Miscellaneous", + "World Cup '90 (hack, alt)\0", NULL, "bootleg", "Miscellaneous", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_BOOTLEG, 2, HARDWARE_MISC_PRE90S, GBF_SPORTSFOOTBALL, 0, NULL, Wc90b4RomInfo, Wc90b4RomName, NULL, NULL, NULL, NULL, Wc90b1InputInfo, Wc90b1DIPInfo, @@ -1140,7 +1140,7 @@ struct BurnDriver BurnDrvWc90b4 = { struct BurnDriver BurnDrvWc90ba = { "twcup90ba", "twcup90", NULL, NULL, "1989", - "Euro League (Italian hack of Tecmo World Cup '90 - alt version)\0", NULL, "bootleg", "Miscellaneous", + "Euro League (Italian hack of Tecmo World Cup '90, set 2)\0", NULL, "bootleg", "Miscellaneous", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_BOOTLEG | BDF_HISCORE_SUPPORTED, 2, HARDWARE_MISC_PRE90S, GBF_SPORTSFOOTBALL, 0, NULL, Wc90baRomInfo, Wc90baRomName, NULL, NULL, NULL, NULL, Wc90b1InputInfo, Wc90b1DIPInfo, @@ -1150,7 +1150,7 @@ struct BurnDriver BurnDrvWc90ba = { struct BurnDriver BurnDrvWc90bb = { "twcup90bb", "twcup90", NULL, NULL, "1989", - "World Cup '90 (european hack, different title)\0", NULL, "bootleg", "Miscellaneous", + "World Cup '90 (European hack, different title)\0", NULL, "bootleg", "Miscellaneous", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_BOOTLEG | BDF_HISCORE_SUPPORTED, 2, HARDWARE_MISC_PRE90S, GBF_SPORTSFOOTBALL, 0, NULL, Wc90bbRomInfo, Wc90bbRomName, NULL, NULL, NULL, NULL, Wc90b1InputInfo, Wc90b1DIPInfo, diff --git a/src/burner/win32/romdata.cpp b/src/burner/win32/romdata.cpp index 4aed81c3d5..cccae638a9 100644 --- a/src/burner/win32/romdata.cpp +++ b/src/burner/win32/romdata.cpp @@ -52,7 +52,6 @@ static TCHAR* _strqtoken(TCHAR* s, const TCHAR* delims) #else prev_str = (char*)memchr((void*)token, '\0', MAX_PATH); #endif - } return token; @@ -91,7 +90,7 @@ static INT32 IsDatUTF8BOM() #undef UTF8_SIGNATURE -#define DELIM_TOKENS_NAME _T(" \t\r\n,%:|") +#define DELIM_TOKENS_NAME _T(" \t\r\n,%:|{}") static INT32 LoadRomdata() {