OpenEmuと他のエミュレーターでセーブデータをやり取りするには

エミュレーターにはゲーム内のセーブと、エミュレータ独自の「オートセーブ」とか「セーブステート」と色々ややこしいですが、異なるエミュレーター間でセーブデータをやり取りする場合は、ゲーム内セーブのデータを対象にするのが自然なのではないかと思います。
いくつか調べてみました。

OpenEmu

オートセーブとセーブステートが入っているディレクトリ
~/Library/Application Support/OpenEmu/Save States/(コア)/(ROM名)/

この中にオートセーブとセーブステートが一緒に入っていて、それぞれファイル名が以下のような感じ。スロットがあるわけではなくて、セーブステートはプレイ中に取るたびに履歴のように増えていきます。
・オートセーブステート.oesavestate
・セーブ-ゲーム-1 2021-06-28 190856 +0900.oesavestate

ゲーム内セーブが入っているディレクトリ
~/Library/Application Support/OpenEmu/(コア)/Battery Saves/

この中にROM名のついたセーブデータがあります。DSのゲームを例にするとOpenEmuのDSエミュレーターDeSmuMEでは「(ROM名).dsv」という名前で保存されていました。
PlayStationエミュレーター「Mednafen」では「(ROM名+32バイトの文字列).0.mcr」「 (ROM名+32バイトの文字列).1.mcr」という2つのファイルが1セットになっているようです。

RG351PのDSエミュレーターDraStic

RG351PのセーブデータはROMイメージと同じディレクトリが基本のように思うのですが、DSのエミュレーターDrasTicの場合は違っていて下記にありました。

セーブステートが入っているディレクトリ
/storage/roms/gamedata/drastic/aarch64/drastic/savestates

この中に「(ROM名).dss」で入っていました。

ゲーム内セーブが入っているディレクトリ
/storage/roms/gamedata/drastic/aarch64/drastic/backup

この中にの中に「(ROM名).dsv」で入っていました。

DeSmuMEとDraSticの場合はdsvファイルを取り出して、そのまま他方の対象ディレクトリーに保存すればセーブデータを引き継ぐことができました。

R4の場合

ゲーム内セーブはROMファイルと同じ場所に「(ROM).sav」という名前で入っていました。これがちょっとややこしかった。
ゲーム内で保存しているデータなんだから、中身は同じはずだと思い込んで拡張子を「.sav」から「.dsv」に変更しただけで、上のエミュレーターとやり取りしてもうまくいかず、セーブデータを読み込んでいる気配がなく毎回初期状態からスタートしてしまいます。

色々と調べていくうちに、セーブ形式を変換してくれるWebサイトに行き当たり「これかあ!」と思って試してみたら、うまくいきました。
↓こちら
DSセーブデータ変換ツール

ひと手間増えますが、dsvとsavを相互に変換してやり取りすれば大丈夫です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

%d人のブロガーが「いいね」をつけました。