[Mega Drive Mini] Project Lunar がリリース

2020/01/11 10:39 Mega Drive Mini 8
  • 2020/01/11 10:39 - .mファイルの解凍方法の紹介を追加
  • 2019/12/31 00:03 - 記事公開

ModMyClassicがメガドライブミニのハック Project Lunar 1.0.0 をリリースしていました。
1.0.0はパブリックベータという扱いのようです。

Project Lunarでは、メガドラのゲームの追加、RetroArchやEmulationStationの起動、USBを介してNANDにSFTPで
アクセス、メガドラミニ用以外のコントローラを使用、等が可能になります。
Project Lunarはm2engage(メガドラミニに実装されているエミュ)がステートセーブの格納に使用するパーティション
にインストールされるようで、そこの空き容量は最大でも170MBです。そのためUSBストレージを使用する事も可能と
なっています。FAT32/exFAT/NTFSがサポートされているようです。

簡単にですが試してみたのでとりあえず記事にする事にしました。



●目次
ModMyClassicのサイトを見ると分かるようにProject Lunarは他にもいくつか機能があります。
そのような機能に関しては試せそうなら試してなんか書けそうならなんか書きます。
FAQは気が向いたら日本語に訳してこの記事に追加します。気が向いたら。



●Project Lunarのインストール

●用意する物
  • メガドラミニ本体
  • データ転送対応のmicroUSBケーブル (USB Aオス - microUSBオス )
  • PC (Windows 7/10)
  • Project Lunar (Windows用ツール)(インストーラー版 or ポータブル版)

ツールの実行ファイルの名前がProjectLunarUIなのでツール名は以降そう書きます。

ProjectLunarUIはインストーラー版でもポータブル版でも、どちらでも構いません。
インストーラー版をダウンロードした場合は事前にインストールしておいてください。
ポータブル版をダウンロードした場合は事前に解凍しておいてください。
32bit/64bit は自身のPC環境に合わせてください。

以下に書く手順は、ProjectLunarUIからメガドラミニにProject Lunarをインストールする作業の手順となります。
インストール作業においてPCとメガドラミニで通信を行うために、データ転送対応のmicroUSBケーブルが必要です。
メガドラミニに付属するケーブルは電源用で、データ転送には対応していません。

ProjectLunarUIはメガドラミニへのインストールに必要なファイルをインターネットからダウンロードします。
インターネットに接続出来ないPCではインストール作業を行わないでください。


●手順
  1. ProjectLunarUI.exe を起動する
    pl_20191230_1.jpg
  2. "Install/Uninstall" をクリックする
    ("Install or Remove Project Lunar" というウィンドウが表示されます)
    (表示後、数秒間何も発生しないかもしれませんが、初動が遅いだけでちゃんと動いてます)
  3. メガドラミニのためのドライバ(FELのためのドライバ、FELに関しては後述)がインストールされていない場合、
    "Device Driver was not found."というポップアップが表示される。表示された場合はOKをクリック
    pl_20191230_2.jpg
    (コンソールが開いてドライバのファイル展開とインストールが行われます。完了すると自動で閉じます)
    pl_20191230_3.jpg
  4. "No console detected." というポップアップが表示されるので、Yesをクリック
    pl_20191230_4.jpg
  5. 「ヘルプガイドを表示しますか」という旨のポップアップが表示されるので、Noをクリック
    (Yesをクリックすると、公式のこのページの内容が表示されます)
    pl_20191230_5.jpg
  6. "Downloading payload from the Internet" と表示されるので完了するまで待つ
    (おそらく、最新のファイルを検出してそれをDLする仕組み)
    DLが完了すると "Waiting for FEL mode..." と表示されるので手順7へ
    pl_20191230_6.jpg
  7. メガドラミニに接続されているケーブルを全て外す
    … と公式の説明には書かれていますが、私が試した限り(作業上外す必要がある)電源だけでOKでした。
    コントローラとHDMIは外さなくても作業に支障はありませんでした。
    (公式の説明が "全て外す" になっている以上、全て外す事が推奨されます)
    (HDMIでテレビ等と接続しておくと、インストール作業の途中で画面出力があるのでそれを確認出来ます)
  8. メガドラミニのパワースイッチをオンにしておく
  9. PCのUSBポートに、用意したUSBケーブルのUSB Aオス側を接続
  10. メガドラミニのリセットボタンを押しながら、用意したUSBケーブルのmicroUSBオス側をメガドラミニに接続
  11. パワーランプが点灯し、消えて再度点灯したらリセットボタンから手を離す

    手順7~11は、Allwinner系のSoCに存在するFELというモードでメガドラミニを起動させる作業です。
    (メガドラミニにはZUIKI Z7213というAllwinner系のSoCが搭載されている)
    FELはUSBを介した通信が可能なモードで、それを利用してProject Lunarをインストールします。
  12. "FEL mode detected. Device: AWUSBFEX" と表示されたらインストール作業開始。完了するまで待つ
    pl_20191230_7.jpg
    実際にインストールが行われる前にNANDのバックアップ処理があります。
    最初にバックアップに必要なファイルが転送され、
    >Executing custom uBoot
    >Waiting for reboot...
    と表示された時点からテレビ等への画面出力があります。
    HDMIケーブルを接続していない場合は、「うっかり電源抜いちゃった」というようなトラブルを防ぐために
    インストールが完了するまでは接続しない方が懸命です。
    NANDのバックアップ完了後、インストールに必要なファイルが転送され、インストールが始まります。
    完了すると"Installation complete!" と表示されます。
    OKをクリックし、FinishをクリックしてProjectLunarUIを終了してください。
    完了するとメガドラミニは自動で再起動し、Project LunarのBOOT MENUが起動します。
    pl_20191230_8.jpg
  13. (HDMIケーブルやコントローラを外していた場合は) HDMIケーブルやコントローラを接続する
  14. enjoy !

