抽出番外編 OutRunの音楽をBridgeM1で聴く update!!

ROM抽出,日常BridgeM1,outrun,sega,Steam,アウトラン,セガ,龍が如く7

龍が如く7から抽出を試みる


画像関係が抽出できませんでしたが
サウンド関係は抽出出来たのでM1で聴いてみようという話です。
20250603 enhanced203の音声修正版を再生する方法を追記しました。   

必要な物と事前準備

BridgeM1

Fujixさん謹製のBridgeM1を導入しています。

bcut


bcutをScrapAさんのサイトからダウンロードしておきます。

龍が如く7

セールの時にでも買いましょう。

YakuzaArcadeDecryptor


SamuraiOndoさんのyakuzaArcadeDecryptorを使って解凍します
動作にはPyBinaryReaderの導入が必要なので導入しておきましょう。

あとは龍が如く7のインストールフォルダーにある
\SteamLibrary\steamapps\common\Yakuza Like a Dragon\runtime\media\data\minigame\segaages_w64
上記フォルダーから、otrフォルダーをyakuzaArcadeDecryptorの解凍したフォルダーにコピーします。

※直接解凍しようとするとYakuza Like a Dragonフォルダーの空白でエラーが出るので回避しています。

decrypt.py path/you/sa_otr_w64.bin

解凍はコピーしたフォルダーのフルパスを指定してあげれば
sa_otr_w64.bin.decryptedが生成されるはずです。

バッチファイル

for BridgeM1 sound rom only

rem pcm
bcut sa_otr_w64.bin.decrypted opr-10188.71 0x2b0040 0x8000
bcut sa_otr_w64.bin.decrypted opr-10189.70 0x2a8040 0x8000
bcut sa_otr_w64.bin.decrypted opr-10190.69 0x2a0040 0x8000
bcut sa_otr_w64.bin.decrypted opr-10191.68 0x298040 0x8000
bcut sa_otr_w64.bin.decrypted opr-10192.67 0x290040 0x8000
bcut sa_otr_w64.bin.decrypted opr-10193.66 0x288040 0x8000
rem sound cpu
bcut sa_otr_w64.bin.decrypted epr-10187.88 0x100040 0x8000

抽出したファイルをoutrun.zipで圧縮したらBridgeM1のROMフォルダーに放り込みます。

あとはBridgeM1からロードさせればOK

音楽修正の話

OUTRUNは後発で音楽修正が入ってますが
それらをキャノンボール(Windowsへの移植版)
enhanced(改造ROM/最新版は実機証明と寄付が必要/旧版はパッチダウンロード可能)を
作ったdjytさんが記事を書いているので貼っときます。



記事ではサターン版は修正されてないと記述がありました
恐らくほとんどの場合、認識出来ない差になるっぽいですけどね
MAMEのドライバーには3DS版での音修正がenhancedに当てられてると記載がありました。

20250603 追記 音楽修正版を聞く方法

BridgeM1にも音楽修正版のROMSETが含まれていますが
旧版の1.0系になっているので修正して203版を聞けるようにします。

手順としては
旧版enhancedのパッチをダウンロードする


記事最下段にGoogleドライブへのリンクがあります。
sega_enhanced_v203.zipの中にある
bspatchフォルダーのpatch-opr-10188.71が必要ファイルです。

bspatchを使ってenhanced_203_opr-10188.71を生成する

patch-opr-10188.71とopr-10188.71をbspatch.exeがあるフォルダーにコピーして
コマンドプロンプトかバッチファイルで下記コマンドを実行

bspatch opr-10188.71 enhanced_203_opr-10188.71 patch-opr-10188.71

完了するとenhanced_203_opr-10188.71が生成されるので
最初に作ったM1用outrun.zipをコピー、outruneh.zipにリネームし
生成したenhanced_203_opr-10188.71を追加する。

