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