ProjectLunarUIの "Install/Uninstall" の処理は、メガドラミニからProject Lunarの実行を検出したかどうかで変わります。
インストール済みであってもProject Lunarを実行(起動)していなければインストールの処理に移行します。
インストール後、メガドラミニをFELではなく普通に起動するとProject Lunarが実行される事になり、ProjectLunarUIは
Project Lunarが実行されている事をUSBを介して検出し、インストールではなくアンインストールの処理に移行します。
アンインストールは、インストール時に作成されるバックアップ内から関連ファイルをリストアする処理のようです。
NANDのバックアップはProjectLunarUIのフォルダの"/lunar_data/Backup/" に作成されています。
削除しないようにしてください。不安な方は安全な場所にコピーしておいてください。


●BOOT MENUと設定に関して

BOOT MENUからはProject Lunar、RetroArch、EmulationStationが起動可能です。
Project Lunarはこのハックの名称ですが、BOOT MENUで言うProject Lunarは、ゲームの追加やIPSパッチ、BOOT
MENUやRetroArchの実行、に対応したメガドラミニのメニュー/エミュ(m2engage)を指します。
RetroArchについては RetroArchに関して をご確認ください。
EmulationStationについては EmulationStationに関して をご確認ください。
(EmulationStationはオプション扱いです。別途インストールしないと起動出来ません。)
いずれかにカーソルを合わせてSTARTボタンを押すと、次回以降それが自動で起動するようになります。
自動起動が設定されている場合、自動起動画面が1秒間表示された後に設定されているものが起動します。
自動起動画面が表示されている間にBボタンを押すと自動起動はキャンセルされ、BOOT MENUが起動します。
(判定時間が1秒なので、Bボタンを押しながらメガドラミニを起動、が確実です。)

Project LunarではWi-Fiがサポートされているようです。Realtekの8188euか8187のアダプタを接続すればWi-Fiでの
通信が可能っぽく、BOOT MENUのNetwork Managerはおそらくそのための設定項目だと思われます。
公式に詳しい解説が無く、Realtekのアダプタが手元に無いため、私にはこれ以上は何も書けません。

