Gameboy開発環境の情報を集めてみる

ゲームボーイカラーのCPU

プログラミング学習にはいろいろとやり方がありますが、なんだかんだであの伝説のポータブルゲーム機Gameboy(ゲームボーイ)用のソフト開発が一番いいのではないかと思って調べてみました。

もちろん、正規の開発環境は任天堂からしか提供されないですが、有志が勝手に調べた開発環境がかなり充実しています。
一般的なプログラムをやりたくなる目的の1つは「ゲームを作りたい」だと思います。それもWindowsなんかではなく、最終的にはゲーム専用機でやってみたい方が多いのではと思います。
実際にゲームを作っている方でも、任天堂のプラットフォームでゲームをリリースする夢を持って始めた方も多いのではと思います。

その夢に一番近いのがゲームボーイでの開発の気がします。
ゲームボーイなら8ビットCPUなので、コンピュータの基本的な事を学ぶのにシンプルで、アセンブラで機能のすべてを使った事もやろうと思えばやりやすい。ゲーム機本体自体も基本は十字キーとボタン、ディスプレイとスピーカーというシンプルな構成。
ここである程度出来るようになれば、コンピュータの深いところも理解出来たという事なので、これから出てくる新しい事なんかは簡単に応用できるようになるのではないでしょうか。

このゲームボーイのCPUはZ80と8080が混ざったような物なので、PCで一般的なCPUのx86の基本的な事が学べます。
この後にゲームボーイアドバンスの開発をかじれば、CPUはARMになるので、スマートフォンで一般的なARMの基本的な事が学べるでしょう。
いきなりセキュリティ関連でややこしい最新の64bit CPUから学習するよりも、ハードウェアの基本的な事は学びやすいはずです。

2022年現在利用出来る開発環境はC言語とアセンブラ。
まずはC言語である程度やってからアセンブラもちょっと足を踏み入れて、ちょっとでも出来るようになれば、今後の応用次第で何でも可能になるだろう。そんな流れです。
C言語をある程度知っているなら、いきなりアセンブラから入って苦労するというのもいいでしょう。

作ったプログラムをどうやって実機で動かすのかという問題はともかく、エミュレーターで動かせるので、実機自体は後でどうかすれば良いです。
実機は中古で数千円で購入できるので、その辺からどうにかすれば良いです。

そんなことで2022年現在の開発環境です。

ゲームボーイ開発環境

GB Studio

Windows、Mac、Linuxなどでローコード的にGameboyのゲームを開発できる環境。
入門の入門によさそう。

https://www.gbstudio.dev

GBDK

2001年までのGameboy Development Kitが2020年に新しくリブートされた。
C言語とアセンブラで開発出来る。

http://gbdk.sourceforge.net
https://sourceforge.net/projects/gbdk/

https://github.com/gbdk-2020/gbdk-2020

RGBDS

Rednex Game Boy Development System。アセンブラで開発出来る。

https://github.com/gbdev/rgbds
https://rgbds.gbdev.io

WLA-DX

アセンブラで開発出来る。

https://github.com/vhelin/wla-dx

デバッガ

BGB

http://bgb.bircd.org

各種情報源

https://gbdev.io

Gameboy Development Wiki
https://gbdev.gg8.se/wiki/articles/Main_Page

GameBoy Dev’rs
http://www.devrs.com/gb/

PD Roms
https://pdroms.de

https://github.com/gitendo/helloworld
https://gbdev.gg8.se/files/roms/blargg-gb-tests/

コミュニティ

Gameboy Development Forum
https://gbdev.gg8.se/forums/index.php

日本語の情報源

http://boy.game-pc7.com
http://gb-dev.blogspot.com

http://mydocuments.g2.xrea.com/html/gb/gb.html
https://www.dkrk-blog.net/game/gb_dev_basic
https://www.wizforest.com/diary/120123.html

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください