さよなら夏の日
元ネタ
さよなら夏の日(願望
異常に暑すぎて、初夏→夏→真夏→酷暑→残暑で秋が飛ぶ!!
グラディウスオリジンコレクションのグラディウスIIIのROM抽出
大変長らくお待たせいたしました。
Steam版かつ最初期版からのROM抽出になります
恐らくアップデートでアドレスが変動する可能性が高いので
抽出には初版から抽出することを推奨します。
DepotDownloaderなどを使えば、後から入手も可能かとおもいますが
特定Depotが無効化された事例もあるので、入手はお早めに。
抽出の情報はdoritosさんとzerocoさんの両名によるコメントからになります
この場をお借りして、貴重な情報提供に感謝を申し上げます。ありがとうございました!
事前準備
いつもの
足を向けて寝られないScrapAさんのサイトにて配布されている
各種ツールをダウンロードしておいてください。
他にCRC調整が必要な場合は以下のサイトか
当サイトでビルド済みの実行ファイル版もあるのでお好みでどうぞ。
グラディウスIII
ROM_LOAD32_WORD_S.txtとROM_LOAD32_BYTE.txtして
メモ帳にコピーアンドペーストして保存する(数字間はタブ区切り)
4
1 0
0 0
3 1
2 14
0 0
1 1
2 2
3 3グラディウスIII 日本版
実行ファイル名が冗長で支障が生じるので
GOCollection.exeにコピーおよびリネームをしておく
FBNeoでは945l14.j28は不要。
bcut.exe GOCollection.exe maincpu.bin 0xe1c730 0x40000
BSwap.exe d B maincpu.bin oddeven.txt 945_s13.f15 945_s12.e15
bcut.exe GOCollection.exe k051960-1.bin 0xe5c730 0x100000
BSwap.exe d B k051960-1.bin ROM_LOAD32_WORD_S.txt 945_a02.l3 945_a01.h3
bcut.exe GOCollection.exe k051960-2.bin 0xf5c730 0x80000
BSwap.exe d B k051960-2.bin ROM_LOAD32_BYTE.txt 945_l04c.m6 945_l04a.k6 945_l03c.h6 945_l03a.e6
bcut.exe GOCollection.exe k051960-3.bin 0xfdc730 0x80000
BSwap.exe d B k051960-3.bin ROM_LOAD32_BYTE.txt 945_l04d.m8 945_l04b.k8 945_l03d.h8 945_l03b.e8
bcut.exe GOCollection.exe 945_a10.b15 0x106c730 0x40000
bcut.exe GOCollection.exe 945_l11a.c18 0x10ac730 0x20000
bcut.exe GOCollection.exe 945_l11b.c20 0x10cc730 0x20000
bcut.exe GOCollection.exe sub-1.bin 0x11ec730 0x40000
BSwap.exe d B sub-1.bin oddeven.txt 945_m09.r17 945_m08.n17
bcut.exe GOCollection.exe sub-2.bin 0x122c730 0x40000
BSwap.exe d B sub-2.bin oddeven.txt 945_l06b.r11 945_l06a.n11
bcut.exe GOCollection.exe sub-3.bin 0x126c730 0x40000
BSwap.exe d B sub-3.bin oddeven.txt 945_l07c.r15 945_l07a.n15
bcut.exe GOCollection.exe sub-4.bin 0x12ac730 0x40000
BSwap.exe d B sub-4.bin oddeven.txt 945_l07d.r13 945_l07b.n13
bcut.exe GOCollection.exe 945_m05.d9 0x15ac730 0x10000
forcecrc32.exe 945l14.j28 252 c778c189MAMEでは0.273までgradius3j.zipで圧縮
FBNeoとMAME0.273以降はgradius3ja.zipで圧縮する
MAME 0.274 以後用 グラディウスIII CPU差分(gradius3j)
bcut.exe GOCollection.exe maincpu.bin-2 0x152c730 0x40000
BSwap.exe d B maincpu.bin-2 oddeven.txt 945_313.f15 945_312.e15RomSetをまるっと変更するのマジ辞めてほしいですね!!
こちらはMAME0.274以後とFBNeo用のgradius3j.zip用メインCPUの差分です。
(なんならgradius3j.zipにこの差分も放り込めば共用可能になるはず)
グラディウスIII Split版 Gradius3jas 差分
bcut.exe GOCollection.exe jasg-1.bin 0xe5c730 0x80000
BSwap.exe d B jasg-1.bin ROM_LOAD32_BYTE.txt 945_a02c.m2 945_a02a.k2 945_a01c.h2 945_a01a.e2
bcut.exe GOCollection.exe jasg-2.bin 0xedc730 0x80000
BSwap.exe d B jasg-2.bin ROM_LOAD32_BYTE.txt 945_a02d.m4 945_a02b.k4 945_a01d.h4 945_a01b.e4
bcut.exe GOCollection.exe samples.bin 0x106c730 0x40000
BSwap.exe d B samples.bin oddeven.txt 945_a10a.c14 945_a10b.c16差分のみ掲載。RomCenterか手動で調整してください。
グラディウスIII アジア版(CRC不一致)
gradius3aになりますがCRC不一致です
うかつにCRC改変するとエミュレーター側のチェックサムエラーで起動しません。
bcut.exe GOCollection.exe maincpu.bin 0x12ec730 0x40000
BSwap.exe d B maincpu.bin oddeven.txt 945_13.f15 945_12.e15とりあえずドライバー追加したFBNMODを用意しました。
gradius3ao.zipとして圧縮してあそべるようにしてあります
それ以外の環境ではCRCをエミュレーター側で無視させれば遊べます。
ドライバー追加分
// Gradius III (Asia) GRADIUS ORIGINS Hack
static struct BurnRomInfo grdius3aoRomDesc[] = {
{ "945_13o.f15", 0x20000, 0x58daefba, 1 | BRF_PRG | BRF_ESS }, // 0 68k #0 Code
{ "945_12o.e15", 0x20000, 0x066da640, 1 | BRF_PRG | BRF_ESS }, // 1
{ "945_m09.r17", 0x20000, 0xb4a6df25, 2 | BRF_PRG | BRF_ESS }, // 2 68k #1 Code
{ "945_m08.n17", 0x20000, 0x74e981d2, 2 | BRF_PRG | BRF_ESS }, // 3
{ "945_l06b.r11", 0x20000, 0x83772304, 2 | BRF_PRG | BRF_ESS }, // 4
{ "945_l06a.n11", 0x20000, 0xe1fd75b6, 2 | BRF_PRG | BRF_ESS }, // 5
{ "945_l07c.r15", 0x20000, 0xc1e399b6, 2 | BRF_PRG | BRF_ESS }, // 6
{ "945_l07a.n15", 0x20000, 0x96222d04, 2 | BRF_PRG | BRF_ESS }, // 7
{ "945_l07d.r13", 0x20000, 0x4c16d4bd, 2 | BRF_PRG | BRF_ESS }, // 8
{ "945_l07b.n13", 0x20000, 0x5e209d01, 2 | BRF_PRG | BRF_ESS }, // 9
{ "945_m05.d9", 0x10000, 0xc8c45365, 3 | BRF_PRG | BRF_ESS }, // 10 Z80 Code
{ "945_a02.l3", 0x80000, 0x4dfffd74, 4 | BRF_GRA }, // 11 Sprites
{ "945_a01.h3", 0x80000, 0x339d6dd2, 4 | BRF_GRA }, // 12
{ "945_l04a.k6", 0x20000, 0x884e21ee, 4 | BRF_GRA }, // 13
{ "945_l04c.m6", 0x20000, 0x45bcd921, 4 | BRF_GRA }, // 14
{ "945_l03a.e6", 0x20000, 0xa67ef087, 4 | BRF_GRA }, // 15
{ "945_l03c.h6", 0x20000, 0xa56be17a, 4 | BRF_GRA }, // 16
{ "945_l04b.k8", 0x20000, 0x843bc67d, 4 | BRF_GRA }, // 17
{ "945_l04d.m8", 0x20000, 0x0a98d08e, 4 | BRF_GRA }, // 18
{ "945_l03b.e8", 0x20000, 0x933e68b9, 4 | BRF_GRA }, // 19
{ "945_l03d.h8", 0x20000, 0xf375e87b, 4 | BRF_GRA }, // 20
{ "945_a10.b15", 0x40000, 0x1d083e10, 5 | BRF_SND }, // 21 K007232
{ "945_l11a.c18", 0x20000, 0x6043f4eb, 5 | BRF_SND }, // 22
{ "945_l11b.c20", 0x20000, 0x89ea3baf, 5 | BRF_SND }, // 23
{ "945l14.j28", 0x00100, 0xc778c189, 6 | BRF_OPT }, // 24 Prom
};
STD_ROM_PICK(grdius3ao)
STD_ROM_FN(grdius3ao)
struct BurnDriver BurnDrvGrdius3ao = {
"gradius3ao", "gradius3", NULL, NULL, "1989",
"Gradius III (Asia)\0", NULL, "Konami", "GX945",
L"Gradius III \u4F1D\u8AAC\u304B\u3089\u795E\u8A71\u3078 (Asia)GRADIUS ORIGINS Hack\0", NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_CLONE | BDF_HACK | BDF_HISCORE_SUPPORTED, 2, HARDWARE_PREFIX_KONAMI, GBF_HORSHOOT, 0,
NULL, grdius3aoRomInfo, grdius3aoRomName, NULL, NULL, NULL, NULL, Gradius3InputInfo, Gradius3DIPInfo,
DrvInit, DrvExit, DrvFrame, DrvDraw, DrvScan, &DrvRecalc, 0x800,
320, 224, 4, 3
};ファイルは上記構成にリネームしてgradius3ao.zipで圧縮してください。
面倒な人は抽出したファイルをまとめてgradius3ao.zipにしたのち
FBNMODからDat出力→Romcenterで処理すればOKです。
しめ

この夏は多忙→疲弊→ダウンのコンボ喰らっておりまして;
どうにかこうにか生きております。
今回はグラディウスIIIの抽出分をまとめました
今回、AMショー版は不完全(音声や表示がバグる)なのでスルーしましたが
気になる人はコメント欄を参照してください
重ねてdoritosさんとzerocoさんには感謝いたします
あと「匿名希望の種おじさん」もありがとうございました。
今回は情報提供をまとめる形となっておりますが、ご容赦頂ければ幸いです。


























ディスカッション
コメント一覧
グラディウスオリジンコレクションがセールに来ていたので買ってみました(割引率は20%と渋いけど)
ROM_LOAD32_BYTE.txtの記載がなかったのでちょっと苦労しましたけど、FBAでgradius3j.zipの起動を確認できました
FBneoでは 945_s13.f15 と 945_s12.e15 のCRCで引っかかって起動できませんでした
945l14.j28 はfsutil file createnewコマンドで空ファイルを作成の後にCRCを変更しています
以上、ご報告までに。。。
ROM_LOAD32_BYTEはこれですね~
https://milkchoco.info/archives/9332
記事に追記しておきました。
gradius3jとかjaは記事中にまとめてあると思うので
そちらの指示に沿えばいけるかと思います。
ダメならROMCenterで整理してあげれば、バッチリ行けるはずです。