以下はBOOT MENU上でBボタンを押すことで開く設定の内容です。
※公式に詳しい解説が無いため、私の認識が間違っている可能性があります。
  • Toggle splashscreen on boot - (デフォルトはOFF)
    メガドラミニ起動時にスプラッシュスクリーンを表示するかどうかの設定です。
  • Toggle RW access on root filesystem - (デフォルトはOFF)
    ファイルシステム全体のRead/Writeを許可するかどうかの設定だと思われます。
  • Toggle the ROOT password - (デフォルトはOFF)
    用途不明
  • Toggle RDNIS (SSH/SFTP via USB) - (デフォルトはON)
    USB(電源兼データ転送に使用しているmicroUSB)経由のSSH/SFTPの通信を許可するかどうかの設定です。
    IPアドレス:169.254.215.100、ポート:22、ユーザー:root、パスワード:(無し)
  • Toggle higher CPU Speed (1.344ghz) - (デフォルトはOFF)
    通常は1.0ghzで動作しているメガドラミニのCPUクロックを1.334ghzに上げるかどうかの設定です。
    メガドラミニの定格は1.5ghzのようですが、安全性/安定性の観点からここでは1.344ghzとなっています。
    メガドラミニのパフォーマンスを向上させたい人はONにしてください。
  • Overcommit RAM (Prevent crashes) - (デフォルトはON)
    RAMのオーバーコミットによりクラッシュを防ぐ事が出来るようで、そのための設定です。
  • Memory Optimisation (Performance + prevent crashes) - (デフォルトはON)
    メモリの最適化によってパフォーマンスが向上しかつクラッシュを防ぐ事が出来るようで、そのための設定です。
  • 256mb DRAM SWAP file (USB ONLY)(prevent crashes) - (デフォルトはON)
    USBストレージを接続している状態でメガドラミニを起動した場合にUSBストレージに256MBのスワップファイルを
    作成し、Project Lunarによるメモリリークがあってもクラッシュしないようにするための設定です。
  • Toggle kiosk mode when launching via M2E or ES (デフォルトはON)
    m2engageやEmulationStationをkiosk modeで起動可能にする事を許可する設定だと思われます。
    (kioskは機能を制限したシステムの通称。ゲーム機の場合は店頭にある試遊用の本体の事)

●USBストレージに関して

FAT32/exFAT/NTFSのUSBストレージがサポートされているようです。

USBストレージはメガドラミニの起動時或いは接続した際に自動で検出され、マウントされます。
USBストレージを接続すると "/media/" にマウントされ、 "/rootfs_data/" (ステートセーブとProject Lunarが格納
されている場所)との同期が行われファイルがUSBストレージ側にコピーされ、"/rootfs_data/" にUSBストレージが
オーバーマウントされ、Project LunarはUSBストレージを参照するようになるようです。
USBストレージが接続されている場合、ステートセーブはUSBストレージ側のみが更新されるようです。

BOOT MENUの設定で "256mb DRAM SWAP file" を有効にしている場合かつメガドラミニ起動時にUSBストレージが
接続されている場合、電源を入れてから10秒後に "/media/swap/256MB.swap"の作成が開始されるようです。
SFTPで接続している時はこのファイルを消さないでください。


●SFTPでの接続に関して

IPアドレス:169.254.215.100、ポート:22、ユーザー:root、パスワード:(無し)

BOOT MENUの設定で "Toggle RDNIS" が有効になっている場合、USBを介してメガドラミニにSFTPで接続する事が
可能になります。PC側にSFTPをサポートしたクライアントソフト(FileZillaやWinSCP等)が必要です。

以下はエンドユーザーにも関係がありそうな場所。
  • /usr/game/system/roms
    romが格納されていますが、.bin形式のromが.m(mzs)形式に圧縮されているようです。
    解凍しないとメガドラミニのm2engage以外でここにあるromを活用する事は出来ません。
    解凍したい方は .mファイルの解凍 をご確認ください。
    なお、一度ProjectLunarUIでGame Managerを使用するとゲーム関連のデータがPC側にコピーされるため、
    ProjectLunarUIのフォルダの以下のディレクトリでメガドラミニ内のromが確認出来るようになります。
    ("/lunar_data/console/(0xx)/alldata.psb_extracted/system/roms")
    (0xxの所は、メガドラミニのリージョンコードだと思われます。)
  • /media
    最初に検出されたUSBストレージのパーティションがマウントされます。
  • /media/mega_drive_saves
    .bin形式のステートセーブが格納されています。
  • /media/project_lunar
    Project Lunarのファイルが格納されています。
  • /media/project_lunar/retroarch
    RetroArchが参照する場所です。
  • /media/project_lunar/emustation
    EmulationStationが格納される場所です。
  • /media/project_lunar/roms
    RetroArchとEmulationStationはデフォルトだとここのromを参照します。RetroArchの場合romはどこに置いても
    良いですが、デフォではここがファイルブラウザの起点として設定されています。変更可能です。
    (正確には "/rootfs_data/project_lunar/roms" が設定されている。(そこにオーバーマウントされる))
  • /rootfs_data
    .bin形式のステートセーブが格納されています。
  • /rootfs_data/project_lunar
    Project Lunarが格納されています。
    USBストレージが接続されている場合はUSBストレージのproject_lunarフォルダでオーバーマウントされます。
  • /rootfs_data/project_lunar/retroarch
    RetroArchが参照する場所です。
  • /rootfs_data/project_lunar/roms
    RetroArchとEmulationStationはデフォルトだとここのromを参照します。RetroArchの場合romはどこに置いても
    良いですが、デフォではここがファイルブラウザの起点として設定されています。変更可能です。

