プログラマyasuhoの隠れ家

某ソフトウェア企業に勤務するおじさんプログラマyasuhoです

ハードウェア学習教材としてのGBA

ハードウェアの原理を身につけていると,オペレーティング・システム(OS)がハードウェアを抽象化する意味や,プログラムごとにメモリー空間を割り当てる機能の意味を実感できる。メモリーの確保/解放を自動化してくれる仮想マシンのありがたみも理解できる。
<...>
そこでお薦めしたい教材がマイコンである。マイコンとはマイクロ・コントローラの略で,8ビットや16ビットの簡易なプロセサ・コアと一緒に主記憶用のRAM,プログラム格納用のフラッシュROM,各種I/O制御回路,アナログ/デジタル・コンバータ(A/Dコンバータ)などの回路を集積したものだ。

記者の眼 - 「電子工作」で20年前に戻ってみませんか?:ITpro


ハードウェアの理解という意味ではGBAもオススメです。ハードウェアの工作も必要ないし、何よりシンプルで分かりやすいハードウェアのおかげで、ソフトも作りやすい。シンプルでいて実は奥が深いので、マシン性能を引き出す楽しみもあります。


マジコンはちょっと敷居が高いかもしれませんが、そこさえ越えられれば開発はわりと楽チン。優秀なエミュレータも多くあるので、本体で施行錯誤を繰り返す手間も少ない。


もちろんハードウェアに対する理解という意味ではマイコンの方が上ですが、ハードに近い部分のプログラミングをするための素材としてGBAはオススメできるマシンと言えるのではないかと思います。


このへんは私が書くよりも、以前tekezoさんが書かれた記事の方が詳しくて分かりやすいですね。^^;


手軽な低レベルプログラミング環境として GBA はもっと評価されるべき


とか思って上記記事を読んでいたら:

とりあえず ROM WAITCNT を 0x4317 にセットして ROM 読み込みのキャッシュを有効にしよう!


ええーっ!そんなのがあるんですか!!全然知らなかった。ほんと、GBAは奥が深いです・・・