■MZ⇔PC間でデータを転送する(USB版)
以前、MZ-700のプリンタポートとPCのパラレルポートをケーブルで接続してデータ転送をやってみたのですが、最近はPCのパラレルポートのほうがなくなる傾向にあるので、パラレルポートの代わりにUSBで接続するためのアダプタを製作してみました。秋月電子のFT245RLモジュールを使用しています。
■回路図
手持ち部品の都合で色々とテキトーな回路になっています。

FT245RLとMZ-700のプリンタポートの間をPIC16F84Aでブリッジしているだけで、特に難しいことはしていません。MZ側から見るとパラレル版と同じに見えます。
FT245RLをFIFOとして使うと、FIFOが詰まってしまった場合にアボートするにはリセットするしかありません。PC側で FT_CyclePort() を呼ぶと PWE# がネゲートされる(Hレベルになる)ので、これを反転させてPICにリセットがかかるようにしています。
PICのコードはこちら。
FT_PROG.exe を使用して、FT245RLのEEPROMの Product Description を "MZ-700 USB-LPT I/F" に書き換えます。MZtrans.exe はこの名前でアダプタを認識しています。
■ドライバのインストール
FTDIのページからD2XXドライバをダウンロードし、解凍しておきます。アダプタをPCのUSBポートに挿すとドライバの導入を求められますので、解凍したディレクトリを指定します。
■MZ側の設定
MZ-700では、オーナーズマニュアルp.167を参照し、基板上のプリンタ切り替えスイッチを「外部側」にしておいてください。
MZ-1500では、オーナーズマニュアルp.12を参照し、システムスイッチ#2をON(プリンタI/F: MZ方式)にします。
■転送プログラム
PC側では、ダウンロードの項にある MZTrans.zip 内の MZtrans.exe を実行しておきます。ポートの設定を"USB"にしてください。
■データを転送する
転送の方法はパラレル版と同じです。転送速度はPC→MZの場合で3.5kバイト/秒といったところです。
■ダウンロード

MZTrans.zip v0.02 Download (USB・パラレル共用)
MZtrans.exe には X1リソースセンターさんのGIVEIO.SYSアクセスライブラリを使用しています。
■メモ
- FT245RLの先にいる回路をリセットする→FT_CyclePort() を使うとPWE#がネゲートされるので、これをリセットに使う
- FIFOがいっぱいのときに FT_Write() をタイムアウト付きで呼ぶとバッファ内のデータが壊れる?
戻る