●ゲームの追加

●用意するもの
  • メガドラミニ本体 (Project Lunarインストール済み)
  • データ転送対応のmicroUSBケーブル (USB Aオス - microUSBオス )
  • PC (Windows 7/10)
  • ProjectLunarUI
  • メガドラ/Genesisのゲームのrom (.bin, .gen, .md)

m2engageの互換性のリストが用意されています。ざっと目を通しておくことをオススメします。
Project Lunar - M2ENGAGE Compatibility List


●手順
  1. メガドラミニを起動する (PCとUSB接続した状態で)
  2. (IPSパッチを使用する場合は) 拡張子を除きromと同じファイル名の.ipsファイルを用意し、
    ProjectLunarUIの"/lunar_data/IPS" に配置しておく
  3. PCでProjectLunarUIを起動する
  4. "Open Game Manager" をクリックしてGame Managerを開く
  5. 初回実行時の場合は "Welcome!" というポップアップが表示される場合がある
    表示される場合はOKをクリックする
  6. 初回実行時の場合は "Initial Sync" というポップアップが表示される場合がある
    表示される場合はOKをクリックし、処理が完了するまで待つ
    (メガドラミニのrom情報や空き容量情報の同期処理。ウィンドウ右下のSyncボタンからでも可能)
  7. 初回実行時の場合に "INITIALIZING LOCAL DATA" という処理が入る
    ウィンドウ中央にそう表示される場合は処理が完了するまで待つ
    (ゲーム関連のデータをメガドラミニからPCにコピーする処理)
  8. ウィンドウ左下の "Add new game" をクリックする (romの選択画面が開く)
  9. romを選択する
    (選択すると以下のようなウィンドウが開く)(今回私はナディアのromを使用)
    pl_20191230_9.jpg
    デフォルトのタイトルとしてromのファイル名が利用されるようです。
    アンダースコアはスペースで置換され、括弧は省かれるようです。
  10. (任意) "Get Game Information" をクリックしてromの情報を検索/取得する
    (検索先を "Scraper Source" で選択可能。デフォはScreenScraperで、基本的に変更する必要無し)
    (取得に成功すると "Scraper matches:" に結果が表示されるので、そこからromに適した物を選択する)
    (ファイル名やハッシュ等を用いて検索されるようです)
    (テキストだけでなく表紙と背表紙も取得されます)
    (取得に失敗する場合や取得しない場合は、手順11に)(取得に成功すると以下のような感じになる)
    pl_20191230_10.jpg
  11. (編集したい場合は) タイトル、説明文、コピーライト、プレイヤー数、ジャンル を好きに編集する
    (理由は後述しますが、説明文に関してはここでは編集しない事を推奨します。後で編集可能です)
    (説明文は改行を考慮する必要があります)
  12. (変更したい場合は) ウィンドウ右端で表紙(Box Art)と背表紙(Spine)を変更する
  13. (任意) "6 Button Hack" を適用する場合はチェックを入れる
    (エミュの誤検出により6Bで動作しない一部romに対して6B検出を強制するオプション、らしい)
  14. (IPSパッチを適用する場合は) "Apply IPS Patch" にチェックを入れる
    (事前にパッチを "/lunar_data/IPS" に配置しておく必要有り)
  15. (romのリージョンを変更したい場合は) "ROM Region" でリージョンを変更する
  16. ウィンドウ下の "Add Game" をクリックする

    タイトル、説明文、コピーライト、プレイヤー数、ジャンルの何れかが編集されていない場合は以下が表示されます。
    pl_20191230_11.jpg
    ゲームの追加を行う場合はYes、行わない場合はNoをクリックしてください。

    情報を取得した場合かつタイトルを変更した場合は以下が表示されます。これはYesを選択してください。
    pl_20191230_12.jpg
    Noを選択すると取得したタイトル名を使用してゲームが追加されます。(後で編集は可能です)

    情報を取得した場合かつ説明文を変更した場合は以下が表示されます。これもYesを選択してください。
    pl_20191230_13.jpg
    Noを選択すると取得した説明文を使用してゲームが追加されます。(後で編集は可能です)

    ゲームの追加が完了するとGame Manager上では以下のようになります。
    pl_20191230_14.jpg
    (まだメガドラミニには反映されていません。)
    メガドラミニの言語設定別にタイトルや説明文を編集する事が可能となっています。
    で、どうもGame Managerはゲーム追加時に説明文先頭に "Release Year" が無いとそれを追加するようです。
    英語以外で書きたい場合この挙動は鬱陶しいので、手順11の時点では説明文を編集しない事を勧めました。
    私としては、説明文の編集は追加時のウィンドウではなくこのタイミングで行うことを推奨します。
    (説明文は改行を考慮する必要があります)
    なお、メガドラミニ自体が悪いのかProject Lunarが悪いのかは不明ですが、タイトル、説明文、コピーライトにて
    一部の文字が表示されない事があるようです。私はこれの対処法を把握していません。聞かないでください。
    (これがあるから手順17でメガドラミニ側の画像を出してない。ちゃんと表示されるなら画像出すのに…)
  17. ウィンドウ右下の "Sync" をクリックし、"Do you want to sync now?" と表示されたらYesをクリックする
    メガドラミニとの同期が行われ、メガドラミニにゲームの追加や情報の編集が反映されます。

