GBAの開発環境

お久しぶりです。

最近は諸事情で時間が大きく取れているので、前から作りたいなぁと思っていたエミュレータの作成に取り掛かっています。

エミュレート対象は GBA (Game Boy Advance) になります。 まだ調査、分析段階ですが、mgba や virtualboyadvance といったソフトウェアを解析しています。

google で最初の方に出てくる以外で良さそうなサイトは、こことかがまとまっていていいかなと思っています。もっといいのあったら教えてください。

https://problemkaputt.de/gbatek.htm

ROM の解析やテスト用の ROM を作るのに、GBA の開発環境が必要になってくると思います。この方のが一番最新のような気がします。

booth.pm

Dockerfile も公開されているので、その手の人は理解が簡単です。

docker image にも、binutils, gcc などが含まれているので問題なく使うことができてます。

それにしても、mgba すごいですね。こういうもの書けるようになりたいなぁという気持ちしか起こりません。

今、少しわからないところがあって、arm の decoder の部分がわかってないです。

ARMDecoder decoder = _armDecoderTable[((opcode >> 16) & 0xFF0) | ((opcode >> 4) & 0x00F)];

この部分ですね。

decoder なんでこれで デコードできるんだろう って悩んでいます。 ARMv4 の命令フォーマット見たりしているんですけど、いまいち検討がついてません。

精進します。

[追記] 完全に理解した