Skip to content

Latest commit

 

History

History
73 lines (54 loc) · 2.61 KB

palette.md

File metadata and controls

73 lines (54 loc) · 2.61 KB

🎨 パレット

メモリ空間0x05000000..050003FFはパレット用のメモリ空間です。サイズは1KB(1024バイト)です。

BGパレットとOBJパレットはそれぞれ独立したメモリ領域を持っています。

0x0500_0000..0500_01ff: BGパレット (512バイト, 256色)
0x0500_0200..0500_03ff: OBJパレット (512バイト, 256色)

BGとOBJのパレットは、それぞれ16色×16枚のパレットとしても使えますし、256色の単一パレットとして使うこともできます。

OBJの一部が16色モードとしてパレットを使用している間、他のOBJは256色モードとしてパレットを使用することがあることに注意してください。 これはOBJに限らずBG0-BG3レイヤについても同様です。

透明色

すべてのBG/OBJパレットの色0は透明色として扱います。

よってカタログスペック上では 16(256)色のパレットですが、実際に使えるのは 15(255)色だけです。

背景色

BGパレット0の色0は背景色(Backdrop)として扱います。

背景色は画面上で(非透明色の)BGかOBJが描画されなかったピクセルに表示されます。

色の定義

1色を表すのに2バイト使用します。RGBで32段階で、Bit15は不使用です。

前述のようにパレットのメモリ領域は512バイトなので 256色 or 16色/16パレット を表現可能です。

また32768色を使用可能なBGモード(3, 5)でも色の表現は同じです。

bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
color -- Blue(0..31) Green(0..31) Red(0..31)

注意

基本的に、各色の強度は0..31の32段階ありますが、0..14にした場合全て真っ黒になってしまいます。なので実際に色を表す場合は15..31の間で表していくことになります。

色の強度が上がるにつれて画面は明るくなっていきます。