●RetroArchに関して

BOOT MENUやメガドラミニのメニューから起動可能です。
メガドラミニの空き容量の都合上コアやRetroArchのリソース(アセット等)は最小構成になっているようです。
コアはGenesis GX PlusとPicoDriveの2つが入っています。他のコアは自分で追加する必要があります。
デフォのメニューテーマはozoneのようです。個人的にはXMBが好きなのでXMBにする手順も紹介します。

メガドラミニにUSBストレージを接続してマウントされると、"/media/project_lunar/retroarch" が自動で作成
されます。USBストレージがマウントされた状態でRetroArchを起動すると、そちらのリソースが参照されます。

---------------------------------------------------

●romを配置する場所

どこでも構いませんが、"Load Content" で開かれるパスには "/rootfs_data/project_lunar/roms" が設定されて
います。"Load Content" で開かれるパスは [Settings → Directory → File Browser] で変更可能です。
USBストレージを使用している場合は "/media/project_lunar/roms" が上記パスにオーバーマウントされます。

---------------------------------------------------

●コアの追加

コア(.soファイル)を "/opt/project_lunar/opt/retroarch/config/retroarch/cores" に配置する事で追加可能です。
USBストレージを使用している場合は "/media/project_lunar/retroarch/cores" が上記パスにオーバーマウント
されます。コアは https://modmyclassic.com/project-lunar-cores/ からダウンロード可能です。

---------------------------------------------------

●XMBに変更する手順

