オレ仕様のゲーム機を作ろう(その3)

前回は,FPGA 上に,Z80 と BG の回路を実装して,表示するところまでやりました。

オレ仕様のゲーム機を作ろう(その2)

今回は,ロジック IC を使って,画面タイミング信号の生成を行ってみます。

試作に便利なブレッドボード

ブレッドボードって聞いたことありますよね?

はんだ付けすることなく,リード部品を穴に差し込んで,回路を作るボードです。失敗してもワイヤを抜いて差し込み直すことによって,簡単に修正することができるので,試験的な回路や,その場でしか使わない回路なんかを作るのにはとても便利です。

外観はこんな感じです。

 

 

縦に数字で 1 から 63 まで行があり,横にアルファベットで A から J まで列があります。同じ数字の行の,A〜E,F〜I は,ボードの裏で電気的に繋がっています。

また,両端に電源用の差し込み穴があり,これは,プラス,マイナス,それぞれがボードの裏で縦に繋がっています。

このことを踏まえて,部品の足を穴に差し込んだり,導線で部品同士を接続して,目的の回路を作るわけです。

基本は,ブランク信号と同期信号

FPGA で作った,画面出力回路を,ブレッドボード上にロジック IC を差し込み,ワイヤで接続します。

必要な信号は,/HBLANK,/HSYNC,/VBLANK,/VSYNC 信号です。過去の記事でも扱ったことがあるので,詳細は省きますが,/HSYNC,/VSYNC は,モニターに直接送ります。

そして,画面に表示する色情報は,/HBLANK,/VBLANK が非アクティブの時に,画面クロックに合わせて,赤,緑,青それぞれの信号を送ってやれば,該当する色のドットが表示されるというわけです。

ブレッドボードに実装

…と言うことで,実際にブレッドボード上に作ったものがこちらです。

 

 

ロジック IC の数は,意外とありますね。ワイヤもぐちゃぐちゃしています。

やっていることは…

水晶発振器を分周して,基準クロックを生成し,カウンタ IC に入れて,カウントします。

そのカウンタの一定範囲を水平ブランク期間として,水平ブランク信号と,水平同期信号を生成します。

水平カウンタが,リセットされるタイミングを,クロックとして垂直カウンタ IC に入れて,同じようにカウントします。

そして,一定範囲を垂直ブランク期間として,垂直ブランク信号と,垂直同期信号を生成します。

動作結果

とりあえず,意図通りに問題なく動作しました。同じ回路を FPGA で事前にテストしているので,動いて当たり前と言えばそうなんですが…。

 

 

今回はここまでです。

ブレッドボード上に回路を組みましたが,このブレッドボード上に,さらなる回路を追加して行くとなると,かなりの数のジャンプワイヤと面積が必要になりそうですので,次回は,ユニバーサル基板に回路を作っていく予定です。

あまり時間が取れないので,作業ペースは遅いですが,いつものように,気長にやっていこうと思います。

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA