KZ80マイコン 偽MSX1へ〜ビデオボード(2)

KZ80-TMS9918A

前回書いたとおり、先人の方々の回路を参考に自分のKZ80マイコンに接続すべく回路図を検討しました。

回路の検討

まずは、検討結果の回路図をご覧ください。

  • TMS9918AビデオLSIとスタティックRAMの接続のあたりは元の回路図を参考にしたとおりの配線となってます。
    • もともとはTMS9918Aは独自のVRAMを抱える方式となっていて、DRAMをつなぐための信号線が出ています。
    • RAS/CASの信号線を、74HCT04→74HCT574を使ってアドレスデータとして揃えてSRAMを駆動しています。
  • TMS9918AとZ80とのバス接続はSBC8080バスと直結です。
  • 他のLSIのようにチップイネーブル(CE)にあたる端子がないため、I/O書き込み(IOWR)、IO読み込み(IORD)信号に、74HC139でこの基板用にアドレスデコードした信号を合わせて CSWCSR端子へつないでいます。
  • SBC8080バスのリセット信号は正論理であるため、NOT回路経由でTMS9918Aの RES端子へつないでいます。

ユニバーサル基板で試作

回路図が正しいかどうか自信がなかったので、いつもの秋月電子Bタイプユニバーサル基板で試作を開始しました。
さすがにBタイプ(10cmx7.5cmぐらい)ではキツキツで、コンポジット信号関係のエミッタフォロワ回路の先につなぐRCAコンポジット端子(あの黄色いやつ)が乗り切らなかったため、別基板となりました。

データバスのLSB/MSBが逆

上記の回路図のZ80データバスとTMS9918AビデオLSIの端子間接続をよく見ると、接続があべこべになっていますが、これで正しいのです。

ユニバーサル基板で試作した当初はバスの端子番号通り(D0→CD0、D1→CD1…)とつないでサンプルプログラムを走らせてテストしていたのですが、うんともすんとも動きませんでした。
実はTMS9918Aはテキサス・インスツルメンツが当時出していたTMS9900 CPUに直結するための信号線をもっていて端子名もそのお作法に習っているようなのです。

(注)TI社のチップはMSBとLSBが通常と逆になっています。(ROMの部分ではアドレス、データバスの並びが逆なのはその為です

http://www43.tok2.com/home/cmpslv/PyuutaJR/EnrPtj.htm

上記はEnriさんの「ぴゅう太Jr.のコーナー」の一節です。
なんと、一般的なLSB/MSBとテキサス・インスツルメンツのデバイスは並びが逆?!とのことです。これを知らずにユニバーサル基板で試作したあとの動作確認で数時間悩み続けました。

小型モニターに画像が出た!!

データバスの配線をひっくり返して配線し直したのち、こどもぱそこん IchigoJam用に買ってあった映像コンポジット入力(よくAV入力とか書いてる黄色いピンジャック)つきの4インチ小型モニターに、サンプルプログラムのASCIIキャラクター表示とマンデルブロ集合図形の表示を実行してみたところ無事 表示されました。感動!! ついに私のマイコンにグラフィック表示機能が装備されました。

実はこの小型モニター。いまいち同期ズレに弱いみたいで、画像がじわじわと縦スクロールしちゃうんです。あと、上記画像をみておわかりの通り、カラーのはずが白黒っぽいヘンテコ画像です。

次の記事で、カラー化に向けた原因追求をしてみたというところを書きたいと思います。つづく…

コメント