SFTPでファイル操作を行う場合の手順となります。
(USBストレージを使用している場合はPCに接続してファイル操作をしても構いません)
  1. [Settings → Drivers → Menu] を "xmb" に変更
  2. [Main Menu → Configuration File → Save Current Configration] で設定を保存
  3. [Main Menu → Quit RetroArch] でBOOT MENUに戻る
  4. "/rootfs_data/project_lunar/retroarch/retroarch.cfg" の、下の方にある xmb_theme の値を "0" に変更する
    (USBストレージを使用している場合は "/media/project_lunar/retroarch/retroarch.cfg" がオーバーマウント)
  5. https://buildbot.libretro.com/assets/frontend/ から assets.zip をダウンロードする
  6. "/rootfs_data/project_lunar/retroarch/assets/" にxmbフォルダを作成する
    (USBストレージを使用していない場合も考慮し、最小の構成でxmbにするためにこの手順にしています)
  7. assets.zipを解凍し、xmbフォルダ内にあるmonochromeフォルダを手順6で作成したxmbフォルダにコピー
    ("/rootfs_data/project_lunar/retroarch/assets/xmb/monochrome")
    (USBストレージを使用していて容量を気にしないならアセット丸ごとコピーで構いません)
  8. RetroArchを起動する
    (この時点でxmbかつmonochromeになっているはず。ただフォントが参照されておらず汚いので手順9)
  9. [Settings → User Inerface → Appearance → Menu Font] で以下のパスを指定する
    "/rootfs_data/project_lunar/retroarch/assets/xmb/monochrome/font.ttf"
  10. [Main Menu → Configuration File → Save Current Configration] で設定を保存
    XMBに変更完了
    pl_20191230_15.jpg

---------------------------------------------------

●日本語化

(英語のままで良い場合は不要ですが一応書いておきます)
[Settings → User → Langurage] を "日本語" に


●EmulationStationに関して

EmulationStationは最初から入っているRetroArchとは違い、オプション扱いです。
(Project Lunarは、そうした後から追加出来る物をProject LunarのMODとして扱います)
私はEmulationStationをほとんど触った事がないため、ここではインストールの手順のみを紹介します。
EmulationStationのインストールにはUSBストレージが必要です。
空き容量の都合上メガドラミニのNANDにはインストール出来ないようになっています。
気が向いたらいろいろと試してなんか書けそうだったらなんか書きます。

●用意するもの
  • メガドラミニ本体 (Project Lunarインストール済み)
  • データ転送対応のmicroUSBケーブル (USB Aオス - microUSBオス )
  • PC (Windows 7/10)
  • ProjectLunarUI
  • USBストレージ
  • EmulationStationの.modファイル

●手順
  1. メガドラミニにUSBストレージを接続しておく
  2. メガドラミニを起動する (PCとUSB接続した状態で)
  3. PCでProjectLunarUIを起動する
  4. "Open Game Manager" をクリックしてGame Managerを開く
  5. メニューのToolsのManage modsをクリックしてMod Managerを開く
  6. "Install mew mod(s)" をクリックし、EmulationStationの.modファイルを選択する
    (インストールが始まります。インストールが完了するとメガドラミニは自動で再起動します)
  7. CloseをクリックしてMod Managerを閉じる
    Game Managerで作業しないならGame Managerも閉じる
  8. メガドラミニでEmulationStationを起動する (起動したらインストール成功)
    "we can't find any systems!" というエラーが表示されBOOT MENUに戻されるかもしれませんが、正常です。
    初回起動時に "/media/project_lunar/roms" に各ハードのフォルダが作成されるので、何か1つでもその中に
    ゲームを用意すると先述のエラーは発生しないようになります。
    サポートされているromの形式は以下を確認してください。
    https://github.com/RetroPie/RetroPie-Setup/wiki/Supported-Systems

●Project Lunarのアンインストール

以下の作業を行う事でProject Lunarはアンインストールされ、メガドラミニは元通りになります。

●用意するもの
  • メガドラミニ本体 (Project Lunarインストール済み)
  • データ転送対応のmicroUSBケーブル (USB Aオス - microUSBオス )
  • PC (Windows 7/10)
  • ProjectLunarUI
  • Project Lunarインストールの際に作成されたNANDのバックアップ

●手順
  1. ProjectLunarUIのフォルダに "/lunar_data/Backup/" がある事を確認する
    (バックアップが無い場合はアンインストール出来ません)
  2. メガドラミニを起動する (PCとUSB接続した状態で)
  3. メガドラミニを起動する
  4. PCでProjectLunarUIを起動する
  5. "Install/Uninstall" をクリックする
  6. "Do you wish to uninstall it now?" というポップアップが表示されるのでYesをクリックする
  7. アンインストール処理が始まるので完了するまで待つ
    完了すると "Uninstall complete!" と表示されます。
    OKをクリックし、FinishをクリックしてProjectLunarUIを終了してください。
    完了するとメガドラミニは自動的に再起動します。

