IO ポート (メイン) > 0x2106

0x2106 - MOSAIC (モザイク表示用サイズ・スクリーン設定)

アクセスフラグ : 書バ強VH-

D7 D6 D5 D4 D3 D2 D1 D0
x x x x D C B A
  • A/B/C/D : BG1/BG2/BG3/BG4 (1=有効, 0=無効)
  • xxxx : ピクセルサイズ (0=1x1, F=16x16)

モザイクフィルターは、画面を 縦X, 横X のサイズの正方形で分割する。 正方形内の一番左上のピクセルで正方形が塗りつぶされる。 この正方形の一番上のラインを "開始ライン" とすると、 フレーム描画中にこのレジスタを設定する時、 "開始ライン" は、描画中のスキャンラインを指す。 フレーム描画中でない場合、"開始ライン" はフレームの 一番上のラインを指す。 例えば、偶数のラインが全て赤で、奇数のラインが全て青の場合、 フレーム処理中に xxxx = 1 を指定すると、 現在のスキャンラインの位置によって、画面が赤で塗りつぶされるか、 もしくは青で塗りつぶされることになる。

このレジスタに、同じ値を書き込んでも "開始ライン" はリセットされない。

モザイクはスクロール処理後、クリッピング・ウインドウ・ カラーウインドウ・計算の前に適用される。 縦X、 横X のブロックの1部分をクリッピングすることができ、 モザイクのかかっていないBGのように、計算を入れることもできる。 しかし、スクロール処理は1部分だけに入れるようなことはできない。

モード 5/6 はハーフサイズのピクセルを2倍に拡大しなければならない。 xxxx=0 を指定した時にも画面の変更が行われ、 偶数列のハーフサイズピクセル (通常サブスクリーンにある) は、 奇数列のハーフサイズピクセルを隠してしまう。 インターレスモードの時、同じことが垂直方向にも起こる。

モード 7 の場合には、モード 7 の変形処理が 縦X横X のブロックに 何も変化を与えないことから、BG1 のモザイク処理は通常通り行われる。 BG2 の場合、このレジスタのビット A は垂直モザイクを、 ビット B は水平モザイクを表す。 これにより、縦1横X, 縦X横1, 縦X横X ブロックを使うように設定が拡張される。 BG1 はビットAによりXサイズのブロックで表示され、 BG2 の高優先度に設定されているピクセルは 横1縦X に拡張されて BG1 の前に表示されるので、面白い画面処理を行うことができる。

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2017年02月20日 19:08