ちょっとマッピー男の子
元ネタ
最近だとパチスロのマッピーで
完走すると聞くことができるそうです
まさかの演出でビックリ。
みんなで遊ぼう!ナムコカーニバルの抽出(後半戦)
前編からの続きになります、注意事項や必要なソフトは前編を参照してください。
このサイトでは抽出情報のみの掲載です
その他の前提条件はご自身で行うようお願いいたします。
前提に関する質問のコメントを頂いても
回答コメントは差し控えさせていただきます。
抽出したROMイメージを公衆に配信すると
著作権侵害となりますので厳禁です。
バッチがエラーになる場合
・必要なファイルが、すべてそろっているか確認してください
nmwii.rso bcut.exe コピペしたバッチファイル(拡張子batまたはcmd)
ゼビウスとディグダグの追加分
forcecrc32のWindowバイナリ dummy.ps1 / dummy2.ps1
・ディレクトリの階層を浅い場所で実行してください (例 C:\Namco 等)
階層が深いとZIP圧縮に失敗することがあるようです。
マッピー
特記事項として日本版のmappyj.zipでした。これは希少かな?
だからと言って当時物は日本語表記ないんですけどね
rem mappyj.zip
bcut nmwii.rso mp1_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\
powershell compress-archive mappyj/* mappyj
24/06/08 マッピーのROM名ミスを修正(ゴメンナサイ!)
ギャラクシアン
特に問題ありません
現行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のコアも数か月中には反映されるでしょう。
〆
追記・修正は随時行う予定です
がんばりました。ゼビウスとディグダグは鬼門ですなぁ。
ミスだらけでしたゴメンナサイ。
問題がありましたらコメントまでお願いいたします。
ディスカッション
コメント一覧
>ゼビウスとディグダグは鬼門ですなぁ。
残念です
ナムコの共通ファイルはどれかひとつでも抽出できれば使いまわしが出来るのに
ギャラガ 51xx.bin/54xx.bin
ボスコニアン 50xx.bin/51xx.bin/52xx.bin/54xx.bin
ポールポジション 51xx.bin/52xx.bin/53xx.bin/54xx.bin
ゼビウス 50xx.bin/51xx.bin/52xx.bin/54xx.bin
ディグダグ 51xx.bin/53xx.bin
ポールポジションII 51xx.bin/52xx.bin/53xx.bin/54xx.bin
他にナムコのアーケードゲームが移植されたものと言えばXbox360の「ナムコミュージアム バーチャルアーケード」ですが、果たして抽出可能になるのだろうか?
.xexファイルが展開できればいけそうな気も?
ゼビウスとディグダグは現行ではMCUが絡むので厳しいですねえ
ほぼ復刻には含まれてないでしょうし
ねらい目のPP解析はめっちゃ怒られる可能性大ですし。
.xexファイルをいじるのは下記コメントで記載させてもらってます
https://milkchoco.info/archives/6760/comment-page-1#comment-3984
たぶんこれでいけるんではなかろうかなと。ディスクないので試せませんが;
追記:通常isoの場合はWX360を使わないとダメかもです
「ナムコミュージアム バーチャルアーケード」に収録されているタイトルは
XBLAとして配信されている分(PAC-MAN、MS.PACK-MAN、GALAGA、DIGDUG、XEVIOUS、NEW RALLY-X)と同じなので
そちらで試してみるのも良いかも?
他のナムコのアーケード作品集は、PSP「ナムコミュージアム」とか?
prxファイルとして暗号化されているらしいし、日本で暗号化解除はアウトだからなぁ
aceさんへ
PPSSPPで起動したら暗号化解除してますからなぁ;
Dolphinも同様なんですよね
この辺は安全に倒すかどうかは、人それぞれかなと
ScrapAさんは触らないと明言されてましたな
ちなみに暗号化解除は当時行っていれば
法律なかったので抽出情報が出てくるのはセーフだと思います(詭弁気味
あとはPPSSPPからメモリダンプでしょうか?