雑記 夢を信じて

エミュレーター,日常FinalBurnNEO,MAME,エミュレーター,ネタ

改変によるCRC異常じゃなくて

まさかの想定外ですわ、こんなのってありえませんわ~(錯乱中



こんな感じになった。

ダウンロード

slammastur1(USA)以外の通常と異なるROMと
グラディウス2xhを追加した独自ビルドを作りました
差分のドライバーファイル
(d_cps1.cppとd_cps2.cppとd_twin16.cpp)と32Bit版(VS2022)が同梱です。


公式だとハックはリジェクトされる可能性が高いので様子見です。

IPSでも遊ぶ方法が上記にあります。

mbomberjr1 Muscle Bomber (Japan 930901) Working OK

// mbomberjr1
// d_cps1.cpp

static struct BurnRomInfo Mbomberjr1RomDesc[] = {
	{ "mbj_23h.8f",    0x080000, 0x91CA27E4, BRF_ESS | BRF_PRG | CPS1_68K_PROGRAM_NO_BYTESWAP },
	{ "mbj_22b.7f",    0x080000, 0xacd38478, BRF_ESS | BRF_PRG | CPS1_68K_PROGRAM_NO_BYTESWAP },
	{ "mbj_21a.6f",    0x080000, 0xd5007b05, BRF_ESS | BRF_PRG | CPS1_68K_PROGRAM_NO_BYTESWAP },
	{ "mbj_20a.5f",    0x080000, 0xaeb557b0, BRF_ESS | BRF_PRG | CPS1_68K_PROGRAM_NO_BYTESWAP },

	{ "mb_01.3a",      0x080000, 0xa53b1c81, BRF_GRA | CPS1_TILES },
	{ "mb_02.4a",      0x080000, 0x23fe10f6, BRF_GRA | CPS1_TILES },
	{ "mb_03.5a",      0x080000, 0xcb866c2f, BRF_GRA | CPS1_TILES },
	{ "mb_04.6a",      0x080000, 0xc9143e75, BRF_GRA | CPS1_TILES },
	{ "mb_05.7a",      0x080000, 0x506b9dc9, BRF_GRA | CPS1_TILES },
	{ "mb_06.8a",      0x080000, 0xaff8c2fb, BRF_GRA | CPS1_TILES },
	{ "mb_07.9a",      0x080000, 0xb76c70e9, BRF_GRA | CPS1_TILES },
	{ "mb_08.10a",     0x080000, 0xe60c9556, BRF_GRA | CPS1_TILES },
	{ "mb_10.3c",      0x080000, 0x97976ff5, BRF_GRA | CPS1_TILES },
	{ "mb_11.4c",      0x080000, 0xb350a840, BRF_GRA | CPS1_TILES },
	{ "mb_12.5c",      0x080000, 0x8fb94743, BRF_GRA | CPS1_TILES },
	{ "mb_13.6c",      0x080000, 0xda810d5f, BRF_GRA | CPS1_TILES },
	
	{ "mb_qa.5k",      0x020000, 0xe21a03c4, BRF_ESS | BRF_PRG | CPS1_Z80_PROGRAM },

	{ "mb-q1.1k",      0x080000, 0x0630c3ce, BRF_SND | CPS1_QSOUND_SAMPLES },
	{ "mb-q2.2k",      0x080000, 0x354f9c21, BRF_SND | CPS1_QSOUND_SAMPLES },
	{ "mb-q3.3k",      0x080000, 0x7838487c, BRF_SND | CPS1_QSOUND_SAMPLES },
	{ "mb-q4.4k",      0x080000, 0xab66e087, BRF_SND | CPS1_QSOUND_SAMPLES },
	{ "mb-q5.1m",      0x080000, 0xc789fef2, BRF_SND | CPS1_QSOUND_SAMPLES },
	{ "mb-q6.2m",      0x080000, 0xecb81b61, BRF_SND | CPS1_QSOUND_SAMPLES },
	{ "mb-q7.3m",      0x080000, 0x041e49ba, BRF_SND | CPS1_QSOUND_SAMPLES },
	{ "mb-q8.4m",      0x080000, 0x59fe702a, BRF_SND | CPS1_QSOUND_SAMPLES },
	
	A_BOARD_QSOUND_PLDS
	
	{ "mb63b.1a",      0x000117, 0xb8392f02, BRF_OPT },	// b-board PLDs
	{ "iob1.12d",      0x000117, 0x3abc0700, BRF_OPT },
	{ "bprg1.11d",     0x000117, 0x31793da7, BRF_OPT },
	{ "ioc1.ic1",      0x000104, 0xa399772d, BRF_OPT },	// c-board PLDs
	
	{ "d7l1.7l",       0x000117, 0x27b7410d, BRF_OPT },	// d-board PLDs
	{ "d8l1.8l",       0x000117, 0x539fc7da, BRF_OPT },
	{ "d9k2.9k",       0x000117, 0xcd85a156, BRF_OPT },
	{ "d10f1.10f",     0x000117, 0x6619c494, BRF_OPT },
};

STD_ROM_PICK(Mbomberjr1)
STD_ROM_FN(Mbomberjr1)

//
	{ "mbomberjr1"    , CPS_B_21_QS4, mapper_MB63B , 0, slammast_decode     },

//
struct BurnDriver BurnDrvCpsMbomberjr1 = {
	"mbomberjr1", "slammast", NULL, NULL, "1993",
	"Muscle Bomber: The Body Explosion (Japan 930901) Switch CAS2 Hack \0", NULL, "Capcom", "CPS1",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_HACK | BDF_HISCORE_SUPPORTED, 4, HARDWARE_CAPCOM_CPS1, GBF_VSFIGHT, 0,
	NULL, Mbomberjr1RomInfo, Mbomberjr1RomName, NULL, NULL, NULL, NULL, SlammastInputInfo, SlammastDIPInfo,
	TwelveMhzInit, DrvExit, Cps1Frame, CpsRedraw, CpsAreaScan,
	&CpsRecalcPal, 0x1000, 384, 224, 4, 3
};

動作しました。

MAMEの方はROMが増えませんでした
まぁMAMEはビルド初めてだししようがないね。
詳しい人いたらコメントください(他力本願)
しげるさん、コメント感謝です!

mbomberjとmbomberjr1の差異は
mbj_23e.8f crc:0D06036A => mbj_23h.8f crc:91CA27E4
CRCエラーは出るがリネームすればムリヤリ起動可能

slammastur1 Saturday Night Slam Masters(USA 930901)Not Working

slammastur1(USA)は日本版SET準拠でworld版とは非互換
日本版は途中からグラフィックが512kのROMが4つで配列は一致
ワールド版は512kが3つと128kが4つの混在で不一致


ただし単純に日本版に偽装でリネームしても、パレットがおかしくなる
一部は正常に映るので、何かしら違うことになってると思われる
この辺は、情報さえ流れればだれかが対応させるでしょう(やる気なし

Rockman: The Power Battle (CPS1, Japan 951006) Working OK

//Megamanj
//d_cps1.cpp

static struct BurnRomInfo MegamanjRomDesc[] = {
	{ "rcmj_23c.bin",    0x080000, 0x781940FB, BRF_ESS | BRF_PRG | CPS1_68K_PROGRAM_NO_BYTESWAP },
	{ "rcmj_22c.bin",    0x080000, 0x708268C4, BRF_ESS | BRF_PRG | CPS1_68K_PROGRAM_NO_BYTESWAP },
	{ "rcmj_21b.bin",    0x080000, 0x4376EA95, BRF_ESS | BRF_PRG | CPS1_68K_PROGRAM_NO_BYTESWAP },

	{ "rcm_01.3a",     0x080000, 0x6ecdf13f, BRF_GRA | CPS1_TILES },
	{ "rcm_02.4a",     0x080000, 0x944d4f0f, BRF_GRA | CPS1_TILES },
	{ "rcm_03.5a",     0x080000, 0x36f3073c, BRF_GRA | CPS1_TILES },
	{ "rcm_04.6a",     0x080000, 0x54e622ff, BRF_GRA | CPS1_TILES },
	{ "rcm_05.7a",     0x080000, 0x5dd131fd, BRF_GRA | CPS1_TILES },
	{ "rcm_06.8a",     0x080000, 0xf0faf813, BRF_GRA | CPS1_TILES },
	{ "rcm_07.9a",     0x080000, 0x826de013, BRF_GRA | CPS1_TILES },
	{ "rcm_08.10a",    0x080000, 0xfbff64cf, BRF_GRA | CPS1_TILES },
	{ "rcm_10.3c",     0x080000, 0x4dc8ada9, BRF_GRA | CPS1_TILES },
	{ "rcm_11.4c",     0x080000, 0xf2b9ee06, BRF_GRA | CPS1_TILES },
	{ "rcm_12.5c",     0x080000, 0xfed5f203, BRF_GRA | CPS1_TILES },
	{ "rcm_13.6c",     0x080000, 0x5069d4a9, BRF_GRA | CPS1_TILES },
	{ "rcm_14.7c",     0x080000, 0x303be3bd, BRF_GRA | CPS1_TILES },
	{ "rcm_15.8c",     0x080000, 0x4f2d372f, BRF_GRA | CPS1_TILES },
	{ "rcm_16.9c",     0x080000, 0x93d97fde, BRF_GRA | CPS1_TILES },
	{ "rcm_17.10c",    0x080000, 0x92371042, BRF_GRA | CPS1_TILES },

	{ "rcm_09.bin",    0x010000, 0x22ac8f5f, BRF_PRG | CPS1_Z80_PROGRAM },
	
	{ "rcm_18.11c",    0x020000, 0x80f1f8aa, BRF_SND | CPS1_OKIM6295_SAMPLES },
	{ "rcm_19.12c",    0x020000, 0xf257dbe1, BRF_SND | CPS1_OKIM6295_SAMPLES },
	
};

STD_ROM_PICK(Megamanj)
STD_ROM_FN(Megamanj)

//

		{ "megamanj"   , CPS_B_21_DEF, mapper_RCM63B, 0, NULL                },

//

struct BurnDriver BurnDrvCpsMegamanj = {
	"megamanj", "megaman", NULL, NULL, "1995",
	"Rockman: The Power Battle (CPS1, Japan 951006) Switch CAS2 Hack\0", NULL, "Capcom", "CPS1",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_HACK | BDF_HISCORE_SUPPORTED, 2, HARDWARE_CAPCOM_CPS1, GBF_VSFIGHT, 0,
	NULL, MegamanjRomInfo, MegamanjRomName, NULL, NULL, NULL, NULL, MegamanInputInfo, RockmanjDIPInfo,
	TwelveMhzInit, DrvExit, Cps1Frame, CpsRedraw, CpsAreaScan,
	&CpsRecalcPal, 0x1000, 384, 224, 4, 3
};
// Merge 差分
// MegamanJ
rcm_09.bin   size:0x010000 crc:0x22ac8f5f Sha1:D1441D880F98034645CB4FCECD7BB746BDE638AF
rcmj_23c.bin size:0x080000 crc:0x781940FB Sha1:62F1595DA387C1A502C9139A1FE4F2AFDBB955C0
rcmj_22c.bin size:0x080000 crc:0x708268C4 Sha1:554E011CAD285B95DD1B6AA19BE61B2413662A3A
rcmj_21b.bin size:0x080000 crc:0x4376EA95 Sha1:7370CEFFCA513AA9F68A74F6869D561476589200


このドライバーで動作できました!

megamanjとかCRCエラー出るんで弄ったらこれですよ
注釈)950922JAPANはあるけど951006JAPANは未出
偽装するとPROMサイズが小さいと怒られるものの遊べました

Street Fighter Alpha – warriors’ dreams (950727 USA) Working OK

//d_cps2.cpp 
//Sfau1
static struct BurnRomInfo Sfau1RomDesc[] = {
	{ "sfzu.03d",      0x080000, 0xDE8A35F7, CPS2_PRG_68K | BRF_ESS | BRF_PRG }, // If there's a US 950605 then this should be sfzu.03b
	{ "sfzu.04c",      0x080000, 0x8B73B0E5, CPS2_PRG_68K | BRF_ESS | BRF_PRG },
	{ "sfz.05a",       0x080000, 0x0810544d, CPS2_PRG_68K | BRF_ESS | BRF_PRG },
	{ "sfz.06",        0x080000, 0x806e8f38, CPS2_PRG_68K | BRF_ESS | BRF_PRG },

	{ "sfz.14m",       0x200000, 0x90fefdb3, CPS2_GFX | BRF_GRA },
	{ "sfz.16m",       0x200000, 0x5354c948, CPS2_GFX | BRF_GRA },
	{ "sfz.18m",       0x200000, 0x41a1e790, CPS2_GFX | BRF_GRA },
	{ "sfz.20m",       0x200000, 0xa549df98, CPS2_GFX | BRF_GRA },

	{ "sfz.01",        0x020000, 0xffffec7d, CPS2_PRG_Z80 | BRF_ESS | BRF_PRG },
	{ "sfz.02",        0x020000, 0x45f46a08, CPS2_PRG_Z80 | BRF_ESS | BRF_PRG },

	{ "sfz.11m",       0x200000, 0xc4b093cd, CPS2_QSND | BRF_SND },
	{ "sfz.12m",       0x200000, 0x8bdbc4b4, CPS2_QSND | BRF_SND },
	
	{ "sfzu.key",      0x000014, 0x0BEEBC12, CPS2_ENCRYPTION_KEY },
};

STD_ROM_PICK(Sfau1)
STD_ROM_FN(Sfau1)

//
struct BurnDriver BurnDrvCpsSfau1 = {
	"sfau1", "sfa", NULL, NULL, "1995",
	"Street Fighter Alpha - warriors' dreams (950727 USA) Switch CAS2 Hack\0", NULL, "Capcom", "CPS2",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_HACK | BDF_HISCORE_SUPPORTED, 2, HARDWARE_CAPCOM_CPS2, GBF_VSFIGHT, FBF_SF,
	NULL, Sfau1RomInfo, Sfau1RomName, NULL, NULL, NULL, NULL, Cps2FightingInputInfo, NULL,
	Cps2Init, DrvExit, Cps2Frame, CpsRedraw, CpsAreaScan,
	&CpsRecalcPal, 0x1000, 384, 224, 4, 3
};
// Merge 差分
// sfau_950727
SFZ.05B	    size:0x80000 crc:0810544D	Sha1:5F39BDA3E7B16508EB58E5A2E0CC58C09CF428CE
//名前が違うがCRCはsfz.05aと同一	same sfz.05a

SFZU.03D	size:0x80000 crc:DE8A35F7	Sha1:247E4B583868D8023BB2437F2DD71C12B3C14BA5
SFZU.04C	size:0x80000 crc:8B73B0E5	Sha1:5318761F615C21395366B5333E75EAAA73EF2073
sfzu.key	size:0x14   crc:0BEEBC12	Sha1:F5934730E13457D0EDAB51A352C2DB0A01F4A14E

ハックのPhoenixではないsfau 950727 USA (オリジナルは未ダンプ)

問題なくロード出来て遊べました。

Capcom Sports Club (971017 USA) Working OK

//csclubu
//d_cps2.cpp

static struct BurnRomInfo CsclubuRomDesc[] = {
	{ "cscu.03",       0x080000, 0x8FF845DB, CPS2_PRG_68K | BRF_ESS | BRF_PRG },
	{ "cscu.04",       0x080000, 0x0D62F8A1, CPS2_PRG_68K | BRF_ESS | BRF_PRG },
	{ "cscu.05",       0x080000, 0xDB4DC492, CPS2_PRG_68K | BRF_ESS | BRF_PRG },
	{ "cscu.06",       0x080000, 0x7A60BBAD, CPS2_PRG_68K | BRF_ESS | BRF_PRG },
	{ "cscu.07",       0x080000, 0x003968FD, CPS2_PRG_68K | BRF_ESS | BRF_PRG },

	{ "csc.14m",       0x200000, 0xe8904afa, CPS2_GFX | BRF_GRA },
	{ "csc.16m",       0x200000, 0xc98c8079, CPS2_GFX | BRF_GRA },
	{ "csc.18m",       0x200000, 0xc030df5a, CPS2_GFX | BRF_GRA },
	{ "csc.20m",       0x200000, 0xb4e55863, CPS2_GFX | BRF_GRA },

	{ "csc.01",        0x020000, 0xee162111, CPS2_PRG_Z80 | BRF_ESS | BRF_PRG },

	{ "csc.11m",       0x200000, 0xa027b827, CPS2_QSND | BRF_SND },
	{ "csc.12m",       0x200000, 0xcb7f6e55, CPS2_QSND | BRF_SND },
	
	{ "csclubu.key",   0x000014, 0xDC80A719, CPS2_ENCRYPTION_KEY },
};

STD_ROM_PICK(Csclubu)
STD_ROM_FN(Csclubu)

//

struct BurnDriver BurnDrvCpsCsclubu = {
	"csclubu", "csclub", NULL, NULL, "1997",
	"Capcom Sports Club (971017 USA) Switch CAS2 Hack\0", NULL, "Capcom", "CPS2",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_HACK | BDF_HISCORE_SUPPORTED, 2, HARDWARE_CAPCOM_CPS2, GBF_SPORTSMISC, 0,
	NULL, CsclubuRomInfo, CsclubuRomName, NULL, NULL, NULL, NULL, CsclubInputInfo, NULL,
	Cps2Init, DrvExit, Cps2Frame, CpsRedraw, CpsAreaScan,
	&CpsRecalcPal, 0x1000, 384, 224, 4, 3
};


EUROになってるのはコピペミスです、問題なく遊べました。

番外編

虎への道は日本版のROMが未出の異なるバージョンのようです
海外版から差し替えで動作可能なので、これは除外しています。

タイトル元ネタはこちら (カバー版)

まさか未出のRomsetで独自にドライバ用意して収録するなんてあるんだなぁと
たしかMAMEベースで動かしてたと思うので、独自に書いたんでしょうかね?
ちなみになぜか0.141(2010年)くらいまでの古いSETでした。

参考リンク
関係各所からお叱り受けたらすぐ消えます。