オレ仕様のゲーム機を作ろう(その20)
前回は,「メイン CPU 基板」を作りました。
オレ仕様のゲーム機を作ろう(その19)
とりあえず,Z80 のプログラムを実行させるところまでできるようになりました。
ただ,入力がジョイスティック,出力が発光ダイオードのみでしたので,これでは大したプログラムを作ることはできません。
今回は,もうチョットゲーム機らしく,画面出力を行う基板を作ってみたいと思います。(まぁ,それでも,大したプログラムが作れるわけではないのですが…w)
作成した基板
(クリックで拡大します)
意外とスカスカですが…,簡単に説明します。
全体的には,ロジック IC と SRAM のみで回路が構成されています。
右側の方に SRAM がありますが,これはパレット RAM です。
パレットは 1 本に付き,R:G:B = (5:5:5) を 16 色定義できます。
15bit なので,32,768 色から選択…ということになります。
画面に出力できる面(プレーン)には,以下の本数をそれぞれ個別に割り当て可能予定です。
- 固定 BG 画面(パターンごとに 16 本中 1 本)
- スクロール BG 画面0(パターンごとに 8 本中 1 本)
- スクロール BG 画面1(パターンごとに 8 本中 1 本)
- スプライト画面(1 枚に付き 16 本中 1 本)
結果,16 色のパレットが全体で 48 本あることになります。
また,上記のそれぞれのプレーンを重ねて画面出力する回路も実装してあります。
それぞれのプレーンの表示優先順は,固定となるようにしました。
固定 BG 画面>スクロール BG 画面1>スプライト画面>スクロール BG 画面0
となっています。
一番優先順位の高い透明ではないドットが画面に表示されることになります。
それぞれのプレーンを構成する回路は,また別の基板に実装するのですが,今回の基板が結構スカスカだったので,スクロール BG 画面のスクロールレジスタを,この基板に実装しました。
そして画面に表示すべきプレーンのドットが決定したら,左下の抵抗でアナログ RGB に変換して,その下のコネクタから,ディスプレイモニターに出力します。
基板を接続してみる
前回まで作った基板の上に接続してみました。
今回の基板は,めずらしく,一発で動作しました(笑)。
動作テストしてみる
動作テストと言っても,各プレーンの基板がまだなので,ドット絵の出力ができません。
0 本目パレットの 0 番の色が,バックドロップカラーになっているので,ドットパターンが表示できなくても,画面に色を表示することはできそうです。
…と言うことで,定期的にバックドロップカラーを変更するテストプログラムを作ってみました。
原色っぽい色のみですが,多分,中間色とかも表示できると思います。
今回はここまでです。
次回は,何か文字を表示してみたいので,固定 BG 画面の基板を作成したいと思います。
それでは,次回に続きます。