はじめに
ゲームボーイ開発をすごくやりたくなってしまったのですが,さすがにテキストエディタで開発するのはつらいなと思いました.
なので,Visual Studioで開発できるように環境構築してみました.
コンパイラの準備
ゲームボーイ開発に使われるコンパイラとしてGBDKが有名です.
コンパイラのダウンロードについては,下記のエントリを参考にしてください.
開発環境の導入(GBDK / Windows)
エミュレータの準備
エミュレータは好きなものを使ってください.VisualBoyAdvanceが国産なのでお勧めです.
Visual Studioでの環境構築
面倒くさいのでVisual Studio用のプロジェクトテンプレート作りました.
GBDK用のプロジェクトテンプレート
各種パスを通す
テンプレートで使用しているパスは,GBDK_PATHとGB_EMULATOR_PATHの2種類です.この2つを環境変数に追加してください.
GBDK_PATHには,GBDKをインストールしたフォルダを指定してください.
GB_EMULATOR_PATHには,エミュレータの実行ファイルの絶対パスを指定してください.
プロジェクトテンプレートの配置
プロジェクトテンプレートは,C:\Users\%ユーザ名%\Documents\Visual Studio 2015\Templates\ProjectTemplates
に置かれています.
ダウンロードしたテンプレートをそこに入れてください.
Makefileの書き換え
一応,メイクファイル プロジェクトということになっているので,Makefileの書き換えが必須です.
Makefileを開くと,だいたい以下のようなソースになっています.
LCC = lcc -Wa-l -Wl-m -Wl-j -DUSE_SFR_FOR_REG
# 変更すると面倒くさいので変更しないで!
TARGET = output.gb
# コンパイルしたいCファイルを全て書く
SOURCES = main.c test.c
OBJECTS = $(SOURCES:.c=.o)
source_to_objs:
$(LCC) -c $(SOURCES) -o $(OBJECTS)
$(LCC) -o $(TARGET) $(OBJECTS)
clean:
rm -f *.o *.lst *.map *.gb *~ *.rel *.cdb *.ihx *.lnk *.sym *.asm
このプロジェクトは,VCみたいにすべて自動的にコンパイルすることができません.SOURCESマクロを適宜書き換えて使用することになります.
例えば,hoge.c,test.c,main.cみたいな感じでCファイルがあってヘッダファイルなどで参照されていたりしたら,
SOURCES = main.c test.c hoge.c
みたいな形で書き換えて使ってください.
もし,もっとスマートな方法があれば教えて下さい.
デバッグする
デバッガは付いていませんが,F5を押すとエミュレータが起動するようになっています.ただし,コマンドを書いておいたのですが出力されないので手動で設定する必要があります.
まず,プロジェクトのプロパティを開いて,[構成プロパティ]-[デバッグ]-[コマンド]に$(GB_EMULATOR_PATH)
を追加します.
次に,[コマンド引数]にoutput.gb
を追加します.
これで,デバッグ時にエミュレータが起動するようになります.
中にはVisual Studioと連携できるエミュレータもあるかもしれません.オプションを変更したりして遊んでみてください.
おわりに
これでGBDKでゲームボーイ開発ができるようになります.アセンブラはmakefileのほうに書いてないので,使いたい人は適宜追加してください.
nmakeがあまりにもわがままで使えないので疲れました.nmakeでのMakefileのいい書き方があれば教えて下さい.それではさようなら.