ちょっとマッピー男の子

ROM抽出,エミュレーターFinalBurnNEO,MAME,エミュレーター

元ネタ

どう聞いてもおニャン子クラブです

最近だとパチスロのマッピーで
完走すると聞くことができるそうです
まさかの演出でビックリ。

みんなで遊ぼう!ナムコカーニバルの抽出(後半戦)


前編からの続きになります、注意事項や必要なソフトは前編を参照してください。

このサイトでは抽出情報のみの掲載です
その他の前提条件はご自身で行うようお願いいたします。

前提に関する質問のコメントを頂いても
回答コメントは差し控えさせていただきます

抽出したROMイメージを公衆に配信すると
著作権侵害となりますので厳禁です。

バッチがエラーになる場合

・必要なファイルが、すべてそろっているか確認してください
 nmwii.rso bcut.exe コピペしたバッチファイル(拡張子batまたはcmd)

 ゼビウスとディグダグの追加分
 forcecrc32のWindowバイナリ  dummy.ps1 / dummy2.ps1
 
・ディレクトリの階層を浅い場所で実行してください (例 C:\Namco 等)
 階層が深いとZIP圧縮に失敗することがあるようです。

マッピー

特記事項として日本版のmappyj.zipでした。これは希少かな?
だからと言って当時物は日本語表記ないんですけどね

rem mappyj.zip
bcut nmwii.rso mpx_3.1d 0x1FCE90 0x2000
bcut nmwii.rso mp1_2.1c 0x1FEE90 0x2000
bcut nmwii.rso mp1_1.1b 0x200E90 0x2000
bcut nmwii.rso mp1_4.1k 0x202E90 0x2000
bcut nmwii.rso mp1_5.3b 0x2070E0 0x1000
bcut nmwii.rso mp1_6.3m 0x2080E0 0x2000
bcut nmwii.rso mp1_7.3n 0x20A0E0 0x2000
bcut nmwii.rso mp1-5.5b 0x20D0E0 0x20
bcut nmwii.rso mp1-6.4c 0x20D100 0x100
bcut nmwii.rso mp1-7.5k 0x20D200 0x100
bcut nmwii.rso mp1-3.3m 0x20D300 0x100
mkdir mappyj
move mp1_*.** mappyj\
move mp1-*.** mappyj\
move mpx_3.1d mappyj\
powershell compress-archive mappyj/* mappyj

ギャラクシアン


特に問題ありません
現行MAMEでもFBNeoでも動作します。

rem galaxian.zip
bcut nmwii.rso galmidw.u 0x2B6240 0x800
bcut nmwii.rso galmidw.v 0x2B6A40 0x800
bcut nmwii.rso galmidw.w 0x2B7240 0x800
bcut nmwii.rso galmidw.y 0x2B7A40 0x800
bcut nmwii.rso 7l 0x2B8240 0x800
bcut nmwii.rso 1h.bin 0x2C6CB0 0x800
bcut nmwii.rso 1k.bin 0x2C64B0 0x800
bcut nmwii.rso 6l.bpr 0x2C6490 0x20

mkdir galaxian
move galmidw.* galaxian\
move *.bin galaxian\
move 7l galaxian\
move 6l.bpr galaxian\
powershell compress-archive galaxian/* galaxian

ゼビウス(難あり FBNeoは動作可能・要ダミー生成)


不足ファイル xvi-1.5n  xvi-3.1f (MAMEのみ)MCU(MAMEのみ)

さらにDigdug同様にMAMEではMCU不足なので
現状では古いバージョン(2000・2003他)に変換するしかありません。

ダミーでごまかす

ダミー回避として以下のpowershellスクリプトをコピペ保存

# dummy.ps1
# パラメータの設定
param (
    [string]$fileName = "xvi-1.5n", # ファイル名 xvi-3.1fならそちらに書き換える
    [int]$fileSize = 256, # ファイルサイズ(バイト単位)xvi-3.1fなら279に変更する
    [string]$fillValue = "00" # 埋める値(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)

forcecrc32のWindowバイナリ をダウンロードして
dummy.ps1とforcecrc32.exeと下記をコピペして実行します。

powershell -ExecutionPolicy Unrestricted -File "dummy.ps1"
forcecrc32 xvi-1.5n 252 77245b66

rem xevious.zip
bcut nmwii.rso xvi_1.3p 0x1101E8 0x1000
bcut nmwii.rso xvi_2.3m 0x1111E8 0x1000
bcut nmwii.rso xvi_3.2m 0x1121E8 0x1000
bcut nmwii.rso xvi_4.2l 0x1131E8 0x1000
bcut nmwii.rso xvi_5.3f 0x1201E8 0x1000
bcut nmwii.rso xvi_6.3j 0x1211E8 0x1000
bcut nmwii.rso xvi_7.2c 0x1221E8 0x1000
bcut nmwii.rso xvi_12.3b 0x132640 0x1000
bcut nmwii.rso xvi_13.3c 0x12A640 0x1000
bcut nmwii.rso xvi_14.3d 0x129640 0x1000
bcut nmwii.rso xvi_16.4n 0x12F640 0x1000
bcut nmwii.rso xvi_15.4m 0x12B640 0x2000
bcut nmwii.rso xvi_17.4p 0x12D640 0x2000
bcut nmwii.rso xvi_18.4r 0x130640 0x2000
bcut nmwii.rso xvi_10.2b 0x135240 0x2000
bcut nmwii.rso xvi_9.2a 0x134240 0x1000
bcut nmwii.rso xvi_11.2c 0x137240 0x1000
bcut nmwii.rso xvi-8.6a 0x133640 0x100
bcut nmwii.rso xvi-9.6d 0x133740 0x100
bcut nmwii.rso xvi-10.6e 0x133840 0x100
bcut nmwii.rso xvi-2.7n 0x134140 0x100
bcut nmwii.rso xvi-7.4h 0x133940 0x200
bcut nmwii.rso xvi-6.4f 0x133B40 0x200
bcut nmwii.rso xvi-4.3l 0x133D40 0x200
bcut nmwii.rso xvi-5.3m 0x133F40 0x200

mkdir xevious
move xvi_**.** xevious\
move xvi-**.** xevious\
powershell compress-archive xevious\* xevious

FBNeoで動作確認できています、xvi-3.1fは不要です。
MAMEの場合はできたROMをMAME2000、2003等

Romcenter等で古いROMsetに変換してください。
右クリックからFixitemsでファイル名を自動変更すればOK



このように遊ぶことが可能になります。(0.106)

ディグダグ(難あり/FBNeo公式にドライバー追加完了)



まさかのdigdug1.zip (旧セットdigdugb.zip)
FBNeoは非対応セットなのでドライバをPullRequestしました。
無事に通過したのでビルドは不要になりました。
こちらはMCU不要で動作しました。

# dummy2.ps1
# パラメータの設定
param (
    [string]$fileName = "136007.109", # ファイル名 
    [int]$fileSize = 256, # ファイルサイズ(バイト単位)
    [string]$fillValue = "00" # 埋める値(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)

ダミー込みのバッチです。
MAMEは旧セットに変更が必要です

powershell -ExecutionPolicy Unrestricted -File "dummy2.ps1"
forcecrc32 136007.109 252 77245b66
rem digdug1.zip
bcut nmwii.rso dd1.1 0x296508 0x1000
bcut nmwii.rso dd1.2 0x297508 0x1000
bcut nmwii.rso dd1.3 0x298508 0x1000
bcut nmwii.rso dd1.4b 0x299508 0x1000
bcut nmwii.rso dd1.5b 0x2A6508 0x1000
bcut nmwii.rso dd1.6b 0x2A7508 0x1000
bcut nmwii.rso dd1.7 0x2A8508 0x1000
bcut nmwii.rso dd1.9 0x2AF898 0x800
bcut nmwii.rso dd1.15 0x2A9898 0x1000
bcut nmwii.rso dd1.14 0x2AA898 0x1000
bcut nmwii.rso dd1.13 0x2AB898 0x1000
bcut nmwii.rso dd1.12 0x2AC898 0x1000
bcut nmwii.rso dd1.11 0x2B0198 0x1000
bcut nmwii.rso dd1.10b 0x2AE898 0x1000
bcut nmwii.rso 136007.113 0x2B1298 0x20
bcut nmwii.rso 136007.111 0x2A9798 0x100
bcut nmwii.rso 136007.112 0x2B0098 0x100
bcut nmwii.rso 136007.110 0x2B1198 0x100

mkdir digdug1
move dd1.*** digdug1\
move 136007.*** digdug1\
powershell compress-archive digdug1\* digdug1

不足等

136007.109 (CRC:77245b66 SIZE:256kb)が不足
ドライバーを見ると /* timing – not used */と記載があることから
ゼビウスと同じくダミー&CRC改ざんで対応可能でした

