KZ80マイコン 各ボードの要対応点

KZ80_PS2KBD

ここのところ新型コロナの流行もあって、プリント基板の修正・再作成発注をしていなかったので、いろんな基板に「直したい」部分が残っていたりします。
本当は「偽MSX1がつくれるぜ」という記事にいきたいところですが、いったん落ち着いて各ボードの要対応点をまとめてみます。

インテル系 I/Oボード(KZ80-IOB) REV2

インテル系I/Oボード KZ80-IOB REV2はだいぶ以前からgithubで絶賛公開中ですが、I/Oアドレスデコードのためのトランジスタ(2SC1815)の反応が悪くて $80以上が正しく動作しないという問題があります。

Release リリース2.0 (REV2基板) · kuninet/Z80_IOB
KZ80-IOB REV2基板 ★(バグ)NOT回路にしているトランジスタのベース抵抗にスピードアップコンデンサの追加が必要です。次のリビジョンで追加予定です 8259割り込みコントローラ、8254タイマーIC対応しました I/Oアドレスデコーダーを74HC139へ変更して、細かく設定できるように変更しました。 Ar...

パッチ的対応は実はかんたんで、NOT回路を組んでいるトランジスタのベースにつながった100kΩの両端に22pF〜数百pFのコンデンサ(スピードアップ)を追加するのです。
これにより電流が流れる最初だけドカンとトランジスタへ流れるためスイッチング特性が上がるらしいです。

この改造だけのために REV3にするのかぁと思いつつ手が止まっています。(対応せにゃ)ちなみにパッチ対応する場合は、こんな感じです。I/Oアドレスが$00〜$7Fまでで良い場合は対応不要です。偽MSX1のパーツとしてArduinoMEGAとかでキーボード作ったり基本スロット信号出したりする場合は対応がいります。

PS/2キーボード MSXアブプタ(KZ80-PS2KBD) REV1

偽MSXを構成するためにインテル系I/Oボード+ArduinoMEGAを準備しなくても良くなるようにするための画期的ボードのつもりで作ったボードです。以下のgithubのリリースにも書いてますが、何を思ったか、74HC00 NAND ICのVccとGNDを逆にしてしまいました。基板が届いたときには軽く絶望しました。

Release REV1 基板製造版 · kuninet/KZ80-PS2KBD
概要 REV1 基板製造版 ★☆ REV1基板パターンには74HC00の 電源が 逆接続 という重大なバグがあります。REV2をお待ち下さい。★☆

こんな回路図を見ると、こんな感じです。知らずにICを挿すとたぶん煙と共に昇天しますのでご注意ください。

パッチ方法ですが、以下の画像のように板バネICソケットを2段積みにし、上側のソケットの7番ピンと14番ピンを曲げて基板に挿さらないようにしてそれぞれ正しいVcc(+5V)とGNDにリード線で配線するとか、いっそ74HC00自体の7番ピンと14番ピンを曲げてリード線配線すると良いのですが…..

これも早々に直したいと思ってまして、ついでにMSXなんだからカセットI/Fの出力部分も付けちゃったりしたらいいんじゃないか?みたいな色気を出しつつまだ手つかずなのであります。
ごめんなさい

PSG音源・ジュイスティックボード(KZ80-PSG) REV1

MSX1の音源といえばPSG(AY-3-8910)です。音源LSIはYM2149でも動きます。というかYM2149で動かしました。私は。

Release リリース1.0 (REV1基板) · kuninet/KZ80-YM2149
概要 KZ80-PSG。Z80マイコン用 PSG音源&ジョイスティックボード。ファーストリリース。

このボードは音源+ジョイスティックボードとして正しく動くのですが、いろいろなMSX1ゲームカセットを動かしていて「グラディウス2」を動かしたときに「音楽がしょぼい」ということに気づきました。

MSX1のカートリッジにはSCC音源などが内蔵されているものがありまして、このボードを作ったときにはそれを知らずカートリッジからの音を取り込む端子をつけていませんでした。

ROMカートリッジボードを作るときには気づいていたので、MSX1 ROMカートリッジのSOUNTIN端子からサウンドを出力するピンを出してました。

この端子からの音楽信号をPSG・ジョイスティックボードのイヤホン端子あたりに抵抗器経由でつないでやれば音が出そうなので……

上記の回路を、空中配線の抵抗器2本追加したのが以下の作例です。無事「グラディウス2」で主旋律のカッコイイ音楽も奏でることができました。

ここも、毎度空中配線するのもアレなので、外部入力端子をつけたいところであります。

メモリーボード(KZ80-1MSRAM) REV3

メモリーボードREV3ですが、前回のようにCP/Mなどを動かしたり、機械語モニターROMでプログラム実行を楽しんだりする場合には無改造でOKです。

偽MSX1を構成する場合には、端子が足りないのでパターンカットによる改造が必要となります

Release リリース3.0 (REV3基板) · kuninet/Z80_1MRAMB
概要 アドレスデコード回路を改良してI/Oアドレス20h単位での設定が可能となりました。 ROMの16kB/32kB切り替えジャンパ(JP2)を装備しました。

REV3基板は某BASICを動かしてみたくてROM領域を32kB化できるジャンパを装備したところまでということで….偽MSX1化のためには、もう一声 対応が必要です。

上記のようにパターンカットを実施して、ROMとRAMのチップイネーブル端子それぞれから、MSX ROMカートリッジボードの SLT3端子、SLT0端子へそれぞれ接続します。

この話は以前 ROMカーリッジボードの記事でも書いてます。実は、このメモリーボード改造方法はREV1/REV2でも同じです。(チップイネーブルを切り離しちゃいますので)
パターンカットを伴いますので、元の配線に戻せるようにジャンパピンなんかをつけておくのも良いかもしれないです。

というわけで….

今後 気軽に(??) 偽MSX1が作れるようになるために、いままで書いてきた各種ボードのプリント基板の改良版を作っていかねばと思っています。

少なくとも PS/2キーボード基板の+5VとGND逆は早く直さないと…..ですね。

コメント

  1. 平松一成 より:

    tms32c52と申します。
    PSG音源回路を探していたら偶然見つけてしまいました。LinuxでPSG音源を鳴らしてみようかなという思いつきで回路を検索していたらたどり着きました。CP/MをCFカードをFDディスクの代わりに使っているのが時代だなと思って見てしまいました。CP/Mは、128MBのシステムFDは8インチでした。かなり回転開始も音は大きかったと覚えています
    パソコンマイコン雑誌はZ80でしたが、自動車の組み込みMPUは68系でした。
    ところで、私の手元にかなーり昔にばらしたMSXパソコンのメモリコントローラのYM5214があります。動くかどうかは不明です。部屋のジャンク箱を処分しようと画策してます。

    • kuninet より:

      コメントありがとうございます!!
      先達のみなさまの成果で、楽しくマイコンをしておりますです。
      高校生時代に夢見たマイコンボードを今頃になって楽しめるという幸せにひたっています。^^)
      意外と電子部品屋さんの通販で、まだLSIが手に入るので楽しいです。

      ぜひ色々なICを動かしてみてください。
      BLOGなどで紹介いただけるのを楽しみにしています。