2011年09月30日

VGA出力の設計(2)

 VGA に表示させることが出来たので、いよいよVDGの出力データを表示させるようにしました。

 縦のライン数は一緒(というか倍)だけど、横のドット数が違うので、2ポートのRAMで乗せ換える事にしますが...

 よーく考えてみると、

 VDG の出力 → 254ライン分を順番に出力する を2度繰り返す。
 VGA の入力 → 525ライン分を順番に入力する。

 1ライン毎に乗せ換えはダメだー。


 という事で、1面分の2ポートRAMを用意して乗せ換えようと考えました。

 が...DE0 に搭載されているCycloneIII の内蔵RAMの容量が 500Kbit 程度しかありません。

 VGA の表示エリアである640×480×12bit のRAM を用意するとなると、3.7Mbit 程度のRAMが必要になります。

 いろいろ考えた結果、次のようにしました。

 PC-6001 の表示エリア(256×192)→1ピクセル当たり、6ビットのRAMを用意(295Kbit)
 PC-6001 の背景エリア      →その行の最後のアトリビュートの値を覚えておく(192×6bit)

 これで何とかなりそうです。


 後は、読み出したデータを色データに変換すれば、表示が可能になります。


 このようにして作成したのが、これです。

VGA出力回路 VHDLファイル


 色データは、PC-6001V の初期設定のものを(勝手に)使いました。

 実際にVGAに画面に表示させると、こんな感じです。

画面出力例


 実機で画面に映ると、感激しますねー。

 ただ、画面の写真だけ見ると、FPGA化から出力したか、エミュレータから出力したのか、本物のPC-6001から出力したのか、判別がつかないんですが(^^;

posted by えすび at 19:05| Comment(0) | FPGA化:画面周り | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
×

この広告は90日以上新しい記事の投稿がないブログに表示されております。