雑記 夢を信じて
- 1. 改変によるCRC異常じゃなくて
- 1.1. ダウンロード
- 1.1.1. mbomberjr1 Muscle Bomber (Japan 930901) Working OK
- 1.1.2. slammastur1 Saturday Night Slam Masters(USA 930901)Not Working
- 1.1.3. Rockman: The Power Battle (CPS1, Japan 951006) Working OK
- 1.1.4. Street Fighter Alpha – warriors’ dreams (950727 USA) Working OK
- 1.1.5. Capcom Sports Club (971017 USA) Working OK
- 1.1.6. 番外編
- 1.2. 〆
- 1.1. ダウンロード
改変による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
};
番外編
虎への道は日本版のROMが未出の異なるバージョンのようです
海外版から差し替えで動作可能なので、これは除外しています。
〆
タイトル元ネタはこちら (カバー版)
まさか未出のRomsetで独自にドライバ用意して収録するなんてあるんだなぁと
たしかMAMEベースで動かしてたと思うので、独自に書いたんでしょうかね?
ちなみになぜか0.141(2010年)くらいまでの古いSETでした。
参考リンク
関係各所からお叱り受けたらすぐ消えます。
ディスカッション
コメント一覧
どもおひさです
毎回お疲れ様です
コソコソやってるしげるです
ブログもnoteにほぼ移行しました
またしてもあえて変な記事にしてますw
多分MAMEのほうはmame.lstに
セット追加してないから有効に
なっていないと思われます
そこに追記したら多分動作します
自分は基本的にHBMAMEの方を毎回改変してます
FBneoに関してはGCCビルドがよくわからんちんです
VCビルドはまたなんとか出来るようになりました
プログラミングもコツコツです
今更のネタですが多分もうバレてると思うので
書いておきますが
サム零(無印)のMAMEセットですが暗号化含め
完了してます
いつもの通り自分はヒントだけですが
半分答え書いたので
後半分はChatGPT使うなり頑張ったらできると
思います
何故か入っていた別バージョンも同じ並びです
赤スペはバイトスワップして
普通の分割だけでいけました
自分はネオジオROM研究のついでで
思いついて最初からやってたので
結構苦労しました
なのでそれに比べたら
カプスタのは全く苦痛ではなかったですw
カプスタの情報はありがとうございました!
あんな抜け穴全く気づいてませんでした
変換できるうちにやっておくべきですね
ネオジオ関係はFBneoでもkof2003以外は
ほとんどなんとかなってる感じです
HBMAMEでは全て完了済みですが
PROM暗号化はなんとも理解できないので
FBneoにも海賊版とか暗号化ドライバ参考に
HBMAMEのようにkof2003のMVS,AES完全復号版
追加しようと思ってます
FBneoに現在存在するのは
基板ハック完全復号版なので
バンクチェンジとか機能しないので
キチンと動作しません
なんしかkof2003のPROM暗号化できたら
自分の吸い出しライフはほぼ終わりなんですよねW
ぶっちゃけネオジオミニ1台生贄にしたら
色々すぐなのは分かってるんですけどw
基本的にネオジオMVS以外に
あんまり興味なかったりするので
他のやつは毎回色々参考になってます
ありがとうございます
ネオジオ関係はサードパーティーのが
未だに来てくれないのであまり大っぴらに
せずにコソコソやってるのが実状です
最悪Switchリリース分は来てくれるのを
期待してるんですが
現状態では厳しそうですね
暗号化されてる分を抽出するのは
やはりアレなので
スマホ版が一旦リリース一段落した時点で
まだ公開してないソース差分も
出そうと思ってます
それまでは現状のままいこうと思ってます
バイナリに関しては配布しなくとも
HBMAMEはGCC簡単ビルドできるので
今後その記事も書こうとは思ってます
FBneoのGCC簡単ビルドはうまく行くと
思ってたのですがうまくいかないので
それもなんとかしたいです
どちらにせよ抽出ネタは
メーカー側からしたらあまりよろしくない
ことですけどw
そんなわけで自分のネタは
ほぼネオジオ関係になるのですいませんw
コンシューマ系はやりたいゲームは
既にほぼ待ってるのでそこまで
気にしてないのですが
簡単に吸い出せないアーケードモノは
やはり気になりますよねー
しげるさんコメント感謝です
Noteで怒涛の内容に打ちのめされております
いやはや、あの解析具合はさすがですね
おそらく謎な表現は、なんか手動で記事書いた後でAIに推敲させた感じの文章?
赤スぺはずいぶん前にどこかでバッチファイルを見た気がします
やってることは既存のNEOGEO変換と変わらなかったんで
自分の記事だとクソ面倒くさくなってますね
零はデクリプトCで面倒だったんですが、やればできるんですなぁ。
NEOGEOはデクリプト絡むと途端に煩雑化するんで、なんともかんとも;
FBNEOのビルドはホント謎っす
ちょいちょいofficialでもビルドエラー出てるので
そういうものだと割り切るしかなさそう。
フォーラムで簡単ビルド環境のバッチツール配ってますが、あれだとサクサク行きますね
ただ改変したソースをビルドする目的だとバッチスクリプト改造しないとダメそうですね
MAMEのlstかぁ、なるほどですね~感謝です!
ビルド時間が長いのでだるいんですよMAMEは;
アーケードに絞ってビルドすべきなのかなって考えてます。
あ、HBMAMEでよかったんだw
Switchなどの暗号化関係はセンシティブなんで
どうしようかと思ったんですが
今回みたいのだと、衝撃的すぎて書かざるを得ませんでした
しかしSteamは別形式で圧縮しなおしたあたり
やってほしくないって事でしょうねぇ
Enigma DRMもMOD排除ではなくメモリダンプ排除が目的なんでしょうね
それなら遅延があるのを何とかしてほしいんですけども;
ネオジオミニのアレはMipsのビルドにUbunntu17とかが必要で
アップデートするのにUbunntuのサーバーファイルの書き換えとかあって七面倒くさいです;
全部まとめて頑張ったんですがモチベーション持たなくて放置してますw
自分もコンシューマーは、なんだかんだ入手しやすいですし
レトフリ使えばだいたい吸えるから~って感じですね
アーケードゲームの方はNEOGEOに限らず、ついつい頑張っちゃいますねw
ネオジオ関連でちょっと気になる事が
https://i486.mods.jp/wiki/ の”ROM抽出が「全然できなかった」ゲーム一覧”の箇所に
NeoGeoCD版から「ベースボールスターズ2」のC-ROMを抽出すると言った記載があった
==============================================================タイワンタイペイが削られていない正規のCromを入手可能。
SPRデータをROM MasqueradeでEndian Conv16bitを行い、byteswap0/2/1/3/4/6/5/7/8/10/9/11/12/14/13/15の順番に入れ替える。
そしてIPL.txtに書かれている順番通りに各変換済みSPRをくっつけて合成後、oddevenに分割するだけ。
初期のcrom合計値が400000~600000の場合は、中身がいじられていないので、そのまま変換するだけで使用できる。
==============================================================自分の頭では良くわからなかった。。。
NeoGeoCD版「ベースボールスターズ2」のIPL.TXTの中身
==============================================================041_S1.FIX,0,0
041_P1.PRG,0,0
041_C1.SPR,0,0
041_C2.SPR,1,0
041_C3.SPR,2,0
041_C4.SPR,3,0
DBS2.PCM,0,0
SOUND3.Z80,0,0
==============================================================
Steam「Visco Collection」に収録されている「ネオドリフトアウト」はC-ROMが改変されているようなので、
NeoGeoCD版から同様の方法で抽出して合成したら正規ROMが完成するのか?
まぁNeoGeoCD版は高騰してるので今から購入するのは難しいけど。。。
aceさんコメントありがとうございます
いやはや元ROMへの情熱がすごいです。
今は落とせない旧版のGOGアーカイブで
ベースボールスターズ2のROMは正規verをもってるんで
そこまでの情熱が湧かないんですよね;
餓狼2の場合は、今でもGOGで未改変が取れるので問題ないですし
つまり台湾の存在は、旭日旗以上に認められないって事なんでしょう
(エンターテイメントや娯楽に政治や主義主張を持ち込まないでほしいなぁ)
餓狼の変換ネタで記事にもさせてもらったんですが
サイフォンさんの解析もパないですな
NEOGEOCDのCROM処理を知らなかったので、ほえーってなりました
エンディアンコンバーターはreadmeに書いてあるやつで
assist funcのEndian Convで16bitを選んで実行かな?
その処理を4ファイルで実行したのちに
copy /b 041_C1.SPR+041_C2.SPR+041_C3.SPR+041_C4.SPR crom.SPR
で結合、後はOdd/EvenでC1+C3/C2+C4になるので
それぞれ2分割すれば正規CROMになるのかな?(多分ダメそうですが)
NEOGEOCDのベースボールスターズ2持ってないんでエアプっす
この規則によくたどり着いたなぁって思います。
PSP版でもメモリダンプから引っこ抜いてますし。
ネオドリフトアウトそのままの復刻は、ライセンス上不可能でしょうからねえ
NEOGEOCD版から同じように戻せるなら・・・とも思いますが、何しろ高すぎますね;
いっそCROM編集ツールみたいなのがあれば、自分で書いちゃうというのもありかもですね(つらい
aceさん
ネオドリフトアウトは持っていないので不明ですが、
041_C1.SPR,0,0
041_C2.SPR,1,0
041_C3.SPR,2,0
041_C4.SPR,3,0
のような少ない量だったらできます。
それこそ龍虎2など、Cromが細かく分割されているのならまず無理です。
ベースボールスターズ2のネオジオCD版なら、txtの内容からいって正常なCromを抽出できますね。
1.SPRデータをROM MasqueradeでEndian Conv16bitを行って保存します。
16bit041_C1.SPRとか、適当にもとのSPRと分けて保存しといてください。
2.発明の友さんのメタルスラッグコンプリートのサイトにあるMSC_extract_v2.zipを手に入れます。
3.MSC_extract_v2.zipに入っているBswap.exeのツールを使います。
4.スワップする順番が書かれているltb2s1.txtデータがあるので、それを書き換えてBswap.exeのツールを使います。
書き換える内容は以下の通りです。
16
0 0
2 0
1 0
3 0
4 0
6 0
5 0
7 0
8 0
10 0
9 0
11 0
12 0
14 0
13 0
15 0
5.書き換えたltb2s1.txtをもとにBswap.exeのツールで1.のSPRを変換します。
6.そしてIPL.txtに書かれている順番通りに各変換済みSPRをくっつけて一つのデータとしてまとめます。つまり変換済み
C1.SPR+C2.SPR+C3.SPR+C4.SPRとなります。
7.まとめたSPRをoddevenに分割するだけです。
みなさん
誰も興味ないでしょうが、実はフットボールフレンジーはアケアカ版だと一枚絵が消えてます。
しかし、ネオジオCDのSPRを変換して移植すれば、復活できます。
でもフットボールフレンジー興味ある人っていますかね……?
サイフォンさんコメントありがとうございます
魂の入った解析、ありがとうございます。餓狼ではお世話になりました;
フットボールフレンジーもそんなことになってたんですか!(いわれて気づいた
すっごいニッチなんでこだわる人はこだわるかも?
ゴメンナサイ、アメフトゲーはどうやってもわからんちんです・・・
Richard Roeさん
いえいえ、私もお世話になっているので、
少しでも貢献した次第です。
あとベースボールスターズ2のneogeocdは、
assist funcのEndian Convで16bitを選んで実行したものをBswap.exeで0/2/1/3/4/6/5/7/8/10/9/11/12/14/13/15の順にバイトをスワップしないといけません。
で、スワップしたSPRを
041_C1.SPR+041_C2.SPR+041_C3.SPR+041_C4.SPR crom.SPR
で結合、後はOdd/EvenでC1+C3/C2+C4になるので
それぞれ2分割すれば正規CROMになります。
>アルハンブラさん
Enigmaの件は自分もめっちゃ気になってたんですよね
自分は天邪鬼なのでわざとページ毎回分かりにくくしてますw
元々海外のサイト回るときChromeの自動翻訳があんな感じで出てくるのが
最近ツボなのでちょっとやってみましたw
AI通さず何となくでやってますw めんどくさいので多分すぐ飽きますw
フォーラムの簡単ビルドツールなんですが文字化けとかせずビルドできました?
ソース全く触らず何度やってもおかしなexeが作成されるので諦めたんですよね・・・
ちょっとまた調べてみます
CPSやMVSの有名なゲームだとハックが多いのでMAMEよりHBMAMEのほうが色々
ドライバー追加されてるので思ってるより何かしらが簡単にできたりすることが多いです
例の復号化KOF2003はあんな簡単に追加できるとは思いませんでしたしw
FBneoで復号化KOF2003カセット版追加しようとしたらおそらく
neo_run.cppとかもみながらどう処理してるか理解しないと駄目っぽいので先は厳しそうです
ゲージ点滅処理なしならすぐできる気はしますが
正直ネオジオミニからPROM取ってくれば一番早いのですが
変にイジるのがもう嫌のと意地ですw
そういえば別の某ミニでは最近EFL突入できるようになったとか(わざとらしいネタ振り
CROM暗号化に関してはneo-cmcのソースが分かりやすく
書いてくれてたので本当にありがたいです
あのツールがなければ色々と無理だったと思います
今回のROMセット等の件は多分ですが基板主義のMAMEでも一時期
どこからか流出したCPSやMVSの復号化分とかハックっぽいものにも
よく対応していたのでその時の名残かと思われますw
ハックしてリージョンを変更したやつとかもあったようなw
>aceさん
ネオジオCDでもCROM(スプライト)データは変更されてない場合があるので書いてあるように
変換方法次第では多分変換できると思います
ネオジオCDとネオジオではメモリの読み込みの都合上データは並び替えられています
PROM、VROM、MROM等はほぼネオジオCD専用に変換されてるので使用できないです
ベースボールスターズ2はCROMデータ以外も変更されていたはずなので結局別セットになりますね
ネオドリフトアウトのCD版に関しては持ってないのでMVS版から変更されてるかどうか分かりません
CROMデータがMVS版と同一なら変換したらおそらく使えると思います
自分は差し替えられたスプライトデータを
TOYOTA→TOYODA
MITSUBISHI→YOTSUBISHI
SUBARU→SHINJI(TANIMURA)
みたいに変更したいですw
データをオリジナルに戻すことはできなくてもYY-CHRかなにかでいじれたような気がします
まぁこれもかなり勉強しないと無理そうですが・・・
(NESの強行突破すら未だにやってない)
サイフォンさん
なるほど!理解しました、BSWAPが抜けてたんですな
まぁ自分はディスクがないので試す人がいたら参考になればいい感じかな?
Bswapなら、この記事も参考になるかもですね
https://milkchoco.info/archives/6370
詳細を書いていただいてありがとうございました!
>しげるさん
起動しなかったり遊べないってレビューはたぶんEnigmadrmのせいなんだろうなあと
サポートが不正ツール(根拠なし)扱いで放棄とか、どうなんでしょう?ってなりました;
AI風(自動翻訳風)がまさかの手動とはwちょっとビックリしました!
そりゃあ面倒くさくてやめますよね;
FBNEOのビルドツールは以前試した時は問題なく作れましたが
今だと不具合でたりするのかな?今度試してみますね
FBNEOはCPSのQサウンドPLD関係バッサリ切ってたり
軽くすること重視なんで、再現性よりも快適性なのかなあと。
そう考えるとKOF2003再現はハードル高そうですね
しかも開発者さんが気付かないと手も付けてもらえないでしょうし;
急にNEOGEOCDのBIOS対応よくなったのってうちの影響じゃあないよねってドキドキしたのは内緒です
HBMAMEはやっぱり、そこら辺の懐の広さが便利そうですね、今度弄ってみます
アレはハックか流出物の名残をそのまま使った形ですか
現行ROMでは見当たらないのでヒエってなりました。
まぁ今回のは基板主義のMAMEでは無理でしょうけどねぇ;
お、ミニハードでまた新しい動きがあったんですね、情報調べないと!
まぁ最近はミニハードも出てないので、大体察しはつくのですが・・・
サイフォンさん、詳細な手順ありがとうございます
よりによってスパム判定喰らってました;
これならいけそうですね!
サイフォンさん
詳細な説明、有難う御座いました。
初心者向けに更に具体的に記載するなら、こんな感じ↓でしょうか?
=======================================================
①romasque.exeを実行し、BaseFileとして”041_C1.SPR”を開く
[Go Analeze!]を押下した後に、AssistFunc欄の[EndianConv]が16bitにチェックが付いている状態で押下
[SaveDumpFile]を押下して”16bit-041_C1.SPR”として保存する
同様の手順で”041_C2.SPR”と”041_C3.SPR”と”041_C4.SPR”も変換する
②
BSwap.exe d B 16bit-041_C1.SPR Swap-Crom.txt 16bit-041_C1.swap
BSwap.exe d B 16bit-041_C2.SPR Swap-Crom.txt 16bit-041_C2.swap
BSwap.exe d B 16bit-041_C3.SPR Swap-Crom.txt 16bit-041_C3.swap
BSwap.exe d B 16bit-041_C4.SPR Swap-Crom.txt 16bit-044_C3.swap
③
copy /b 16bit-041_C1.swap + 16bit-041_C2.swap + 16bit-041_C3.swap + 16bit-041_C4.swap 16bit-041_C.swap
④
BSwap.exe d B 16bit-041_C.swap oddeven.txt odd.temp even.temp
⑤
bcut.exe odd.temp 041-c1.c1 0 0x100000
bcut.exe even.temp 041-c2.c2 0 0x100000
bcut.exe odd.temp 041-c3.c3 0x100000 0x100000
bcut.exe even.temp 041-c4.c4 0x100000 0x100000
=======================================================
この方法を流用して、前にJackさんが挑戦して断念していたNeoGeoCD版「パズルボブル」からNeoGeoデータを抽出できないかな?
(NeoGeoCD版「パズルボブル」はAudioトラックが無いので音声もデータで格納されている模様)
aceさんコメントありがとうございます
あるぇ、気が付いたらどんどんリファインされていく!?
ありがたやありがたや・・・
aceさん
素晴らしいです。
はるかにわかりやすくて、お見事です!
その流れでいけますね!
MowのときもRichard Roeさんのおかげでわかりやすくなりましたし、みなさんには感謝です。
(ついでにgoogleplay版メタルスラッグ3もできるので、焼き増し記事が書けますね)
ネオジオCDはCromが関の山(しかも合計が400000から600000のみ該当)で、Sromもゲームによっては行けたりいけなかったりくらいなので、さすがに無理でしょうなあ。
使い道がアケアカで一部改変されたCromを戻すくらいしかないんですよね~
パズルボブルならWindowsのアケアカをメモリダンプすれば普通に抽出できますが、かなりの力技になります。
実はソニックウイングス2なども、この力技で早期に抽出できました。
>サイフォンさん
NEOGEOCDからCROM復元ってニッチですが
うちのネタとしてはありでしょうね
Googleプレイ版のメタスラ3もこれなんですか
あ、そうするとアケアカではCRCが合わない
KOF94とかも復元できそうですね!ディスクも安いし、ねらい目かも。
あのWindows版アケアカもメモリダンプならやれるんですなぁ
試してもうまくいかないことがあるので、メモリダンプはめっちゃ苦手です;
実はKOFシリーズ(クイズKOFもw)はCD全部持ってますが
PROMが変更されてるものは結局全部ダメですw
買わないでいいですよw
BGMがCDDAの別アレンジなのでサントラとしての使い道はありますけど
自分もKOF94はそこそこ初期のものだからなんとかなるのかも調べてみましたが
全く駄目でしたw
(ものすごく初期の餓狼伝説ですら無理そうだったのでお察しですね)
CD-ROMなのでカセットより容量はあったのでグラフィックデータ(CROM分)は
そのままにされてたんだと思いますがプログラム(PROM)側で
使うモーションデータ等はかなり削られてたりするので別物になってますw
音源ドライバもサウンド(MROM,VROM)も当然CDDA用に改変されてるので
変換できませんねぇ・・・
結局流用できるのはCROMだけという・・・
パズルボブルだけはホントに特殊で海外でもMVSデータに変更しようとしてた人はいます
結局変換できるのかどうか忘れました
CDに変更するのは楽なんですけどね・・・
Richard Roeさん
googleplayメタルスラッグ3とwiivc版kof99に関しては、mowと同じ方法で生成出来ます。
ネオジオCDの変換とは別ですね。
KOF94はCromの合計が0x1000000なので龍虎2とかと一緒だと思われます。つまり、Cromが大量に分割されてます。龍虎2はオリジナル、タクマステージ改ざん版、ネオジオCD版で比較してすでに移植箇所を割り出してます。
kof94は、PSPのアーケードクラシックスのメモリダンプも無理だった気がします。得点王3が駄目だったんで……
ネオジオCDのCromは、ベースボールスターズ2、スラッシュラリーとか先述したフットボールフレンジーなどでは役に立ちますね。
Windows版アケアカは唯一の突破口がメモリダンプです。ただしCromが一番の鬼門になります。
Promは10 00 00 F3や10 00 00 F2あたりで検索。
Sromは11 11 11 11 22 22 辺りで検索。
mromは一番最初の3バイト分が他のゲームと大体一緒なので検索。
Vromは80 88 00あたりを組み合わせて検索。
しげるさん
コメントどうもです!やっぱダメでしたか;
NEOGEOCDは進めば進むほどパターンが削られてるようで何んともかんとも
サントラとかそのまま起動できるという点ではありかな程度ですかね
たしか95だとサイコソルジャーがCD音源ってのは覚えてますw
そういえばファイナルロマンス2は
逆変換されてたんでワンちゃんあるのかな?
今更変換だしても誰得すぎるんですけどもw
サイフォンさん
なるほど、メタスラ了解です。既出分あるので無理にやらなくてよさそうかな
94は黎明期なのに中々面倒くさい子ですね;
NEOGEOCDからのCROMはかなりタイトルを限定されちゃうと
格闘ゲーム全般はパターン関係でキツキツ、無理って事ですかね。
Winアケアカは弄れない!って評判ですからねえ
あの硬さだからマネーアイドルとかサンソフトも出てるのかなぁとか
参考になる情報ありがとうございます!
◯原始島2、ストライカーズ1945plus、ズパパのCrom暗号化について
testmain.cppを書き換えて使います。
その際、case8から追記するのではなく、
case3から挿入します。
その後、cmc42の項目にて
if(titleflag<=5)に書き換えます。
これを組み込んでvisualstudioを使ってビルドしたものを使って変換すれば暗号化できます。
サイフォンさんコメントありがとうございます
ケース8に入れてドツボにはまったやつがここにいますw
あーそういう感じでしたかぁ。しかもVSでいけるんですね。
(今、TaitoLegendsいじりで時間がががが)