Z80 CPUボード REV3

KZ80-CPUB

オレンジピコさんとこで販売していただいているZ80 CPUボードがREV3となりました。以前BLOGなどにも ぼちぼち書いていたと思いますが、CPUボードREV3のポイントを書いてみたいと思います。

MSXを作ろう(1)-Z80CPUボード(KZ80-CPUB REV3) 専用プリント基板 : pico-a-007 : オレンジピコショップ - 通販 - Yahoo!ショッピング
オレンジピコショップのMSXを作ろう(1)-Z80CPUボード(KZ...

REV3基板の外観

Z80CPUボード REV3の外観はこんな感じです。REV1と比べて部品点数がだいぶ増えてます。コネクタとしてZ80 CTRLというコネクタも増設してます。後述します。

CPUボードREV2

Z80 CPUボード REV3というからにはREV2もありまして、REV2の改良点について詳しくはgithub wikiにまとめています。

KZ80 CPUB REV2
Z80コンピューターをつくる(CPUボード編) . Contribute to kuninet/Z80_CPUB development by creating an account on GitHub.

REV2はSBC8080ルーズキットとの互換性向上を目指しました。この改良が「もうちょい」だったのでREV3へと改良を続けるわけですが….
REV2の対応点は以下のとおりです。

  • REV1では未結線だったHOLD/HLDA信号を接続。あわせてHLDA信号がHレベルとなった際にMEMR/W信号線やIOR/W信号線をバスから切り離す対応を実施。
  • SBC8085で装備したINTA(割り込み許可)信号線を装備。

2つ目のINTA(割り込み許可)信号ですが、以下の昨年のBLOGで書いたとおりi8085とZ80の信号線の挙動の違いから更なる改良が必要でした。

CPUボード REV3の改良点

CPUボードREV3の詳しい説明はREV2同様 github wikiにまとめています。プリント基板製造用のデータもgithubに上がってますのでどうぞ。

KZ80 CPUB REV3
Z80コンピューターをつくる(CPUボード編) . Contribute to kuninet/Z80_CPUB development by creating an account on GitHub.

割り込み許可信号線(INTA)動作改良

前述したとおりi8085とZ80のINTA信号の挙動の違い(割り込み信号に対して、割り込み許可は1発しか出ない)から、REV2基板の回路ではi8259割り込みコントローラーをつなぐことができませんでした。そこで、過去のザイログ社の資料に習って74HC74 D-FFを使ってi8085のINTA信号っぽい動きをする回路を装備しました。

Z80としてはINTA信号(M1IOREQが同時にLレベル)が出たあとRD信号複数回でメモリーを読みに行くみたいなんですが、そこを捻じ曲げてINTA信号が複数回出るようにしてi8259割り込みコントローラーからCall命令をデータバスへ発射してもらうという仕組みです。i8259割り込みコントローラーのデータシートに以下のような図が出ていることからも複数回の割り込み許可信号を期待していることがわかるのであります。

Intel 8259 Datasheet

Call命令が発射されたあとにZ80 CPUはCallするためにスタックプッシュの動作に入るのでWR信号が出るためD-FFがクリアされるというカラクリです。

Z80 CPU固有信号線コネクタ

これはもう苦肉の策として装備したのですが、もともと出自がSBC8080互換を目指したKZ-80CPUBでありますから、SBC8080バス(40pinIDCコネクタ)にはZ80 CPU固有の信号線は出ていません。

ザイログ社製周辺デバイスを使ったI/Oボード KZ80-ZilogIOを作ろうと思ったときにRDIOREQM1といった信号線を引き出したくなりましてコネクタを装備しました。
KZ80-ZilogIOについて詳しい説明は、以下のgithub wikiにあります。

Home
KZ80シリーズ PIO/SIO2/CTCボード. Contribute to kuninet/KZ80_PIOSIO development by creating an account on GitHub.

おまけ : Z80 ザイログ社周辺LSIによるI/Oボード

KZ80-ZilogIOの基板の見た目は以下のような感じです。以前I2C実験の記事で使ったZ80 PIO(パラレルI/O)にはKZ80-IOBに似た2×7ピンの外部端子を2つ装備。Z80 SIO/2(シリアルI/O)はクロックとして74HC4060で水晶発振したクロックと、Z80 CTC(カウンター)で分周したものを切り替えることができるようにしました。(CTCでのクロックに自信がなかったとも言います)

Z80 SIO/2シリアルLSIは2シリアルを装備しているため、シリアル端子は2つあります。また、Z80 CTCカウンタLSIで単音発声してみようと思ってスピーカー(SPK)端子も装備しました。

各部品を実装した写真がこちらです。コネクタだらけで密集した印象ですが….

次は….

KZ80-CPUB REV3とKZ80-ZilogIOを、改めてご紹介しました。次の記事あたりでこれらを使って、Grant’s CP/Mの動かし方をまとめたいと思います。(BLOGに書けてなかったと思うので…)

Grant's home-designed CP/M machine

以前もKZ80マイコンでCP/Mは動かしましたが、シリアルI/Oデバイスが違うためBIOSの修正箇所がいろいろとあり動かすまでめんどくさいものでした。KZ80-ZilogIOボードにSIO/2シリアルLSIを装備しましたので、かなり移植は楽…..なはず。

コメント