プログラミング」タグアーカイブ

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

プログラミング言語C K&R

C言語の本 K&R 「プログラミング言語C」の刷数

Brian W. Kernighan(カーニハン)、Dennis M. Ritchie(リッチー)によるC言語の書籍 The C Programming language(プログラミング言語C)は、原書では1978年に発売されています。その後に様々なC言語本が出版されていますが、「プログラミング言語C」は出版から40年以上経っても、C言語のバイブルと呼ばれています。
実際、C言語が 1989年にANSI規格になる前はC言語開発者による書籍だったこともあり、実質規格書のように使われ、ANSI(C89)前はK&R規格のような使われ方もしていたようです。

この本は、2人の筆者のイニシャルからK&R本、K&Rなどとも言われています。

この日本語版は共立出版から1981年に出版され、ANSI対応版も1989年に発売されています。40年経った2021年になっても売れ続けているようです。
技術書の超大ベストセラーと言えます。

実際にどのくらい刷られているのかを調べてみました。

刷られているというのは、仮に初版1刷りで1万部出版したとして、その本が売り切れるような場合に、追加で刷って出荷するという事です。重版とも言われます。
一般的な本、ほとんどの本は出しても売れないため、初版1刷りで終わりです。1回の刷りで出す部数は本の種類や人気度によっても異なります。
出しても売れなければ大損なのでうまく計算して行われていますが、人気漫画なら数十万部でしょうが、文字だけの一般書なら数万部でもかなり多い方です。一般的には1万前後のようです。
このような価格も高く、読者層も限られる技術書は初版で5,000部でも多い方です。

K&Rの日本版が1回の刷りでどのくらい出しているのか不明ですが、一般的な技術書の場合、多い場合でも初版で5,000部程度、重版で2,000部程度ではないでしょうか。
少ないと初版1,000部ということもあるようです。

バイブルと呼ばれていても、この本はC言語初心者向けの本ではありません。
プログラミングやC言語の初心者の方は素直に「誰でもわかるC言語」(こんなタイトルの本は実在しません)みたいな本を買いましょう。
おそらく何も知らないでこの本を鵜呑みにすると、1つめのコードのビルドから警告が出て挫折します。

そんな特殊な技術書がどのくらい刷を重ねているかを、ネット情報も駆使して調べてみます。

原書

K&R原書

初版(1st Edition) 1978年
第2版(2nd Edition) 1988年

日本語版の初版

初版の65刷

1981年7月20日 初版1刷発行
https://www.kyoritsu-pub.co.jp/bookdetail/9784320021457

1983年 14刷

1984年 32刷

1984年11月30日 45刷
https://see-ku.com/book/k-and-r/index.html

1986年1月25日 65刷

第2版 (緑の表紙)

ANSI規格準拠の第2版の初版(?)

1989年6月15日 初版1刷

1990年4月25日 41刷
https://twitter.com/tae_sat3/status/949511748473663488

1991年4月1日 91刷
https://electrelic.com/electrelic/node/1320

緑の表紙の101刷

1992年2月20日 101刷
https://kmaebashi.hatenablog.com/entry/2017/09/13/022824

第2版 (白い表紙)

緑の表紙カバーの翻訳改定版で、表紙カバーが白くなった。第2版の実質第2版(第3版?)
何刷からこの版になったかは不明だが、白い表紙版には1994年2月付の挨拶文があるので、この時期の可能性がある。
実際にその後の200刷程度までは表紙等に訳書訂正版という表記がある。

訳書訂正版

1994年3月10日 第2版156刷
https://jp.mercari.com/item/m25459670152

1997年5月1日 191刷
https://jp.mercari.com/item/m37068776348

1997年5月1日 211刷

1999年1月 231刷
http://www.cam.hi-ho.ne.jp/mendoxi/bug/c-lang.html

2000年4月15日 253刷
https://bokko.hatenablog.com/entry/20080621/1214059775

2003年9月10日 288刷
https://jp.mercari.com/item/m56627402670

2005年5月15日 301刷
https://twitter.com/goakafu/status/949887866951233536

白い表紙の第2版326刷

2009年9月15日 326刷

2014年9月30日 340刷
https://twitter.com/nagise/status/949275386801635330

2018年6月1日 347刷

2018年の347刷
2021年1月20日の348刷

発行直後は週刊、それ以降2005年頃までは月刊で刷っており、それ以降は季刊のような感じになっているようです。
347から348は2.5年かかっているので、349が出るのは2024年頃かも知れません。デジタル版の発行部数も気になります。

追記(2022年8月)
2022年1月20日に350刷が出てました。何かのタイミングで半年に1回は増刷してるのかも知れません。すると、これを書いている2022年8月現在351刷が出ててもおかしくないです。

追記(2024年8月)
2024年2月25日に353刷が出てました。

実際何部出ているのか

今回は2018年までのデータしかありませんが、常に売れ続けているので、ちょっと多めに初版含め、1刷あたり2,000部と仮定します。

2,000部 x 348 刷 = 69.4万部

売れている一般の小説などは、短期間に100万部などという話を数年に一度くらい耳にしますが、40年売れ続けている技術書だとこの程度です。
技術書で全国の書店に出回るようなレベルの毎回1万部刷るような事は少ないです。

印税は本の価格の10%が標準なので、K&R本の価格2,800円の10% × 約70万部で約2億円です。
翻訳本なので筆者、翻訳者がこの金額を得られますが、詳細や契約内容によります。翻訳の印税等は契約によって異なるので、実際にどうなっているのかはわかりません。

原書の著者の印税は、おそらく世界中で技術書の中ではベストセラーになっているでしょうから、各国版合わせた筆者の印税は相当な金額になっているでしょう。