diff --git a/src/burn/drv/pgm/d_pgm.cpp b/src/burn/drv/pgm/d_pgm.cpp index c57147e48..14505a518 100644 --- a/src/burn/drv/pgm/d_pgm.cpp +++ b/src/burn/drv/pgm/d_pgm.cpp @@ -1395,6 +1395,42 @@ struct BurnDriver BurnDrvKovsh103 = { }; +// Knights of Valour Superheroes / Sangoku Senki Superheroes (V101) + +static struct BurnRomInfo kovsh101RomDesc[] = { + { "p0600.101", 0x400000, 0x517a9bcf, 1 | BRF_PRG | BRF_ESS }, // 0 68K Code + + { "t0600.rom", 0x800000, 0x4acc1ad6, 2 | BRF_GRA }, // 1 Tile data + + { "a0600.rom", 0x800000, 0xd8167834, 3 | BRF_GRA }, // 2 Sprite Color Data + { "a0601.rom", 0x800000, 0xff7a4373, 3 | BRF_GRA }, // 3 + { "a0602.rom", 0x800000, 0xe7a32959, 3 | BRF_GRA }, // 4 + { "a0603.rom", 0x400000, 0xec31abda, 3 | BRF_GRA }, // 5 + { "a0604.rom", 0x400000, 0x26b59fd3, 3 | BRF_GRA }, // 6 + + { "b0600.rom", 0x800000, 0x7d3cd059, 4 | BRF_GRA }, // 7 Sprite Masks & Color Indexes + { "b0601.rom", 0x400000, 0xa0bb1c2f, 4 | BRF_GRA }, // 8 + { "b0602.rom", 0x100000, 0x9df77934, 4 | BRF_GRA }, // 9 + + { "m0600.rom", 0x400000, 0x3ada4fd6, 5 | BRF_SND }, // 10 Samples + + { "kovsh_v100_china.asic", 0x004000, 0x0f09a5c1, 7 | BRF_PRG | BRF_ESS }, // 11 Internal ARM7 Rom +}; + +STDROMPICKEXT(kovsh101, kovsh101, pgm) +STD_ROM_FN(kovsh101) + +struct BurnDriver BurnDrvKovsh101 = { + "kovsh101", "kovsh", "pgm", NULL, "1999", + "Knights of Valour Superheroes / Sangoku Senki Superheroes (V101)\0", NULL, "IGS", "PolyGameMaster", + NULL, NULL, NULL, NULL, + BDF_GAME_WORKING | BDF_CLONE, 4, HARDWARE_IGS_PGM | HARDWARE_IGS_USE_ARM_CPU, GBF_SCRFIGHT, 0, + NULL, kovsh101RomInfo, kovsh101RomName, NULL, NULL, pgmInputInfo, kovDIPInfo, + kovshInit, pgmExit, pgmFrame, pgmDraw, pgmScan, &nPgmPalRecalc, 0x900, + 448, 224, 4, 3 +}; + + // Photo Y2K (ver. 105) static struct BurnRomInfo photoy2kRomDesc[] = { diff --git a/src/burn/drv/pgm/pgm_run.cpp b/src/burn/drv/pgm/pgm_run.cpp index 3fd81d3f3..146dff1df 100644 --- a/src/burn/drv/pgm/pgm_run.cpp +++ b/src/burn/drv/pgm/pgm_run.cpp @@ -548,7 +548,8 @@ static void expand_colourdata() // fix for 2x size b0601 rom if (strcmp(BurnDrvGetTextA(DRV_NAME), "kovsh") == 0 || - strcmp(BurnDrvGetTextA(DRV_NAME), "kovsh103") == 0) { + strcmp(BurnDrvGetTextA(DRV_NAME), "kovsh103") == 0 || + strcmp(BurnDrvGetTextA(DRV_NAME), "kovsh101") == 0) { if (ri.nLen == 0x400000) { PGMSPRColROMLoad -= 0x200000; }