VRAM確保での多色表示の思案
28pinのdsPICのRAM容量は16kですが、VRAMを確保する場合1ドット16色が通常ですが何とか色を増やせないか思案してみます
128*128のLCDのドット数は16384ドットになりますが、すでにRAM容量いっぱいになってしまいます
で、1バイト2ドット構成にすれば半分の128*64で8192バイトで確保できます
しかし、1ドットあたりの色は16色になってしまいます
1111ビットに11ビットを足せば64色が保管できる
1バイト=11ビット+11ビット+11ビット+11ビットで4ドット分が確保できるので
単純に計算すれば
8192バイト+4096バイト=12288あれば64色表示が出来るのではないか?
ではどうやってプログラムを実現するか
16色のパレットを4バンクに分けて登録する
PRAM[128][64] //パレット用RAM
BRAM[128][32] //バンク用RAM
BCOL[4][16] //バンク別カラーパレット
ただし、一つのキャラクタに64色使おうとすればかなり複雑になり速度低下の原因になる
一つのキャラクタにつき16色限定し、4種類の16色カラーパレットを用意するようにすればかなり表現力が向上するのではないか?
たとえば、メインキャラクタ用にバンク1を使用し、サブキャラクタ用にバンク2を、で残りの2バンクを背景用のキャラクタに使うようにする
それぞれのバンク専用に関数を用意すればシンプルにプログラミングが出来るのではないか
まだ思考段階なので実際のプログラミングはこれからです
コメント