diff --git a/src/burn/drv/neogeo/d_neogeo.cpp b/src/burn/drv/neogeo/d_neogeo.cpp index de86209d0..f5c25d61d 100644 --- a/src/burn/drv/neogeo/d_neogeo.cpp +++ b/src/burn/drv/neogeo/d_neogeo.cpp @@ -17552,3 +17552,175 @@ struct BurnDriver BurnDrvkof10thd = { NeoInit, NeoExit, NeoFrame, NeoRender, NeoScan, &NeoRecalcPalette, 0x1000, 304, 224, 4, 3 }; + +// GOTVG Metal Slug - Super Vehicle-001 (Multifunction Hack 20180430) +// mslugs18 in HBMAME. +static struct BurnRomInfo mslugdgRomDesc[] = { + { "201-p1.bin", 0x200000, 0x0a739521, 1 | BRF_ESS | BRF_PRG }, // 0 68K code / TC5316200 + + { "201-s1.s1", 0x020000, 0x2f55958d, 2 | BRF_GRA }, // 1 Text layer tiles / TC531000 + + { "201-c1.c1", 0x400000, 0x72813676, 3 | BRF_GRA }, // 2 Sprite data / TC5332205 + { "201-c2.c2", 0x400000, 0x96f62574, 3 | BRF_GRA }, // 3 / TC5332205 + { "201-c3.c3", 0x400000, 0x5121456a, 3 | BRF_GRA }, // 4 / TC5332205 + { "201-c4.c4", 0x400000, 0xf4ad59a3, 3 | BRF_GRA }, // 5 / TC5332205 + + { "201-m1.m1", 0x020000, 0xc28b3253, 4 | BRF_ESS | BRF_PRG }, // 6 Z80 code / TC531001 + + { "201-v1.v1", 0x400000, 0x23d22ed1, 5 | BRF_SND }, // 7 Sound data / TC5332204 + { "201-v2.v2", 0x400000, 0x472cf9db, 5 | BRF_SND }, // 8 / TC5332204 +}; + +STDROMPICKEXT(mslugdg, mslugdg, neogeo) +STD_ROM_FN(mslugdg) + +struct BurnDriver BurnDrvmslugdg = { + "mslugdg", "mslug", "neogeo", NULL, "2018", + "Metal Slug (Multifunction Hack)\0", NULL, "hack", "Neo Geo MVS", + NULL, NULL, NULL, NULL, + BDF_GAME_WORKING | BDF_CLONE, 2, HARDWARE_PREFIX_CARTRIDGE | HARDWARE_SNK_NEOGEO | HARDWARE_SNK_SWAPP, GBF_RUNGUN, FBF_MSLUG, + NULL, mslugdgRomInfo, mslugdgRomName, NULL, NULL, NULL, NULL, neogeoInputInfo, neogeoDIPInfo, + NeoInit, NeoExit, NeoFrame, NeoRender, NeoScan, &NeoRecalcPalette, + 0x1000, 304, 224, 4, 3 +}; + +// GOTVG Metal Slug 2 - Super Vehicle-001/II (Multifunction Hack 20170509) +// mslug2s26 in HBMAME. +static struct BurnRomInfo mslug2dgRomDesc[] = { + { "241-p1.bin", 0x100000, 0x00c455e7, 1 | BRF_ESS | BRF_PRG }, // 0 68K code + { "241-p2.bin", 0x200000, 0x1bf6b12a, 1 | BRF_ESS | BRF_PRG }, // 1 + + { "241-s1.s1", 0x020000, 0xf3d32f0f, 2 | BRF_GRA }, // 2 Text layer tiles + + { "241-c1.c1", 0x800000, 0x394b5e0d, 3 | BRF_GRA }, // 3 Sprite data + { "241-c2.c2", 0x800000, 0xe5806221, 3 | BRF_GRA }, // 4 + { "241-c3.c3", 0x800000, 0x9f6bfa6f, 3 | BRF_GRA }, // 5 + { "241-c4.c4", 0x800000, 0x7d3e306f, 3 | BRF_GRA }, // 6 + + { "241-m1.m1", 0x020000, 0x94520ebd, 4 | BRF_ESS | BRF_PRG }, // 7 Z80 code + + { "241-v1.v1", 0x400000, 0x99ec20e8, 5 | BRF_SND }, // 8 Sound data + { "241-v2.v2", 0x400000, 0xecb16799, 5 | BRF_SND }, // 9 +}; + +STDROMPICKEXT(mslug2dg, mslug2dg, neogeo) +STD_ROM_FN(mslug2dg) + +struct BurnDriver BurnDrvmslug2dg = { + "mslug2dg", "mslug2", "neogeo", NULL, "2017", + "Metal Slug 2 - Super Vehicle-001/II (Multifunction Hack)\0", NULL, "hack", "Neo Geo MVS", + NULL, NULL, NULL, NULL, + BDF_GAME_WORKING | BDF_CLONE, 2, HARDWARE_PREFIX_CARTRIDGE | HARDWARE_SNK_NEOGEO, GBF_RUNGUN, FBF_MSLUG, + NULL, mslug2dgRomInfo, mslug2dgRomName, NULL, NULL, NULL, NULL, neogeoInputInfo, neogeoDIPInfo, + NeoInit, NeoExit, NeoFrame, NeoRender, NeoScan, &NeoRecalcPalette, + 0x1000, 304, 224, 4, 3 +}; + +// FBA4DROID/GOTVG Metal Slug 3 (Multifunction Hack 20190119) +static struct BurnRomInfo mslug3gRomDesc[] = { + { "256-ph1.bin", 0x100000, 0xb23bd9b7, 1 | BRF_ESS | BRF_PRG }, // 0 68K code + { "256-ph2.bin", 0x400000, 0x8053a3fb, 1 | BRF_ESS | BRF_PRG }, // 1 + + { "ms3n_s1.rom", 0x020000, 0x8458fff9, 2 | BRF_GRA }, + + { "ms3n_c1.rom", 0x800000, 0x3540398c, 3 | BRF_GRA }, // 2 Sprite data + { "ms3n_c2.rom", 0x800000, 0xbdd220f0, 3 | BRF_GRA }, // 3 + { "ms3n_c3.rom", 0x800000, 0xbfaade82, 3 | BRF_GRA }, // 4 + { "ms3n_c4.rom", 0x800000, 0x1463add6, 3 | BRF_GRA }, // 5 + { "ms3n_c5.rom", 0x800000, 0x48ca7f28, 3 | BRF_GRA }, // 6 + { "ms3n_c6.rom", 0x800000, 0x806eb36f, 3 | BRF_GRA }, // 7 + { "ms3n_c7.rom", 0x800000, 0xed559fac, 3 | BRF_GRA }, // 8 + { "ms3n_c8.rom", 0x800000, 0x1c52378b, 3 | BRF_GRA }, // 9 + + { "256-m1.bin", 0x080000, 0xeaeec116, 4 | BRF_ESS | BRF_PRG }, // 10 Z80 code + + { "ms3n_v1.rom", 0x400000, 0xf2690241, 5 | BRF_SND }, // 11 Sound data + { "ms3n_v2.rom", 0x400000, 0x7e2a10bd, 5 | BRF_SND }, // 12 + { "ms3n_v3.rom", 0x400000, 0x0eaec17c, 5 | BRF_SND }, // 13 + { "ms3n_v4.rom", 0x400000, 0x9b4b22d4, 5 | BRF_SND }, // 14 +}; + +STDROMPICKEXT(mslug3g, mslug3g, neogeo) +STD_ROM_FN(mslug3g) + +struct BurnDriver BurnDrvmslug3g = { + "mslug3g", "mslug3", "neogeo", NULL, "2019", + "Metal Slug 3 (Multifunction Hack)\0", NULL, "hack", "Neo Geo MVS", + NULL, NULL, NULL, NULL, + BDF_GAME_WORKING | BDF_CLONE, 2, HARDWARE_PREFIX_CARTRIDGE | HARDWARE_SNK_NEOGEO, GBF_RUNGUN, FBF_MSLUG, + NULL, mslug3gRomInfo, mslug3gRomName, NULL, NULL, NULL, NULL, neogeoInputInfo, neogeoDIPInfo, + mslug3hInit, NeoSMAExit, NeoFrame, NeoRender, NeoScan, &NeoRecalcPalette, + 0x1000, 304, 224, 4, 3 +}; + +// GOTVG Metal Slug 4 (Multifunction Hack 20171225) +static struct BurnRomInfo mslug4dgRomDesc[] = { + { "263-p1.bin", 0x100000, 0x36dfa877, 1 | BRF_ESS | BRF_PRG }, // 0 68K code + { "263-p2.bin", 0x400000, 0xcf6feb75, 1 | BRF_ESS | BRF_PRG }, // 1 + + { "263.s1", 0x020000, 0xa9446774, 2 | BRF_GRA }, + + { "263nd.c1", 0x800000, 0x361ddda6, 3 | BRF_GRA }, + { "263nd.c2", 0x800000, 0x15d192c4, 3 | BRF_GRA }, + { "263-c3.bin", 0x800000, 0xe296612c, 3 | BRF_GRA }, + { "263-c4.bin", 0x800000, 0xc22e3ad0, 3 | BRF_GRA }, + { "263-c5.bin", 0x400000, 0x288cd91f, 3 | BRF_GRA }, + { "263-c6.bin", 0x400000, 0xb015aeee, 3 | BRF_GRA }, + + { "263nd.m1", 0x020000, 0xef5db532, 4 | BRF_ESS | BRF_PRG }, + + { "263-v1.bin", 0x400000, 0x8cb5a9ef, 5 | BRF_SND }, + { "263-v2.bin", 0x400000, 0x94217b1e, 5 | BRF_SND }, + { "263-v3.bin", 0x400000, 0x7616fcec, 5 | BRF_SND }, + { "263-v4.bin", 0x400000, 0xc5967f91, 5 | BRF_SND }, +}; + +STDROMPICKEXT(mslug4dg, mslug4dg, neogeo) +STD_ROM_FN(mslug4dg) + +struct BurnDriver BurnDrvmslug4dg = { + "mslug4dg", "mslug4", "neogeo", NULL, "2017", + "Metal Slug 4 (Multifunction Hack)\0", NULL, "hack", "Neo Geo", + NULL, NULL, NULL, NULL, + BDF_GAME_WORKING | BDF_CLONE, 2, HARDWARE_PREFIX_CARTRIDGE | HARDWARE_SNK_NEOGEO, GBF_RUNGUN, FBF_MSLUG, + NULL, mslug4dgRomInfo, mslug4dgRomName, NULL, NULL, NULL, NULL, neogeoInputInfo, neogeoDIPInfo, + NeoInit, NeoExit, NeoFrame, NeoRender, NeoScan, &NeoRecalcPalette, + 0x1000, 304, 224, 4, 3 +}; + +// GOTVG Metal Slug 5 (Multifunction Hack 20170523) +// mslug5hp00 in HBMAME. +static struct BurnRomInfo mslug5gRomDesc[] = { + { "268-p1d.bin", 0x600000, 0x3be747ab, 1 | BRF_ESS | BRF_PRG }, // 0 68K code + + { "268d-s1.rom", 0x020000, 0x64952683, 2 | BRF_GRA }, + + { "268d-c1.rom", 0x800000, 0x969c0d62, 3 | BRF_GRA }, // 2 sprites + { "268d-c2.rom", 0x800000, 0xc69ae867, 3 | BRF_GRA }, // 3 + { "268d-c3.rom", 0x800000, 0xd7beaeaf, 3 | BRF_GRA }, // 4 + { "268d-c4.rom", 0x800000, 0xe1b1131b, 3 | BRF_GRA }, // 5 + { "268d-c5.rom", 0x800000, 0x2fa1a5ad, 3 | BRF_GRA }, // 6 + { "268d-c6.rom", 0x800000, 0x6de89589, 3 | BRF_GRA }, // 7 + { "268d-c7.rom", 0x800000, 0x97bd0c0a, 3 | BRF_GRA }, // 8 + { "268d-c8.rom", 0x800000, 0xc0d5bc20, 3 | BRF_GRA }, // 9 + + { "268d-m1.rom", 0x020000, 0x6fa01c9a, 4 | BRF_ESS | BRF_PRG }, // 10 Z80 code + + { "268d-v1.rom", 0x400000, 0xc3540e0d, 5 | BRF_SND }, // 11 ymsnd + { "268d-v2.rom", 0x400000, 0x077bd2f4, 5 | BRF_SND }, // 12 + { "268d-v3.rom", 0x400000, 0x39b14567, 5 | BRF_SND }, // 13 + { "268d-v4.rom", 0x400000, 0x969ff3b2, 5 | BRF_SND }, // 14 +}; + +STDROMPICKEXT(mslug5g, mslug5g, neogeo) +STD_ROM_FN(mslug5g) + +struct BurnDriver BurnDrvmslug5g = { + "mslug5g", "mslug5", "neogeo", NULL, "2017", + "Metal Slug 5 (Multifunction Hack)\0", NULL, "hack", "Neo Geo MVS", + NULL, NULL, NULL, NULL, + BDF_GAME_WORKING | BDF_CLONE | BDF_HACK, 2, HARDWARE_PREFIX_CARTRIDGE | HARDWARE_SNK_NEOGEO, GBF_VSFIGHT, FBF_KOF, + NULL, mslug5gRomInfo, mslug5gRomName, NULL, NULL, NULL, NULL, neogeoInputInfo, neogeoDIPInfo, + NeoInit, NeoExit, NeoFrame, NeoRender, NeoScan, &NeoRecalcPalette, + 0x1000, 304, 224, 4, 3 +};