bit | 内容 |
---|---|
0-2 | BGモード (0-5=Mode0-5, 6-7=無効) |
3 | CGBモード (0=GBA, 1=CGB, BIOSオペコードで設定されます) |
4 | フレーム選択 (0-1=Frame0-1) (BGモードが4,5のときのみ) |
5 | HBlank中にOAMにアクセス可能か (1=可能) |
6 | OBJマッピングモード (0=2次元, 1=1次元) |
7 | FBlank (1=有効 その間はVRAM,Palette,OAMに高速アクセス可能) |
8 | BG0有効フラグ (1=On) |
9 | BG1有効フラグ (1=On) |
10 | BG2有効フラグ (1=On) |
11 | BG3有効フラグ (1=On) |
12 | OBJ有効フラグ (1=On) |
13 | WIN0有効フラグ (1=On) |
14 | WIN1有効フラグ (1=On) |
15 | OBJWIN有効フラグ (1=On) |
次のテーブルはBGモード0~5がどのような機能を持っているか表したものです。
モード | 伸縮回転 | レイヤ | 画面サイズ | タイル | 色 | 属性 |
---|---|---|---|---|---|---|
0 | No | 0123 | 256x256..512x515 | 1024 | 16/16..256/1 | SFMABP |
1 | Mixed | 012- | -- | -- | -- | -- |
2 | Yes | --23 | 128x128..1024x1024 | 256 | 256/1 | S-MABP |
3 | Yes | --2- | 240x160 | 1 | 32768 | --MABP |
4 | Yes | --2- | 240x160 | 2 | 256/1 | --MABP |
5 | Yes | --2- | 160x128 | 2 | 32768 | --MABP |
属性:
S: Scrolling
F: Flip
M: Mosaic
A: AlphaBlending
B: Brightness
P: Priority
BGモード0-2はタイルモード用です。BGモード3-5はビットマップモード用です。
BGモード1は、BG0,BG1はBGモード0と同じ, BG2はBGモード2と同じ機能です。
ビットマップモードでは 1つまたは2つのフレーム(バッファ)が存在します。2つのフレームが存在する場合は、どちらか1つを表示することができ、もう片方は背景に再描画することができます。
FBlank(強制白塗り, Forced Blank)を有効にすると画面が真っ白になり、この間は、HBlank、VBlank以外でもVRAM、パレット、OAMにアクセスすることが可能になります。
DISPCNT.5を有効にするとHBlank中にOAMにアクセス可能になりますが、1行あたりに描画可能なスプライトの数が減ることになります。
デフォルトではBG0-3有効フラグとOBJ有効フラグ(bit8-12)がBGとOBJの有効無効化に使われます。
bit13-14を通してWindow0/1を有効にすると、特殊効果が適用され、BGとOBJはウィンドウの影響を受けます。
BGモード4-5(ビットマップモード)では、2つのフレームのうちどちらか一方が表示され(bit4で選択)、バックグラウンドでもう一方のフレームを更新することができます。
BGモード3では、利用できるフレームは1つのみです。
BGモード0-2(タイルモード) では、BGマップ や BGキャラクタデータ のベースアドレスを変更することで、同様の効果を得ることができます。
Warning 信頼性低
Normally, red green blue intensities for a group of two pixels is output as BGRbgr (uppercase for left pixel at even xloc, lowercase for right pixel at odd xloc).
When the Green Swap bit is set, each pixel group is output as BgRbGr (ie. green intensity of each two pixels exchanged).
bit | 内容 |
---|---|
0 | グリーンスワップ (0=Normal, 1=Swap) |
1 | 未使用 |
この機能は、最終的に生成される画像(つまり別々のBGとOBJレイヤを混合した後)に適用されるようです。
最終的には、他のディスプレイタイプ(他のピンアウトを持つ)のために意図されています。
通常のGBAハードウェアでは、面白い汚れの効果を生み出しているだけです。
NDSのDISPCNTレジスタは32ビット(0x0400_0000...0x0400_0003)なので、NDSモードではグリーンスワップは存在しませんが、GBAモードではNDSはグリーンスワップをサポートしています。