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 へ戻る