MAMEは、このファイル以外にも
53xx.bin(MCU:Fujitsu MB8843)と
51xx.bin(MCU:Fujitsu MB8843)も不足となります。
これらMCUは偽装しても起動しないと思われます(未検証)

0.119u3: David Haywood
added the rom loading for roms 51xx and 53xx.bin,
which are dumped but not yet hooked up.

アップデート記述から
古いMAMEの0.106用にRomセットをRomcenterを使って
修正すれば動作可能になりました。

MAMEはMCUがらみでかなり厳しいですね。


適当に入れたファイルが誤認されていますが
これでも起動してプレイは可能です。ファイル名が大幅に違うので注意です。
全緑にするならCRCを合わせたダミーを入れましょう。
おそらく2000や2003も対応可能と思われます。

FBNeoのドライバを書いた

FinalBurnNEOのdigdug1ドライバーです
d_galaga.cppの行数付近に適宜コピペして、自分でビルドすれば遊べます。


公式へのプルリク通過したのでWindowsのナイトリービルドは即日
Libretroのコアも数か月中には反映されるでしょう。



無事に通ってよかったよかった(ほっ

追記・修正は随時行う予定です

がんばりました。ゼビウスとディグダグは鬼門ですなぁ。
ミスだらけでしたゴメンナサイ。
問題がありましたらコメントまでお願いいたします。