H8にグラフィック液晶モジュールをつなぐ

バリバリばりえーしょん

戻る


 グラフィック液晶モジュールG2436用のコントローラの色々なバリエーションを作ってみました。以前発表した回路を全く変更することなく、CPLDを焼きなおすだけで異なる機能を実現します。まさにCPLDさまさまですね。

・グラフィック2画面バージョン

 240×64ドットのグラフィック画面を2枚、OR演算で重ねて表示します。メモリマップは

グラフィック画面1枚目

$200000〜$2007FF

グラフィック画面2枚目

$200800〜$200FFF


となります。
(VHDLソース)


を液晶画面上で重ねると、


こんな感じになります。

・キャラクタディスプレイバージョン

 せっかくのグラフィックディスプレイをわざわざキャラクタディスプレイにしてしまいます(笑)。メモリマップは

キャラクタジェネレータ

$200000〜$2007FF

キャラクタコード

$200800〜$2008FF


となります。キャラクタジェネレータ領域には、キャラクタコード0に対応するフォントデータを$200000〜$200007に、キャラクタコード1に対応するフォントデータを$200008〜$20000Fに、といった具合に書き込みます。キャラクタは256種類ですので計2048バイトの領域となります。

 キャラクタコード領域には、表示したいキャラクタのコードを書き込みます。1行あたり32バイトですが末尾の2バイトは表示されません。計8行あります。
(VHDLソース)
 10 POKE &P1DDR,$FF:POKE &P2DDR,$FF 'ADDRESS BUS
 20 POKE &P4PCR,$FF ' PULL-UP ON
 30 POKE &P5DDR,$FF ' ADDRESS BUS
 40 POKE &P6DDR,$FF ' OUTPUT
 50 POKE &P8DDR,$FF ' OUTPUT (USE CS)
 60 POKE &PADDR,$FF ' OUTPUT
 70 POKE &PBDDR,$FF ' OUTPUT
 80 POKE &WCER,$0   ' DON'T USE WSC
 90 FOR I=$200000 TO $2007FF:POKE I,0:NEXT   ' CLEAR CHR-GENERATOR
100 FOR I=$200800 TO $2008FF:POKE I,$20:NEXT ' CLEAR CHR-CODES
110 POKE $200180,$38,$44,$4C,$54,$64,$44,$38,0 ' $30:'0'
120 POKE $200188,$10,$30,$50,$10,$10,$10,$38,0 ' $31:'1'
130 POKE $200190,$38,$44,$44,$18,$20,$40,$7C,0 ' $32:'2'
140 POKE $200198,$38,$44,$04,$38,$04,$44,$38,0 ' $31:'3'
150 POKE $200208,$10,$28,$44,$44,$7C,$44,$44,0 ' $41:'A'
160 POKE $200210,$78,$24,$24,$38,$24,$24,$78,0 ' $42:'B'
170 POKE $200218,$38,$44,$40,$40,$40,$44,$38,0 ' $43:'C'
180 POKE $200220,$78,$24,$24,$24,$24,$24,$78,0 ' $42:'D'
200 FOR I=0 TO 7
210   POKE $200800+I*33,"0123ABCD"
220 NEXT

 上記のプログラムを実行すると

こんな感じになります。

・グラフィックとキャラクタの重ね合わせバージョン

 グラフィックとキャラクタを重ね合わせて表示します。余談ですが、私がMSXユーザーだったころ、グラフィックとキャラクタを重ねて表示できるPC−8801とかX1とかがうらやましくてしかたありませんでした。

 メモリマップは

グラフィック画面

$200000〜$2007FF

キャラクタジェネレータ

$200800〜$200FFF

キャラクタコード

$201000〜$2010FF


となります。
(VHDLソース)

実際に表示したところ。

データコンバータ


 データコンバータを、データの番地を変えられるように直しました。グラフィックデータのアドレスが必ずしも$200000番地とは限らなくなったこと、またアプリケーションによってはいきなり画面に表示しないで一旦作業メモリ上にデータを作成し、あとで画面に表示するようなこともあると思われるからです。

 このソフトが欲しい人はメールください。