ガンダーラ Gandhara (English Version)

ROM抽出,エミュレーターFinalBurnNEO,MAME,エミュレーター,ネタ,西遊降魔録

元ネタ

日本のテレビドラマ、西遊記のエンディングソングです。
なんかガンホーだかのMMOでも日本語版が流れてた気がする。

西遊降魔録 流棒妖技ノ章の抽出

必要な物

自己責任という言葉の意味を理解できる事
すべては無保証および免責にて提供されます。

スクラップAさんのライブラリからダウンロードが必要です。


上記からbcutをダウンロードしてください。

BINWALKの導入

WSL(ubuntu/debian)なら下記で2.7がインストール可能です

sudo apt install binwalk

3.0系は大幅な書き直しがされたので、RUSTのcargoから導入になります
rustをインストールした後に下記コマンドを実行します。

cargo install binwalk

他にMSYS2でもver2系を導入可能です。

pacman -S mingw-w64-x86_64-python-binwalk

抽出方法 for FBNeo

binwalk -e GameSaiyugomaroku_skn2024_windows_x64_Release.dll

binwalkで解凍するとフォルダーが生成されるので
そちらにツールをコピーして実行します。

共通ファイルの抽出
bcut 33340 23j4-0.48 0x40000 0x20000
bcut 33340 23j0-0.40 0x60000 0x8000
bcut 33340 23j7-0.103 0xe8000 0x20000
bcut 33340 23j8-0.102 0x108000 0x20000
bcut 33340 23j9-0.101 0x128000 0x20000
bcut 33340 23ja-0.100 0x148000 0x20000
bcut 33340 23j1-0.53 0x168000 0x20000
bcut 33340 23j2-0.52 0x188000 0x20000
アメリカ版 chinagat.zip
bcut 33340 cgate18.bin 0x88000 0x20000
bcut 33340 cgate51.bin 0x20000 0x20000

bcut 33340 chinagat_a-13 0xa8000 0x10000
bcut 33340 chinagat_a-12 0xb8000 0x10000
bcut 33340 chinagat_a-15 0xc8000 0x10000
bcut 33340 chinagat_a-14 0xd8000 0x10000

先に記述した共通ファイルとアメリカ版のファイルをまとめて
chinagat.zipとして圧縮して保存する。

日本語版 saiyugou.zip
bcut 33340 23j3-0.51 0 0x20000
bcut 33340 23j6-0.18 0x68000 0x20000

bcut 33340 saiyugou_a-13 0xa8000 0x10000
bcut 33340 saiyugou_a-12 0xb8000 0x10000
bcut 33340 saiyugou_a-15 0xc8000 0x10000
bcut 33340 saiyugou_a-14 0xd8000 0x10000

先に記述した共通ファイルと日本語版のファイルをまとめて
saiyugou.zipとして圧縮して保存する。

抽出方法 追加分 for MAME

MAME系ではDummyファイルが必要になるのでダミー生成します。

NONE
23jb-0.16 512 46339529
23j5-0.45 256 FDB130A9

Arcade64ではダミー生成で問題なく動作しました(CRCエラー扱い)

グラフィックがBADdumpフラグ付きなので、いずれにせよ起動時にエラー表示がでます。

Powershell スクリプト

適当な名前.ps1で保存、右クリックからPowershellで実行を選ぶ。

# dummy256_23j5-0.45.ps1
## パラメータの設定
param (
    [string]$fileName = "23j5-0.45", # ファイル名 
    [int]$fileSize = 256, # ファイルサイズ(バイト単位)
    [string]$fillValue = "ff" # 埋める値(FFまたは00)
)

# 埋める値をバイト配列に変換
$byteValue = [byte]::Parse($fillValue, [System.Globalization.NumberStyles]::HexNumber)

# 指定したサイズのバイト配列を作成
$bytes = New-Object byte[] $fileSize

# バイト配列を指定した値で埋める
for ($i = 0; $i -lt $fileSize; $i++) {
    $bytes[$i] = $byteValue
}

# バイト配列をファイルに書き込む
[System.IO.File]::WriteAllBytes($fileName, $bytes)
#ここまでをメモ帳にコピペ保存、ファイル名をdummy256_23j5-0.45.ps1として保存
#batでうまく動かない場合は、ファイル右クリックからpowershellで実行すればOk

上記のPowershellスクリプトで23jb-0.16のダミーを作る

copy /b 23j5-0.45+23j5-0.45 23jb-0.16

生成した23jb-0.16と23j5-0.45をsaiyugou.zipchinagat.zipの中に追加する。

CRCの改ざんをする場合 optional CRC fix

エラー回避にCRCを改ざんする場合は、上記を参照に下記コマンドを実行してください。

py forcecrc32.py 23jb-0.16 508 46339529
py forcecrc32.py 23j5-0.45 252 FDB130A9

手前みその自ビルドしたものを使う場合は下記です。

forcecrc32 23jb-0.16 508 46339529
forcecrc32 23j5-0.45 252 FDB130A9

この2ファイルは実際には使っていないので、ダミーでも問題なく動作するはずです。

動作検証

MAMEだとグラフィックのBADダンプ警告がでるので
FBNeoを使うかNONAG改造されたMAMEでも使う方が快適です。

海外版は製造元のテクノスではなく
Taitoアメリカ流通でROMSTARへのライセンス版なのですね。

そう考えると親ROMは、製造元のテクノス表記の日本語版だろうと思うんですけどね。

このゲーム難易度がめっちゃ高い
(特にラスボスはグロい上に即死攻撃乱発)んですが
やたら地元の駄菓子屋とかゲームセンターで流行った記憶があります
しかし37年を経ての初移植ですか、感慨深いですね(おっさん)

そして再ダンプされるとROMが使えなくなるという(怖

現状ではビデオボード側のTOSHIBA TRJ-100が未ダンプで
本来のグラフィックが入ってるだろうとのこと。現状は海賊版が引っ張ってるとか。

しめ

doritosさんのコメントで気づいたのですが
なんか別のテクノス類似コンピレーションソフトの
(Steam未発売)ファイルまで含まれてるっぽいです。

ただしそこから無料で抽出するのは、色々と権利的にも不味いので
DLC等で支払いが出来たらって感じでしょうか。

気になったゲームは抽出出来てしまったので
ゴールデンウィークの雨の日を使ってちまちま消化するかもです。