以前 ユニバーサル基板で、SBC68系バスにつながるMC6847 VDGビデオボードを試作しました。だいぶ時間が経っちゃいましたがプリント基板化してみました。
プリント基板化にあたり、VRAMアドレスを$A000→$C000にするなどちょっと回路を見直してます。(それで一部ハマったのですが…)
プリント基板化にあたり…
プリント基板化にあたり、以下の部分の回路を試作ユニバーサル基板版から変更しました。
VRAMアドレスを$C000(デフォルト)と$A000の切り替え式へ
今回VRAMアドレスを$A000から変更して、デフォルトを$C000からにしました。SBC6800などでは問題ないのですが、自分のMC6800マイコンでオリジナルMIKBUGを動かす場合$A000をRAM領域にしたかったという事情がありまして…
VRAMアドレスを$A000にしたいという場合もあるかと思って、ソルダージャンパー(ハンダジャンパー)で切り替えできるようなパターンにしています。
アドレスデコーダーを自前装備
VRAMアドレスをデコードするアドレスデコーダーを自前で装備しました。以前作成したユニバーサル基板版では、SBC6800 AdapterがSBC68系バスに出してくる$A000のデコード信号をあてにしていて、自前でアドレスデコーダをもってませんでした。
先日の6502マイコンなどは自前でアドレスデコーダーを持ってなかったりとか、SBC68系バスの$A000のデコード信号をあてにしない設計の方が柔軟性があるかな?と考えたのです。
またSBC68系バスへデコード信号を出したくなることもあると考えましたので、ソルダージャンパー(半田ジャンパー)で接続できるようにしてみました。

基板データなどはgithubで
基板データ、関連プログラムはいつものgithubで公開しています。ちなみに、後の方で書いてますがREV1基板はバグありです。ちょっとだけパターンカットとかジャンパが必要です。
部品組み付けしてみたら、うまく動かず…
ユニバーサル基板で動作しているものでしたので、動作に自信があったのですが、最初はうまく動きませんでした。以下のようなハマりがありました。
VRAMアドレス変更箇所足りず
VRAMアドレスを$A000から$C000へ変更したのですが、アドレスデコーダーからのVRAM選択信号を供給する場所が2箇所あるのを忘れてて、1箇所が$A000で発動するかたちのままとなってました。
上記の図で赤枠のところが変なのですが…..
アドレスバスを調停している74LS244には正しく$C000の選択信号(VRAM_AD)を供給していましたが、MC6847 VDGビデオICや、データバスの調停をしている74LS245には間違って$A000の選択信号を入れてました。$A000と$C000でバラバラに動いちゃってうまく動かない感じになっちゃいました。
わかりずらいですが、以下の写真のようにパターンカット&ジャンパーを実施しまして対応しました。
74LS138の$A000信号を出している10番ピンから伸びているパターンをカットしまして、LS245のCE(チップイネーブル)とLS244のOEにつながっているところを連結しました。
映像出力部分の芋ハンダ
アドレスバスやデータバスのSBC68系バス側と内部のバスの調停部分を修正したことで、VRAMへの書き込み、読み出しは正常となりました。ただ、RCAピンジャック経由でつないだ先のディスプレーはうんともすんとも言いませんでした。
映像出力段あたりの芋ハンダかな?とルーペでしげしげとみてみましたがよくわからず、映像出力段についている抵抗器とかコンデンサーのあたりを再度 入念にハンダ付しなおしてみました。
最近 老眼が進んだせいか2.54mm幅などのハンダ付も厳しくなってきてて、どうもそのあたりに芋ハンダ(ハンダ付不良)があったようです。再ハンダを繰り返してみたら無事稼働しました!!
今後プリント基板 REV2などにむけて
VDGビデオボード REV1はバグあり基板でありましたので、そのうちREV2を作る際は 間違ったアドレスデコードのあたりを直したいと思います。

基板のパターンで、トランジスタを2つ載せているところのフットプリントをちょょっと幅狭のものにしてしまいました。老眼の私にはかなりハンダ付が辛いものになってしまいました。他の基板では幅広のフットプリントにしていたのですが、ちょっとうっかり幅狭のものにしてしまいました。REV2では直したいところの一つです。
あとは、データシートにも出ている外部キャラクタROMとかの装備もできたらカッコイイのですが、そこまで頑張るかどうかは現時点では不明であります。
またソフトウェア的にもMIKBUGの出力をVRAM側に振ってみたり、電大版TinyBASICの出力をVRAM側に振ってみるなどやってみたいことは色々とありまして、また成果が出てきたらご報告したいと思っているのであります。
コメント
このボードは68バス用ですが、次にKZ80-PC6001(偽)が一歩近づきましたね(*^_^*)
たしかに、偽PC-6001って憧れますね!!