diff --git a/src/burn/drv/pgm/d_pgm.cpp b/src/burn/drv/pgm/d_pgm.cpp index a7e3c01d8..e72e32aca 100644 --- a/src/burn/drv/pgm/d_pgm.cpp +++ b/src/burn/drv/pgm/d_pgm.cpp @@ -279,6 +279,18 @@ static struct BurnDIPInfo kov100DIPList[] = { {0x2E, 0x01, 0x0F, 0x05, "World" }, }; +static struct BurnDIPInfo kov100hkDIPList[] = { + {0x2E, 0xFF, 0xFF, 0x04, NULL }, + + {0, 0xFE, 0, 6, "Region (Fake)" }, + {0x2E, 0x01, 0x0F, 0x00, "China" }, + {0x2E, 0x01, 0x0F, 0x01, "Taiwan" }, + {0x2E, 0x01, 0x0F, 0x02, "Japan" }, + {0x2E, 0x01, 0x0F, 0x03, "Korea" }, + {0x2E, 0x01, 0x0F, 0x04, "Hong Kong" }, + {0x2E, 0x01, 0x0F, 0x05, "World" }, +}; + static struct BurnDIPInfo kov2DIPList[] = { {0x2E, 0xFF, 0xFF, 0x04, NULL }, @@ -449,6 +461,7 @@ STDDIPINFOEXT(orld105k, pgm, orld105k ) STDDIPINFOEXT(orld112c, pgm, orld112c ) STDDIPINFOEXT(kov, pgm, kov ) STDDIPINFOEXT(kov100, pgm, kov100 ) +STDDIPINFOEXT(kov100hk, pgm, kov100hk ) STDDIPINFOEXT(kov2, pgm, kov2 ) STDDIPINFOEXT(kovshxas, pgm, kovshxas ) STDDIPINFOEXT(killbld, pgm, killbld ) @@ -1565,6 +1578,45 @@ struct BurnDriver BurnDrvKov100 = { }; +// Knights of Valour Plus / Sangoku Senki (V100, Hong Kong) + +static struct BurnRomInfo kov100hkRomDesc[] = { + { "sav114.u4", 0x080000, 0x4db3d4d3, 1 | BRF_PRG | BRF_ESS }, // 0 68K Code + { "sav114.u7", 0x080000, 0xb8d12b0c, 1 | BRF_PRG | BRF_ESS }, // 1 + { "sav114.u5", 0x080000, 0x9e586dab, 1 | BRF_PRG | BRF_ESS }, // 2 + { "sav114.u8", 0x080000, 0xab129997, 1 | BRF_PRG | BRF_ESS }, // 3 + { "sav114.u10", 0x080000, 0x8f84ecfd, 1 | BRF_PRG | BRF_ESS }, // 4 + + { "t0600.rom", 0x800000, 0x4acc1ad6, 2 | BRF_GRA }, // 5 Tile data + + { "a0600.rom", 0x800000, 0xd8167834, 3 | BRF_GRA }, // 6 Sprite Color Data + { "a0601.rom", 0x800000, 0xff7a4373, 3 | BRF_GRA }, // 7 + { "a0602.rom", 0x800000, 0xe7a32959, 3 | BRF_GRA }, // 8 + { "a0603.rom", 0x400000, 0xec31abda, 3 | BRF_GRA }, // 9 + + { "b0600.rom", 0x800000, 0x7d3cd059, 4 | BRF_GRA }, // 10 Sprite Masks & Color Indexes + { "b0601.rom", 0x400000, 0xa0bb1c2f, 4 | BRF_GRA }, // 11 + + { "m0600.rom", 0x400000, 0x3ada4fd6, 5 | BRF_SND }, // 12 Samples + + // IGS 027 55857E 100 9901 HONG KONG + { "kov_igs027.bin", 0x004000, 0x00000000, 7 | BRF_PRG | BRF_ESS | BRF_NODUMP }, // 13 Internal ARM7 Rom +}; + +STDROMPICKEXT(kov100hk, kov100hk, pgm) +STD_ROM_FN(kov100hk) + +struct BurnDriver BurnDrvKov100hk = { + "kov100hk", "kov", "pgm", NULL, "1999", + "Knights of Valour - Sangoku Senki (V100, Hong Kong)\0", NULL, "IGS", "PolyGameMaster", + L"Knights of Valour\0\u4E09\u56FD\u6226\u7D00\0\u4E09\u56FD\u6218\u7EAA (V100, Hong Kong)\0", NULL, NULL, NULL, + BDF_GAME_WORKING | BDF_CLONE, 4, HARDWARE_IGS_PGM/* | HARDWARE_IGS_USE_ARM_CPU*/, GBF_SCRFIGHT, 0, + NULL, kov100hkRomInfo, kov100hkRomName, NULL, NULL, pgmInputInfo, kov100hkDIPInfo, + kovInit, pgmExit, pgmFrame, pgmDraw, pgmScan, &nPgmPalRecalc, 0x900, + 448, 224, 4, 3 +}; + + // Knights of Valour Plus / Sangoku Senki Plus (V119) static struct BurnRomInfo kovplusRomDesc[] = { diff --git a/whatsnew.html b/whatsnew.html index 45139a1ba..4a142ff3e 100644 --- a/whatsnew.html +++ b/whatsnew.html @@ -327,6 +327,7 @@