PC-6001mkIIのデジタルRGB出力を今時のモニタに出したい(RGB変換編)

  • 投稿日:
  • by
  • カテゴリ:

PC-6001mkIIにはRF、コンポジットの他にデジタルRGB出力があります。ただ、今時のディスプレイに表示させるには、やや癖ツヨな仕様になっています。

コネクタはDIN8で、これは当時のコネクタとしてはごく普通。RGBとH SyncとV SyncとGNDが割り当てられていますが、もう一つ、色に関する信号が出ています。要するに、色に関する信号がRGB + Cの4bitで16通り(ただし、0と8はともに黒なので15色)が表示できるようになっていました。

Cの値によって、一部の色を、中間値にすることで、ディスプレイ上で色を変えるのです。当時の専用ディスプレイにはこの回路が内蔵されていたわけですが、もちろん、今時のディスプレイにはないので、相当の処理を行ってやる必要があります。

もし、モニタが15kHzのH Syncをサポートしていれば、この変換だけで、PC-6001mkIIの出力を表示できます。

回路はRGBとCを読んで、RGBに、1,0,または中間値を出力すればいいので、難しくはありません。何ならPICでもできるかと思って回路図引いて、コード書いたところで、ダメっぽいことに気づきました。15kHzでラインを書くということは、320ドット/ラインなら、1ドットは4.8MHzで描画されます。PIC16の最速チップでも40MHzで、色処理をざっと考えてみたら20ステップくらいかかるので、全然間に合わないのです。無念。

なので、TTLで回路を組んでやることにします。既に先人の知恵があるのでありがたく利用させていただきます。中間値は、3ステートバッファを利用して作り出します。

また、後述する理由のために、H SyncとV Syncの混合信号も生成します。ロジックとしては、¬(H^V)でいいのですが、このためだけにXORロジックまで持ってくるとIC多すぎなので、あいているNORとANDで代替しました。

ガーバーデータを置いておくので、興味のある方はどうぞ。部品は以下のものが必要です。

部品数量
74LS02 (TTL 2入力NOR回路x4)3
74LS08 (TTL 2入力AND回路x4)2
74LS125 (3ステートバッファx4)1
100Ω 1/4W 抵抗6
500Ω半固定抵抗6
100uF 16V電解コンデンサ3
DIN8PIN ソケット1
USB Micro Bメス 基板用 電源のみ1
XHコネクタ 2pin1
XHハウジング 2pin1
XHコネクタ 6pin1
XHハウジング 6pin1
XHコネクタ 8pin1
XHハウジング 8pin1
8芯ケーブル1
D-SUB 15pin (VGA)基板用1