NEOGEO BIOSをでっちあげる(MAME)

エミュレーターARCADE,BIOS,MAME,MVS,neogeo,エミュレーター

MAMEではNEOGEOゲームが全NGに

以前、抽出どころかコピーで取り出した
Amazon Prime Gameの真侍魂や餓狼伝説SPのNEOGEO.ZIPですが

当時の収録としては、NEOGEO BIOSとして完品でしたが
MAME0.250ではBIOS不足で全てのNEOGEOゲームがNGになってしまいます
どうせ使うのは数個なのに30個以上必要とするのもアレですけどね・・・

ちなみに

この形式のBIOSはAmazon Prime Game配布分以外では
GOGでLINUXインストーラーがあるゲームには同じ物が含まれていました
RB2餓狼月華1ティンクルスタースプライツで確認しています
SNKタイトルはたくさんありますが、dotEmu系の製品ならいけるかなと
この記事書いてる時には70%オフセールしてました。狙い目ですね。
ダウンロードしたshファイルを解凍ツールにぶち込めば中身が見れます

当時、わりと騒ぎになったんですがdotEMU曰くSNKに了解取ってるとの事
年月経過してもDotemu x GOG x HumbleBundleで
同様の製品を継続販売してるので問題はないのでしょう
え?GOGやHumbleStoreは英語だから、こわくて買い物できない?しらんがな

InternetArchiveによる、当時のDotEmuの見解を出したページへのリンクです

everything is 100% legal, and will always be.

https://web.archive.org/web/20151211173323/https://www.dotemu.com/Letter/NeoGeo.html

と言うわけで安心して利用可能です。

RomCenter

MAME0.250のsplitDatを使って確認
PrimeGameの真侍魂フォルダを指定してあります
TESTXはGOG販売のRB2(LINUX)からコピーした物です(同一BIOSが入手できました)
ゲームROMファイルにはゴミが含まれてるようですが、入手元の証明として残します

海外版の2つ(黄色)はリネームが必要
UniverseBiosはInternet Archive経由で、古い公式ページから3.xを全てダウンロード
最新版の4.0は現在のページからダウンロードできます
手動リネームして再圧縮か、適当な名前で放り込んでRomCenterにリネームしてもらえばOK

BIOSの調査

不足分の調査、下調べです

infoファイルで更新履歴を確認して、不足分を付き合わせました(推測あり)
更新履歴から察するに入手できているのは、0.139までのようですね

0.167
sp1-u2 (mainbios $0 – 128k) US MVS (4 slot, Ver 2) CRC:62f021f4

0.198
sp1-u3.bin (mainbios $0 – 128k) US MVS (U3) CRC:2025b7a2
sp1-j3.bin (mainbios $0 – 128k) Japan MVS (J3, alt) CRC:fbc6d469

0.199
sp-j3.sp1 524288 Japan NEO-MVH MV1C CRC: 486cb450

0.202
sp1-u4.bin 131,072 US MVS (U4) CRC: 1179a30f

日本版のNEO-MVH MV1CやMVSはまだしも、US版を吸い出せはムリ!

CRC書き換え

すべて自己責任で行って下さい
想定外のトラブルが起きる可能性があるので、改造BIOSをMAMEで選ばないでください
心配な人はデフォルトをやめて、UniverseBiosかJAPAN MVS2か3を選んでおけば安心です

CRC改ざんには上記サイトのツールを利用しました
自力でも行えるので、バイナリエディタが面倒な人は
コマンドラインから個別に書き換えして下さい

UniverseBios4.0のCRC A7AAB458→62F021F4に
末尾4バイト書き換えてSP1-U2に偽装しています

131068の数字はどこから来たかといえば
131072 バイト(128Kバイト)なので、4引いて131068から書き込めと言う事です

バイナリエディタで確認すると、末尾に9B 74 FE ADが書き足されています
コレを不足分繰り返せばいいだけです
SHA1では不一致になるので、書き換えBIOSを選ぶと不一致警告が出ます

作業

幸いにも、ほとんどの未所持BIOSが128KBなので
それらはUniBios4.0を書き換えてリネームします
末尾がFFで埋まってるので、末尾4バイトをバイナリエディタで書き換えます

sp1-u2:0001FFFC:9B 74 FE AD
sp1-u3.bin:0001FFFC:3E 74 C9 00
sp1-j3.bin:0001FFFC:EE 1C 81 17
sp1-u4.bin:0001FFFC:FA F4 8F DC

sp-j3.sp1 NEO-MVH MV1C(日本版)は512kbなので
アジア版MVH MV1Cのsp-45.sp1をリネーム&改ざんすることに
00が沢山あるところを狙って書き換えます

sp-j3.sp1:00002010:61 7B 50 5D

書き換えたBIOSとuniversebiosを既存のNEOGEO.zipに放り込みました

ROMCenter(2回目)

リネームが必要なasia-s3.rom→sp-s3.sp1とusa_2slt.bin→sp-u2.sp1以外はOKになってますね
ROMCenter使わない人は手動でリネームしましょう。使う人は修正(Fix item)で完了です。

これで全て緑色になりました。

動作確認

Amazon Prime Gameの真侍魂フォルダを指定しました
SF-XとSoldierGirlAmazonは誤認識です(プレイ不能)
NEO-GEO MV-6F(BIOS)はちゃんと認識しています

128KBの改変BIOSで起動するとBIOSでhardwareTestFailedエラーが出ますが
Aボタン(resume)を押して進めれば、プレイは可能でした(J3,altで確認)

JAPAN NEO-MVH MV1Cを選択して起動すると
ブートアップ後にSYSTEM ROM ERRORが出て遊ぶ事は不可能でした(当然ですね)

ARCADE 0.250

MAMUIFXの流れをくむARCADE0.250での動作確認
問題なく認識されるようになり、NEOGEOタイトルがプレイ可能になりました。

え?ネットに転がってるBIOSダウンロードして遊べばいいだろうって?
それやったらアウトですから、いかにして問題を回避するか苦心してるわけです
さもなくばUS版MVS含めてマザーボードを買ってダンプするしかありません

MCUをDECAPとか紫外線あててロックビット外すとかはハードル高すぎるんで
そういうのはバージョン下げか旧ドライバーにさしかえて独自ビルドするしかないですけどね