Future Driver

スプライト アトリビュート テーブル(VRAM)

スプライト アトリビュート テーブル(VRAM)

各スプライトの座標・使用パターン・使用パレット等を定義したデータテーブルを スプライトアトリビュートテーブルと呼んでいます。
スプライトアトリビュートテーブルはVRAM上の任意の場所とサイズで配置可能です。
スプライト1匹に必要なデータは下記の様に8bytesです。

bit	15 14 13 12 11 10 9  8  7  6  5  4  3  2  1  0
	0  0  0  0  0  0  Y9 Y8 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0
	0  0  0  0  H1 H0 V1 V0  0 L6 L5 L4 L3 L2 L1 L0
	P  C1 C0 VF HF N10N9 N8 N7 N6 N5 N4 N3 N2 N1 N0
	0  0  0  0  0  0  X9 X8 X7 X6 X5 X4 X3 X2 X1 X0

Yx	Y座標
Lx	0〜79 = 次に描画されるスプライトの番号
Hx	0〜3 = 横サイズ(セル単位)
Vx	0〜3 = 縦サイズ(セル単位)
P	1 = 優先順位フラグ有効, 0 = 無効
Cx	0〜3 = パレット番号
VF	1 = 垂直方向反転表示有効, 0 = 無効
HF	1 = 水平方向反転表示有効, 0 = 無効
Nx	パターン番号
Xx	X座標

Lx はリンク(Link)と呼んでいます。 これはVDPがスプライトをソートし、描画順序を決める為に使われます。 VDPはスプライト0番からソートを開始します。 もし下記の様にリンクが張られていたなら、 スプライト0番→3番→4番→2番の順序になります。

Sprite	LinkTo
0	3	
1		←何処にもリンクされていないので描画されない
2	0	←0番にリンクするとここで終了
3	4
4	2

描画の際はリンクを開始するスプライト0番が最も最背面に、 最後にリンクされたスプライトが最前面になります。
座標はX = 128, Y = 128 がディスプレイ表示範囲内の左上原点となります。



inserted by FC2 system