LSDjのセーブデータバックアップに重宝する、GB USB smart card 64Mというカートリッジが有ります。
Windowsだと、GUIが用意されてて直感的に移行作業ができるんですが、Macには移行用のソフトが付いて無いので、ちょっと工夫が必要です。
大した作業はありませんが、海外の情報がほとんどで、せっかく調べたのでここにまとめます。
実行環境
Mac:OS X バージョン10.9.5
※ある程度Macの開発系の環境に知識がある人を対象に書きます。
用語が分からない方は、適宜ググりながら見て頂けると幸いです。
※ROMの操作や管理については自己責任でお願いします。
ROMやセーブデータが消えても、僕はどうすることもできないので…
1. 必要なライブラリのダウンロード
GB USB smart card 64Mと、Macをつなぐには、EMS Flasherというプログラムを利用します。
Homebrew または MacPortsで、EMS Flasherの実行に必要なライブラリをインストールしておきます。
自分の環境に応じて、以下コマンドを「ターミナル」で実行して下さい。
- Homebrewでインストールする
-
brew install pkgconfig brew install libusb
- MacPortsでインストールする
-
sudo port install pkconfig sudo port install libusb
2. EMS Flasherのダウンロード
EMS Flasher開発者のサイトから、Mac向けのソースをダウンロードします。
ダウンロードしたzipファイルを解凍し、適当なフォルダに移動させます。
3. EMS Flasher の実行
-
ターミナルで、先ほど解凍したEMS Flasherのディレクトリに移動します。
cd (EMS Flasherがあるディレクトリ)
-
ターミナルで、ems-flasher のコマンドを指定して、実行します。
./ems-flasher --(コマンド名)
一応、これでEMS Flasherが使えるようになったはずです。
以下コマンドで、ems-flasherの使用方法を見ることができます。
./ems-flasher --help
番外. EMS Flasherを実行してみる
せっかくなので、EMS Flasherを実行してみます。
- EMS Flasherの使い方を調べる:./ems-flasher --help
-
実行結果サンプル
$ ./ems-flasher --help Usage: ./ems-flasher < --read | --write > [ --verbose ]
./ems-flasher --title ./ems-flasher --version ./ems-flasher --help Writes a ROM or SAV file to the EMS 64 Mbit USB flash cart Options: --read read entire cart into file --write write ROM file to cart --title title of the ROM in both banks --verbose displays more information --bank select cart bank (1 or 2) --save force write to SRAM --rom force write to Flash ROM You MUST supply exactly one of --read, --write, or --title Reading or writing with a file ending in .sav will write to SRAM. To select between ROM and SRAM, use ONE of the --save / --rom options. Advanced options: --blocksize bytes per block (default: 4096 read, 32 write) Written by Mike Ryan and others See web site for more info: http://lacklustre.net/gb/ems/ - カートリッジの中身を確認する:./ems-flasher --title
-
手持ちのGB USB smart card 64Mを、Macに繋いでコマンドを実行します。
実行結果サンプル$ ./ems-flasher --title Bank 0: LSDj-v4.7.3? Hardware support: DMG <+CGB> Cartridge header checksum invalid. This game will NOT boot on real hardware. Bank 1: Hardware support: DMG Cartridge header checksum invalid. This game will NOT boot on real hardware
バンク0に、LSDjが入ってることが認識されてます。 - カートリッジの中身(ROM)を吸い出す:./ems-flasher --read (任意の名前).gb
-
実行結果サンプル
$ ./ems-flasher --read test.gb $
※--verbose オプションを付ければ、メッセージがいくつか出力されます。 - カートリッジの中身(セーブデータ)を吸い出す:./ems-flasher --read (任意の名前).sav
-
実行結果サンプル
$ ./ems-flasher --read test.sav $
吸い出したROMとSAVで、大事なセーブデータのバックアップができますね!
- ROMをカートリッジに移動させる:./ems-flasher --write (任意の名前).gb
-
実行結果サンプル
$ ./ems-flasher --write --verbose /path/to/LSDj-v4.7.3-init.gb trying to find EMS cart claimed EMS cart base address is 0x0 Writing ROM file /path/to/LSDj-v4.7.3-init.gb Successfully wrote 1048576 from /path/to/LSDj-v4.7.3-init.gb
- セーブデータをカートリッジに移動させる:./ems-flasher --write (任意の名前).sav
-
実行結果サンプル
$ ./ems-flasher --write --verbose /path/to/LSDj-v4.7.3-init.sav trying to find EMS cart claimed EMS cart base address is 0x0 Writing SAVE file /path/to/LSDj-v4.7.3-init.sav Successfully wrote 131072 from /path/to/LSDj-v4.7.3-init.sav
これでバックアップデータの復元ができますね!!
あとがき
EMS Flasherをダウンロードしてきて、ターミナルから実行するだけなので、そんなに難しくはないと思います。
だからこそ、Mac向けのGUIも誰かが作ってくれることを期待してますw