[1chipMSX]

GRAPHIC123Mの解析

※情報の正確さは保証できません。

この回路は、GRAPHIC1 (SCREEN1), GRAPHIC2 (SCREEN2), GRAPHIC3 (SCREEN4), MOSAIC (SCREEN3) の
表示画素のパレット番号を得るところまでを受け持っています。
ステートマシンになっており、そのシーケンスは、下記のようになっています。

(1) 表示する位置の座標情報からパターンネームテーブルのアドレスを計算
(2) パターンネームテーブルを読む
(3) 読み出したパターン番号に対応するパターンジェネレータテーブルとカラーテーブルの値を読む
(4) 読み出した値から表示する位置に対応する画素のパレット番号を求めて上の階層へ渡す

パレット番号を実際の RGB に変換するのは、上の階層でやられています。

GRAPHIC2 と 3 は、スプライト以外の違いが無いので、この回路の中では区別していません。
(スプライトは別回路が受け持っています)
GRAPHIC1 は、上中下のパターンジェネレータテーブルが共通という点と、8キャラ単位で色が同じという点、
1キャラに2色しかつけられないという点が GRAPHIC2, 3 と異なります。
MOSAIC は、パターンジェネレータテーブルを使わないという点が異なります。

その辺をフラグで切り分けて処理しているようでした。

とりあえず、回路との対応がわかりやすいソースに書き直してみました(graphic123m.vhd 2008/3/16)。

[▲上へ]