TMS9918 グラフィック II
BG画面
パターンのサイズ 8*8
パターン数 256*3
表示画面 32*24
パターン・ジェネレータ・テーブル(PCG)
キャラクターデータ(フォント)を保存します。
このモードでは画面を上中下(トップ、ミドル、ロウ)と3画面に分割して
それぞれ1つのパターンジェネレータを持ちます。
トップ分のパターンジェネレータの後にミドル、ロウとパターンジェネレータは繋がっています
パターンは#0〜# 255でパターン1つのデータは8バイトごとになり
256個*8バイト*3画面で6144(01800H)バイトになります。
パターン・ネーム・テーブル(VRAM)
パターン#nnを画面の何処に表示するかを設定します。
また画面の何処にパターン#nnが書かれているか調べる事もできます。
パターン・ネーム・テーブルも、トップ、ミドル、ロウに分かれていて
それぞれの画面で256パターン表示できます。1画面あたり256バイト
トップ(0, 0)−(31, 7)
ミドル(0, 8)−(31,15)
ロウ(0,16)−(31,23)
8桁*32行*3画面で 768( 0300H)になります。
カラー・テーブル
パターン#nnのカラーを設定しますが、ここも同じく3画面分持っています
カラーは上位4ビットと下位4ビットに分けられます。
d7〜4:パターン#nnの画素が1の部分のカラー
d3〜0:パターン#nnの画素が0の部分のカラー
またカラーはキャラクタ1個の1ラインごとに設定になり
1キャラクタで8バイト必要になります
256個*8ライン*3画面で6144(01800H)バイトになります。
カラー・レジスタ
VDP R#7の設定でバックドロップ画面の色を設定出来ます
d7〜4:無効
d3〜0:バックドロップカラー
スプライト画面
TMS9918のスプライト機能は32個まで表示できますが水平線上に5個以上並ぶと、
スプライト#nnで優先度の低いスプライトの部分が表示されません。
スプライト・パターン・ジェネレータ・テーブル
パターン・ジェネレータ・テーブルと同じくスプライトのキャラクタデータを保存します。
スプライトは#0−# 255でパターン1つのデータは8バイトごとになり
8バイト* 256個で2048( 0800H)バイトになります。
VDP R#1のd1でスプライトサイズが8*8だと1つのスプライトは1パターンですが
16*16だと1つのスプライトで4つのスプライトパターンになり、
スプライト#0〜#3、#4〜#7という風に4つごとに区切られます
16*16の表示は左上が#0、左下が#1、右上が#2、右下が#3になります
16*16のスプライト属性は#0〜#3分取られアクセスはどれでもかまいません
スプライト属性テーブル
32個のスプライトのY、X座標、スプライト#n、カラーを設定します
1つのテーブルは4バイト構成になっていて32個*4で 128(080H)バイトになります
Y座標(0〜192)
X座標(0〜255)
スプライト#nn(0〜255)
カラー:d7 :EC
d3〜0:カラー
Y座標を 208(0D0H)に設定するとそれ以降のスプライト属性テーブルの
スプライトは表示されません
スプライト属性テーブル#10のY座標を 208にすると
スプライト属性テーブル#10〜#31は表示されません
スプライト属性テーブル#0のY座標を208にすると
全部のスプライトの表示がされません
カラーのd7:EC=1にするとスプライトの表示が左に32ドットずれます
主に画面の左端から1ドットづつ出現させる為に使います。
グラフィック I(モード0)
グラフィック II(モード1)
マルチカラー (モード2)
テキスト (モード3)
SG−1000のコーナへ
VDP(TMS9918)へ
Home へ戻る