PC−EngineのVRAMについて


 今回は、BG(バックグラウンド)についてお話しましょう。まず、VRAM 内でのBG関係のデータ格納場所について書いておきます。

 0000H〜07FFH BGアトリビュートテーブル
 0800H〜5EFFH キャラクタパターンジェネレータ

 BGアトリビュートテーブルには、1つのwordに、左上から8*8の表 示領域が割り当てられています。その領域で使用するパレットバンクと、表示 するパターンが格納されている場所が入ります。上位4bitがパレットバン ク番号で、その下の12bitがキャラクタパターンが入っている番地です。 このキャラクタパターンエリアの指定方法は、例えば、その領域で表示したい パターンが 1230H にあるのだったら、その上位12bitを取って、  123H を入れます。なお、各パレットバンク内のカラーコードに対応す る色は、palette命令で設定して下さい。
 キャラクタパターンジェネレータには、BGに描くためのデータが入ってい ます。このデータ構造は複雑ですが、実際にやって頂くと、お分かり頂けると 思います。1つの領域(8*8ドット中)には、16wordのデータを使用し ます。また、16色表示をするために、4つの絵を張り合わせたような形で表 示されます。

桷桷桷。──┐
桷桷。┴─┐│ch 3
桷。┴─┐││
┌┴─┐│├┘
│桷桷├┘
│ch 0├┘↑ch 2
└──┘↑ch 1
VRAM中では、ch0とch1で8word、ch2とch3で、8wor d使用しています。ch0とch1について述べますと、XXX0H番地(XX XHは、080H〜5EFHまでの任意の数)には、その領域の上から1列目のデー タが2ch文入ります。上位8bitにはch1のデータが、下位8bitに はch2のデータが入ります。各々のデータは、2進数で取り扱われます。o nになっているbitに対応するドットが表示されます。ch2とch3につ いても同様です。(ただし、ch2とch3のデータは、XXX8Hより始まり ます。)このエリアでは、カラーコードの設定も行ないますが、そのカラーコー ドについては、次のようになっています。

杣ch 3][ch 2][ch 1][ch 0]B("B"は、2進数であることを表す。)

ch0のビットを下位ビットとする、4bit情報で設定されています。です から、ch0のビットのみがonになっている時は、パレットコード1番でそ の領域に設定されたドットが表示されます。
アトリビュートテーブルのVRAM内での位置づけを、下に表します。
梍ヤ地\bit
         16    87    0
0800H┌──┬──┐
桷桷桷 │桷桷桷桷
桷桷桷 │桷桷桷桷
0808H├──┼──┤
桷桷桷 │桷桷桷桷
桷桷桷 │桷桷桷桷
080FH├──┼──┤
桷桷桷桷桷桷栫c…
桷桷桷 │桷桷桷桷
5EFFH└──┴──┘


★参考文献★
でべろスタータキット・アセンブラ編(徳間書店インターメディア1996)
でべろスタータキット・BASIC編(徳間書店インターメディア1996)

*次回は、スプライトについて御紹介したいと思います。
このコーナーについての、御意見、御感想をお待ちしております。ぜひ、お寄せ下さい。
  • でべろBASICホーム
    山本 裕之
    E-mail:s97a2075@ws.ipc.fit.ac.jp