M1.xmlを編集して203版のROMが動作するよう修正する
15054行目辺りにコピペする。

	<game name="outruneh" board="OutRun" romof="outrun">
		<description>Out Run (sitdown/upright, Rev B) (Enhanced Edition v2.0.3)</description>
		<year>2014</year>
		<manufacturer>hack (Chris White)</manufacturer>
		<m1data default="129" stop="162" min="1" max="255"/>
		<region type="cpu1" size="65536">
			<rom name="epr-10187.88" size="32768" crc="a10abaa9" sha1="01c8a819587a66d2ee4d255656e36fa0904377b0" offset="0"/>
		</region>
		<region type="samp1" size="229376">
			<rom name="opr-10193.66" size="32768" crc="bcd10dde" sha1="417ce1d7242884640c5b14f4db8ee57cde7d085d" offset="0"/>
			<rom name="opr-10192.67" size="32768" crc="770f1270" sha1="686bdf44d45c1d6002622f6658f037735382f3e0" offset="8000"/>
			<rom name="opr-10191.68" size="32768" crc="20a284ab" sha1="7c9027416d4122791ba53782fe2230cf02b7d506" offset="10000"/>
			<rom name="opr-10190.69" size="32768" crc="7cab70e2" sha1="a3c581d2b438630d0d4c39481dcfd85681c9f889" offset="18000"/>
			<rom name="opr-10189.70" size="32768" crc="01366b54" sha1="f467a6b807694d5832a985f5381c170d24aaee4e" offset="20000"/>
			<rom name="enhanced_203_opr-10188.71" size="32768" crc="c2de09b2" sha1="00777e08ad8eddd48fe58686d4d1db68a78d3d6f" offset="28000"/>
			<rom name="opr-10193.66" size="32768" crc="bcd10dde" sha1="417ce1d7242884640c5b14f4db8ee57cde7d085d" offset="30000"/>
		</region>
	</game>

直下にある旧版とromset名が衝突するのでoutruneh→outrunehaに書き換える

	<game name="outruneha" board="OutRun" romof="outrun">
		<description>Out Run (sitdown/upright, Rev B) (Enhanced Edition v1.1.0)</description>
		<year>2014</year>

同様にm1\lists\jpにあるoutruneh.lstをコピーしてoutruneha.lstにすれば共存可能
使う予定がないなら旧版の記載は全部消しても良い。

BridgeM1側の表記は拡張版 V1.1.0のままだが問題なく再生された。


あ、なんかsplashwaveがきれいになったかも(プラセボ

appendix

Even and odd division

68000 code
bcut sa_otr_w64.bin.decrypted_odd epr-10380b.133 0x20 0x10000
bcut sa_otr_w64.bin.decrypted_even epr-10382b.118 0x20 0x10000
bcut sa_otr_w64.bin.decrypted_odd epr-10381b.132 0x10020 0x10000
bcut sa_otr_w64.bin.decrypted_even epr-10383b.117 0x10020 0x10000

second 68000 CPU
bcut sa_otr_w64.bin.decrypted_odd epr-10327a.76 0x40020 0x10000
bcut sa_otr_w64.bin.decrypted_even epr-10329a.58 0x40020 0x10000
bcut sa_otr_w64.bin.decrypted_odd epr-10328a.75 0x50020 0x10000
bcut sa_otr_w64.bin.decrypted_even epr-10330a.57 0x50020 0x10000

tiles and Sprite missing.

残念ながら画像回りは抽出に引っかかりませんでした
恐らく改変で手が入ってるか、なんかされてるんだと思います。
あれかファンタジーゾーンの時のHSPなアレか。

時間かければ出てくるかもしれませんが、熱意のある人に後は任せます
同様に他タイトルも抽出できると思いますが手を付けてません。

しめ

我こそはという方がいたら是非解析してみてください
ROM_LOAD32_BYTEは過去の記事にあるのでよかったらどうぞ。

後は単体からニコイチくらいしか思いつかないですが
そもそも可能かどうかも危ういところです。

そんなわけでまた次回にでも!

ROM抽出,日常

Posted by Richard Roe