日本語ではC言語による開発の記事が多く、アセンブラによるものはあまりないので、まとめました。なお、私はアセンブリ言語の超初心者であり、記事中のコードは全然上手ではないと思われる。
#開発環境
##ビルド環境
rgbdsが主流っぽい?
https://github.com/rednex/rgbds/releases
- rgbasmがアセンブラ
- rgblinkがリンカ
- rgbfixは、チェックサムの計算などをしてくれるツール
##実行環境
###エミュレータ
エミュレータは、bgbが、再現性が高く良いらしい。また、デバッグ用の機能も充実している。
###実機
実機を持っていないから試していないが、GB USB SMART CARDというのがある模様。チップチューン界隈の人たちが結構つかっている関係か、手に入りやすそうな感じである。
#コード
RAM上の値を1づつ加算する無限ループ。
https://github.com/toh4649/gb-asm/blob/master/helloworld/blank.z80
#ビルド
rgbasm -oblank.obj blank.z80
rgblink -oblank.gb blank.obj
rgbfix -p0 -v blank.gb
.gbファイルが、実行ファイル。
#実行
bgbで, blank.gbファイルを開き、右クリック→other→debuggerでデバッガを開くと、RAMの0xC000番地が激しく変化していることがわかる。
※デバッガがフォーカスされていると実行が止まるので、ゲーム画面にフォーカスをあてる。
#参考資料
gbspec.txt