LoginSignup
15
11

More than 5 years have passed since last update.

Visual Studio 2015でゲームボーイ開発をやってみる

Last updated at Posted at 2015-08-08

はじめに

ゲームボーイ開発をすごくやりたくなってしまったのですが,さすがにテキストエディタで開発するのはつらいなと思いました.
なので,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のいい書き方があれば教えて下さい.それではさようなら.

15
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
11