 |
02. GBAの仕様 |
 |
開発をするには仕様を詳しく知らなければ何も出来ません。
それでは仕様を見ていきましょう。
CPU |
ARM7TDMI 16.78MHz |
メモリ |
32KB WRAM(CPU内蔵) 256KB WRAM(CPU外部) 96KB VRAM |
画面解像度・色数 |
240×160 最大32768色表示 |
バックグラウンド |
最大4面 モードにより変化 |
スプライト描画能力 |
最大128個 16色・256色のパレット |
ハードウェア機能 |
拡大縮小・回転・モザイク・半透明 |
サウンド |
PSG音源+PCM音源 スピーカー・ヘッドホン端子付 |
メディア |
ROMカートリッジ |
通信機能 |
ゲームボーイアドバンス専用通信ケーブルによる4人までのマルチプレイが可能 |
発売日・価格 |
2001年3月21日 \9,800 |
ハードの部屋でも載せているスペック表です。
これをみてわかる事は..
CPUは最近良く使われているARM系CPUです。
色数は3万2千色出るようです。
SFCと同じように回転拡大縮小機能をハードウェアで持っています。
VRAMが96Kあります。
サウンドはPCM音源があるので喋らす事も出来ます。
個人的に見た感じではSFC相当の機能はあるようだなと思いました。
初代GBが白黒濃淡4色だったのに比べて
携帯ゲーム機でもとうとう3万2千色もの色が出るようになりましたね。
この表現力の向上は凄い嬉しくもあり楽しみでもあります。
せっかくですので3万2千色の色数を出してみましょう。
尚,メモリ関係は非常にシビアですので注意が必要です。
CPUのスペックにWRAM(ワークラム・作業用メモリ)の値が書いています
検証したところ静的メモリの確保は32Kまでで
動的メモリの確保は256Kまでのようです。
昨今のWindowsなどではメモリ確保しまくれますが
それに慣れていると痛い目を見ます(笑)
細かいメモリの確保・解放に慣れましょう。
(静的メモリ:普通の変数宣言時に確保するメモリの事
動的メモリ:mallocなどでの実行中に確保するメモリの事)
グラフィックを描画する為にまずいくつか,
知っておかなければいけないことがあります。
GBAには画面モードと言う概念があります。
よくスペック表などを見ると最大3万2千色表示可能!バックグラウンド最大4面
とか書いてますが...あくまでこれは「最大」です
「3万2千色表示しながらBG4面を使用!」なんて事は残念ながら出来ません。
それではこのスペックの関係を表にしてみましょう。
Mode(BG) | 拡縮回転 | 画面数 | 画面サイズ | キャラクタ定義数 | 色数/パレット数 |
0 | × | 4(BG0-3) | 256x256〜512x512 | 1024 | 16 / 16 |
1 | × | 2(BG0-1) | 256x256〜512x512 | 1024 | 16 / 16 or 256 / 1 |
○ | 1(BG2) | 128x128〜1024x1024 | 256 | 256 / 1 |
2 | ○ | 2(BG2-3) | 128x128〜1024x1024 | 256 | 256 / 1 |
Mode(Bitmap) | 拡縮回転 | 画面数 | 画面サイズ | フレームバッファ数 | 色数 |
3 | ○ | 1 | 240x160 | 1 | 32768
|
4 | ○ | 1 | 240x160 | 2 | 256 |
5 | ○ | 1 | 160x128 | 2 | 32768 |
と,このようになっています。
なかなか万能には行かないのがわかる事と思います。
3万2千色が使えるのはモード3,5です。
しかしモード5では画面サイズが小さくなります...
これではなんだか悲しいですね。
せっかくですからハイカラーで画面全体を使えるモード3を使ってみましょう。