●.mファイルの解凍

Braden Farmer氏がメガドラミニで使用されている.mファイルを解凍する方法を紹介していました。
https://github.com/farmerbb/RED-Project/wiki/Sega-Genesis-Mini
.mファイルや.psbファイルを扱うためのMArchiveBatchToolを使用する方法を取るようです。
https://gitlab.com/modmyclassic/sega-mega-drive-mini/marchive-batch-tool
ProjectLunarUIにはこれの一部が組み込まれていますが、ProjectLunarUIは解凍したファイルをユーザーに保存
させるような機能を実装していないために、現時点でそれをやりたければこれを使用する事になります。
Braden Farmer氏が公開しているビルドはこれがまだ単独で実行出来るツールだった時の物です。
ソースコードを見る限り、少し前に単独での実行を廃止してライブラリにする方針になったようです。
私自身、実はこの記事を最初に執筆した2019年12月30日~31日時点でこのツールの存在に気づいてはいましたが、
その時点ではソースコードもビルドした物も非公開だったために当時試せませんでした。
ソースコードはそれ以前にも公開されていた事があるようですが、2019年12月30日~31日時点ではなぜか非公開
になっていました。その数日後に再度公開される事になったようです。
ちなみに、Project LunarのソースコードはGitLabではなくGitHubで管理されています。
https://github.com/Project-Lunar

---------------------------------------------------

●用意するもの
  • PC (Windows/Linux)(64bit)
  • .NET Core のランタイム
  • MArchiveBatchTool (Braden Farmer氏が公開しているビルド)
  • alldata.binとalldata.psb.m、或いは.mファイル単体 (どこにあるのかは後述します)

以下で紹介する手順/コマンドはWindows環境の場合の手順/コマンドです。
MArchiveBatchToolを使用する前に .NET Core のランタイムをインストールする必要があるようです。
ちなみに、.mファイルは暗号化された物を圧縮した物っぽく、MArchiveBatchToolは.mファイルの解凍/復号の
処理をひっくるめてDecompressと表現しているっぽいです。
そのため、私もそれに倣って「.mファイルの解凍」と表現しています。

---------------------------------------------------

●alldata.binから抽出して一括で解凍する場合

.mファイルを個別に解凍したい方は .mファイルを個別に解凍する場合 をご確認ください。
(基本的には一括での解凍を推奨します)
alldata.binはProject Lunarインストール時にPCにバックアップとしてコピーされます。
(ProjectLunarUIのフォルダの "/lunar_data/Backup/(0xx)/alldata.bin")
(alldata.binから抽出して解凍する場合は同じ場所にあるalldata.psb.mも必要です)

  1. alldata.bin と alldata.psb.m をMArchiveBatchToolのフォルダにコピーする
  2. コマンドプロンプトを開き、cdコマンドでMArchiveBatchToolのフォルダに移動する
  3. 以下のように実行する
    MArchiveBatchTool.exe fullunpack --keep alldata.psb.m zstd nY/RHn+XH8T77 64
    (alldata.bin と alldata.psb.m は紐付けられています。両方が同じディレクトリにある必要があります)
    これでMArchiveBatchToolのフォルダにalldata.psb.m_extractedフォルダが作成され、その中に解凍済みの
    ファイルが出力されるはずです。romは "/alldata.psb.m_extracted/system/roms/" にあります。

    --keep は参照するファイル(今回はalldata.binとalldata.psb.m)を保持するためのオプションです。
    --keep の後に "--outputPath 出力先パス" とする事で出力先を指定する事が可能です。
    alldata.psb.m の部分はalldata.psb.mのパスの指定なので手順1は実際には不要かもしれませんが、参照する
    ファイルがMArchiveBatchToolのフォルダにあった方が指定がスマートになるのでそうしています。
    zstdは圧縮のアルゴリズムで、その後の文字列は暗号化/復号に使用されるシードのようです。

---------------------------------------------------

●.mファイルを個別に解凍する場合

