ジェネシス・メガドライブ ミニ2のnand抽出 pt2
更新情報
Windowsのみでnand.binから必要ファイルの抽出が可能です
以下はせっかく調べたのを、消すのも悔しいので残しておきます・・・
nandイメージマウント&抽出編
パート1はこちらから。
用意する物
WSL2またはVMWARE等で動く仮想LINUX環境
確認はVMWARE17&Ubuntu 20.04.4 LTSで行いました。
作業もそちらの流れで行います。
m2-unpacker
nandから抽出したファイルを解凍するために使います。
nand.binをマウントする
nand.binを共有した上でWSL2/VMAREからマウントします。
WSL2の場合はmnt/配下にWindowsドライブがずらずらあるので
nand.binの保存先を指定すればOKのはずです。(未検証)
VMWAREで環境構築しても
Windowsとのファイル共有が行えない人は下記を参照してください
マウントできない!
情報元ではguestmount使えって言われるんですが
何をどうやっても怒られてマウントできませんでした
sudo apt install libguestfs-tools
guestmount -a /path/to/nand.bin -m /dev/sda7 --ro /path/to/mount
たぶんext4指定すればいけるのかもしれないけど
めっちゃイライラして触るの辞めました。ドキュメントがわかりにくい!!(短気
仕方なくkpartxで
nand.binをパーティーションの自動認識してもらい
ループバックデバイスとしてマウントした所、成功しました
$ sudo apt-get install kpartx
kpartxをインストールします
$ sudo kpartx -av nand.bin
$ sudo kpartx -av /path/to/nand.bin
kpartxを実行すると下記のようになりました
ubuntu:~$ sudo kpartx -av nand.bin
device-mapper: reload ioctl on loop12p1 failed: Invalid argument
create/reload failed on loop12p1
add map loop12p2 (253:0): 0 5120 linear 7:12 73728
add map loop12p3 (253:1): 0 2 linear 7:12 1
add map loop12p5 (253:2): 0 4096 linear 7:12 78848
add map loop12p6 (253:3): 0 16384 linear 7:12 82944
add map loop12p7 (253:4): 0 12582912 linear 7:12 99328
add map loop12p8 (253:5): 0 819200 linear 7:12 12682240
add map loop12p9 (253:6): 0 4096 linear 7:12 13501440
$ ls /dev/mapper/
control loop12p2 loop12p3 loop12p5 loop12p6 loop12p7 loop12p8 loop12p9
ubuntu:~$ sudo mount -t ext4 /dev/mapper/loop12p7 /mnt/nand
ubuntu:~$ sudo mount -t ext4 /dev/mapper/loop12p7(環境により変動) /path/to/mount
デバイスマッパーを確認、一番容量の大きいloop12p7をマウントします。
環境によってloop(ほにゃらら)は変動しますから
数字の一番大きい(12582912)ものをマウントします。
これで、/mnt/nandにGenesisMini2のnandがマウントされました。
/mnt/nandは事前に作りました。マウント先なのですが、任意の名前でOkです。
sudo mkdir /mnt/nand
または
sudo mkdir /mnt/ほにゃらら(任意)
WSL2でも実行可能かと思いますが未検証です。
コピーと解凍
マウントされたフォルダーのusr/gameの中にある
alldata.binとalldata.psb.mとm2engageを
m2-unpackerを解凍したフォルダー(Windowsホスト)にコピーします
Windows側でalldata.binをm2-unpacker.exeにドラッグ・アンド・ドロップすると
Extracting 031/config/mode_logo.psb.m
Extracting 031/config/mode_staff.psb.m
Extracting 031/config/mode_staff_text.psb.m
Extracting 031/config/mode_title.psb.m
Extracting 031/config/title_menu_string.psb.m
Extracting 031/config/title_mode_top.psb.m
Extracting 031/config/title_prof.psb.m
Extracting 031/config/title_prof_specdepend.psb.m
Extracting 031/config/title_savedata_string.psb.m
Extracting 031/config/title_session.psb.m
Extracting 031/config/title_setting_game.psb.m
Extracting 031/image/shutdown.psb.m
Extracting 031/motion/bg01.psb.m
だばーっと文字が流れまくって解凍されていきます。
Decompressing X:\mini2dump\m2-unpacker\Unpacked alldata.bin\system\script\systemdata_window_info.nut.m
Decompressing X:\mini2dump\m2-unpacker\Unpacked alldata.bin\system\script\systemdata_work_medal.nut.m
Decompressing X:\mini2dump\m2-unpacker\Unpacked alldata.bin\system\script\systemdata_work_trial.nut.m
Decompressing X:\mini2dump\m2-unpacker\Unpacked alldata.bin\system\script\system_dialog.nut.m
Decompressing X:\mini2dump\m2-unpacker\Unpacked alldata.bin\system\script\utils.nut.m
Decompressing X:\mini2dump\m2-unpacker\Unpacked alldata.bin\system\script\wallpaper.nut.m
Decompressing X:\mini2dump\m2-unpacker\Unpacked alldata.bin\system\script\wallpaperBG.nut.m
Decompressing X:\mini2dump\m2-unpacker\Unpacked alldata.bin\system\script\wipe.nut.m
done!
done!が出るまで待てば終わりです。
m2-unpacker配下の\Unpacked alldata.bin\system\romsに保存されています。
抽出ファイルについて
binファイル 一般的なメガドライブエミュレーターが認識します。
smp/smdファイル m2が独自拡張したメガドライブ用ファイルで現在はプレイ不可能です。
mcdファイル メガCDのファイルですが独自圧縮されています。
三輪サンちゃん、スーパーロコモティブ等々は全て現状ではプレイできません
mcdファイルの解凍方法は未公開ですがTwitterで確認はされています。
情報元 source
検証
今でもこのゲームのBGMは名曲だと思います。
良く収録できたよね・・・
わりと移植度高め。
〆
ミニ初代のように楽ちんツールでサクサクとは行きませんが、抽出は可能ということで。
ディスカッション
コメント一覧
まだ、コメントがありません