もう一つのインタフェースでEthernet?

  • 投稿日:
  • 更新日:2015/02/09
  • by
  • カテゴリ:

PC-6001をいろいろと拡張すると、拡張スロットが足りなくなります。 拡張スロット自身はパラレル結線のみで拡張できるので自作可能ですが、スロットごとに50本の結線をするのはなかなか骨です。 プリント基板を作れれば問題ないんですけどね。

そこで思いついたのですが、RS-232C用のコネクタが使えるではありませんか。 PC-60m61をPC-6001初代に実装して使えた経験から、少なくともPC-6001/mk2/6601では同じ仕様になっているのではないかと思います。

RS-232Cなど実装せずにコネクタを遊ばせている人がほとんどでしょうから、実質的に開きスロットとして扱えるでしょう。

ただ拡張スロットと異なり、特定のI/Oが既に割り当てられているので、アドレス線に自由にアクセスしたりすることは不可能です。 逆に言えば、I/Oリクエストのデコードが不要となるし、少量(63バイト)ですが専用のバッファもワークエリアに割り当てられています(0xfbf9-0xfb38)。 さらに、受信割り込みもデフォルトで存在します(ベクタは0xfa04, 0xfa05)。

これで何をするかといえば、RS-232Cの代わりということで、やっぱりネットワークですよね。 Ethernetなら、MicrochipのENC28J60を使ってSPIでやり取りするか、RealTekのRTL8019ASを使って8ビットバスでやり取りすることができそうです。

ENC28J60のSPIクロックは0Hzまで許容、バッファ8kB、秋月で600円(28DIP)。 RTL8019ASはバッファ16kB、秋月で800円(100QFP)。 Z80から直接ドライブするのならRTL8019ASのほうが高速になると思いますが、ENC28J60のほうが回路の作成は楽そうです。

もっとも、RealTekのチップは、そこら辺にあるジャンクのEthernetボードからいくらでも(?)毟れそうですね。 ただ、手元にあったチップはRTL8029で、これはPCIバス用でした。 ところで、PCIのイーサネット基板にはRTL8092という16DIPの部品が乗っているのですが、これは何でしょうね? データシートを検索しても見つかりませんでした。

ENC28J60の場合は、外付け部品も、

  • バッファ(HC125)
  • 25MHzクロック
  • 3.3V降圧
  • パルストランス内蔵のRJ-45コネクタ(秋月で300円)
  • 数個の抵抗およびコンデンサ
くらいでよさそうです。

問題は、本体側のコネクタの仕様がわからないことくらいですね。 8251の仕様から考えれば、以下が出ているはずなのですが。

  • 8bitデータバス
    多分Z80のデータバス
  • RESET
    多分Z80のリセット信号
  • CLK
    多分Z80のクロック信号
  • Control/Data select
    多分A0(I/Oポート0x80-0x81のイメージが0x82-0x8fに出ているため)
  • RD
    多分Z80のRD信号
  • WR
    多分Z80のWR信号
  • CS
    う~ん、何だろう? Z80のIORQかな?
  • Vcc
    +5V
  • GND
    0V

で、本体のピン番号がわからないんですよね。

って、それがわからなきゃ作れないですね。:-) PC-60m61を分解すればわかるかなぁ。


こちらもよく読まれています