戻る

GBAのエミュについて

2019年10月
デバッグ作業について焦点をおく. 基本的にwindows以外の環境でデバッグ作業が満足にできるようなGBAエミュレーターはないだろう.

NO$GBA

デバッグ機能が一番充実している. スタック領域, rom領域, 実行領域が同時に見られる上にとても安定しているのでこれをメインに 作業することが多い. symファイルをromファイルと一緒におくことでシンボリック名でアドレスを 表示でき情報を整理しやすく方法も簡単.

VBA-RR

VBAはVisual Boy Advanceの略で本家のVBAは2004年に開発が終了しており それから派生したエミュレーターがいくつかある. その一つがVBA-RR(VBA-ReRecording) であり本家のVBAや他のVBA系のエミュよりデバッグ機能が充実しているのと とても使いやすく値の検索などで手始めにこれを使うのが良い. あまり検索で引っかからないので配布先を書いておく. ちなみにwindows限定のはず, 別のVBA系ではMacに対応したものがあるが(VBA-mなど)望んだ機能は得られない.

VBA-RRの配布先

mGBA

おそらく現在最も開発が活発で正確性の高いエミュレーターだが, デバッグ機能は あまり豊富ではない. Macでも動く.

Bizhawk

様々なプラットフォームを統合したエミュレーターでGBAにも対応している. Coreとして以前はVBAだったが今はmGBAに取って代わった. 実際の使い心地はよくわからない. MacではGUIがビルドできず失敗した. (C#で書かれたプロジェクトなのでランタイムに依存しているのがが辛いところ. ランタイムとGUIが組み合わさるととても厄介)

セーブについて

エミュの扱う"セーブ"は二種類あり, エミュに依存したステートのセーブ(QS, snapshotとも), 実機でもやる普通のゲームデータのセーブと区別される. それぞれ別物のファイルで管理されるのでstateファイル, saveファイルとここでは呼ぶことにする. GBAのエミュレーターはいくつか知られているが GBAハックではこのエミュレーターがあれば完璧, というものではなくいくつかのエミュレーターを駆使して作業することが多い. それぞれのエミュレーターでファイルの管理の方法が違うためここで整理する. どれもセーブファイルは.savで共通なのでそれぞれのエミュレーターに応じて適切な場所にセーブファイルをおくことでそのまま読み込める (名前はromファイル名と同じにすること, エミュレーターは自動的に セーブファイルを読み込むので続きからプレイとなる)

エミュレーター stateファイル名 stateファイルの場所 saveファイル名 saveファイルの場所
NO$GBA "任意のファイル名".SNA SNAPディレクトリ "romファイル名".sav BATTERYディレクトリ
VBA-RR "romファイル名".sgm saveディレクトリ "romファイル名".sav batteryディレクトリ
mGBA "romファイル名".ss1(ssn n:スロット番号) romファイルと同じディレクトリ "romファイル名".sav romファイルと同じディレクトリ
Bizhawk

注意: NO$GBAではsaveファイルの拡張子はSAVで扱うが, 拡張子は大文字小文字区別しないので表が示す通り拡張子はsavでも問題ない. Bizhawkは調べていない. (個人的にall in oneなプログラムは嫌っているのであまり関心がない) NO$GBAのBATTERYやSNAPディレクトリは最初は存在しないかもしれないがセーブ時に生成される.