.mファイルはSFTPでメガドラミニから持ってきても良いですが、一度ProjectLunarUIでGame Managerを使用
するとProjectLunarUIのフォルダの "/lunar_data/console/(0xx)/alldata.psb_extracted/" から取得出来ます。
ほとんどの人がalldata.binから抽出して一括で解凍する方法を取ると思うので、こちらは実行するコマンドの
フォーマットの紹介に留めます。パスの部分を変えて下さい。括弧は不要です。
MArchiveBatchTool.exe m unpack --keep (.mファイルのパス) zstd nY/RHn+XH8T77 64
m unpack の場合、出力先は指定出来ず、.mファイルがある場所に出力されるようです。


kood

▼コメント


名無し 2020/01/05 16:00
modファイルに「Japanese UI for all」がUPされていましたが、
インストールすると何が変わるのでしょうか?
管理人 kood 2020/01/05 17:53
>>名無しさん
メガドラミニの全言語/全リージョンで日本語設定時のUIを有効にするMODのようです。
例えば言語設定が英語の場合、通常は紫の背景で上部に「SEGA GENESIS」というロゴが表示されるようになりますが、
そのMODを適用すると設定が英語の場合でも日本語設定時と同じ見た目になります。(表示される文字は設定言語)
日本語設定時の見た目が好きな人向けですね。
シグ 2020/01/13 00:33
メガドラミニにUSBメモリを刺しても認識せず、emulationstationを導入することができません。
usbメモリは、東芝の32GB(USB2.0)です。また、usbを接続しているとメガドラミニがフリーズします。
どうすれば使えるようになりますか?
管理人 kood 2020/01/13 01:16
>>シグさん
別のファイルシステム(FAT32/exFAT/NTFS)でフォーマットしてみてください。
それでも認識しないならメガドラミニとそのUSBメモリとの相性が悪い可能性があるので、別のUSBメモリを用意してください。
私の環境ではUSBストレージ使用時にメガドラミニがフリーズするという症状は確認出来ていませんね…
ちなみに、USBストレージが認識したかどうかはGame ManagerのSystem Informationで確認出来ます。
(認識しているとMedia TypeがUSBとなり、容量の情報がUSBストレージのものになります)
名無し 2020/05/12 13:06
すみません、お伺いしたいのですが
Project Lunarインストール作業中にエラーがでてインストールができません。
手順5でNOを選択後に以下のメッセージが出ます。

ファイルまたはアセンブリ 'System.Net.Http, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'、またはその依存関係の 1 つが読み込めませんでした。
指定されたファイルが見つかりません。
Installation did not complete successfully.

OSはWIN7で64bit版をダウンロードしました。
ロック 2020/09/21 16:03
Project Lunarをアンインストールしたいのですが、Resetting system settingsという表示の後いつまで待っても先に進みません。
何か操作が必要なのでしょうか?
管理人 kood 2020/09/22 05:38
>>ロックさん
少なくとも私が試した限りでは、最初から最後まで操作無しでアンイストールの処理が行われました。
また、Resetting system settingsの処理もすぐに終了しました。
その症状について調べてみた所、以下が見つかりました。
https://old.reddit.com/r/GenesisMini/comments/eo3595/little_guide_on_how_to_uninstall_project_lunar/fgv3gck/
https://old.reddit.com/r/classicmods/comments/gzhy7n/project_lunar_desktop_ui_crashes/
どうやらShiftを押しながら"Install/Uninstall"をクリックする事で緊急用の復元機能が実行可能なようです。
こちらは関連ファイルの復元ではなくNANDバックアップの完全な復元のようです。
もしまだResetting system settingsのままなら、私としてはCancelをクリックした方が良いと思います。
とりあえず私の環境でその機能が使用出来る事は確認しましたが、やるなら自己責任でお願いします。
ロック 2020/09/22 06:39
出来ました、有難う御座いました。


▼コメントを投稿












※「英数字90%以上」のコメントを規制中です。コメントを投稿する際は日本語でお願いします。
※確認ボタンを押すと投稿確認フォームに移ります。投稿確認フォームの送信ボタンを押してください。
※確認フォームにある「メールアドレス」に入力された内容は管理人のみ確認可能です。空欄で構いません。
※確認フォームにある「タイトル」「パスワード」は当ブログでは使用していません。空欄で構いません。
※確認フォームにある「URL」は名前のリンクとして機能します。空欄で構いません。
※確認フォームには非公開コメントのチェック項目がありますが、非公開コメントは受け付けていません。
メールフォームより連絡頂ければメールにてお返事致します。