MZ⇔PC間でデータを転送する(USB版)

 MZ-700を使っていて不便なのが、他のPCとのデータのやりとりが面倒なところです。MZ-700は本体にRS-232Cなどの標準的な通信ポートを備えていないため、ケーブルを繋げばPCと通信できるというわけにはいきません。また、MZ-700標準の記録メディアはカセットテープで、こちらはTAPELOAD.EXE/MZT2WAV.EXEを使ってデータ転送ができるとはいえ、やはり面倒です。

 ということで、以前MZ-700のプリンタポートとPCのパラレルポートをケーブルで接続してデータ転送をやってみたのですが、PCのパラレルポートはほぼ消え去ってしまいましたので、パラレルポートの代わりにUSBで接続するためのアダプタを製作してみました。秋月電子FT245RLモジュールを使用しています。

MZ LPT ⇔ PC USB I/F 回路図

 手持ち部品の都合で色々とテキトーな回路になっています。

 FT245RLとMZ-700のプリンタポートの間をPIC16F84Aでブリッジしているだけで、特に難しいことはしていません。ただ、困ったことにMZ-700のプリンタポートのコネクタである26ピンのカードエッジコネクタが入手困難です。
 FT245RLをFIFOとして使うと、FIFOが詰まってしまった場合にアボートするにはリセットするしかありません。PC側で FT_CyclePort() を呼ぶと PWE# がネゲートされる(Hレベルになる)ので、これを反転させてPICにリセットがかかるようにしています。

 PIC16F84A用のコードはこちら
 PIC16F648A用のコードはこちら

 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 を実行しておきます。

 MZ側では TR.MZT を実行します。TR.MZT はIPL ROMを 0000h〜0FFFh のRAMにコピーし、テープの読み書きルーチンにパッチを当ててPCとの通信にリダイレクトできるようにします。

データを転送する

 パッチを当てたIPL-ROMでは、Fコマンド(FDDブート)、Pコマンド(プロッタプリンタ制御)が使用できなくなり、以下の2つのコマンドに置き換えられます。

  T … Sコマンド(セーブ)、Lコマンド(ロード)の対象をテープに切り替えます。
  P … Sコマンド(セーブ)、Lコマンド(ロード)の対象をPCとの通信に切り替えます。

 PCからMZへデータを転送するには、PC側で MZtrans.exe に転送したいテープイメージファイル(*.MZT)を指定しておき、MZ側で Pコマンドを実行したのち、Lコマンドを実行します。

 MZからPCへデータを転送するには、MZ側で Pコマンドを実行したのち、Sコマンドを実行します。Sコマンドで指定したファイルネームをもとに、PC側にテープイメージファイル(*.MZT)が自動的に作られます。

 転送速度はPC→MZの場合で3.5kバイト/秒といったところです。

BASIC上でデータを転送する

 S-BASIC, Hu-BASICにパッチを当てることでBASIC上でも同様にPCとの通信を行えます。パッチを当てるとプロッタプリンタ関連の命令が使えなくなり、以下の2つのコマンドが追加されます。

  CMT … SAVEコマンド、LOADコマンドの対象をテープに切り替えます。
  LPT … SAVEコマンド、LOADコマンドの対象をPCとの通信に切り替えます。

 S-BASIC, Hu-BASIC用のパッチ Download
bfc.exeでMZTファイルに適用してください。

ダウンロード

 
MZTrans.zip v0.03 Download

v0.03 パラレルポートのサポートを廃止

IPL ROMの差し替え

 MZ側にいちいち TR.MZT をロードするのは面倒ですので、パッチを当てたIPL ROMに差し替えてしまうと非常に楽になります。またパッチを当てたことで一部動かなくなってしまうプログラムもあるようです。確認できた範囲では、ワンダーハウスがMZ-80Kモードになってしまいます。

1Z-009A/B, 9Z-502M 用パッチ Download
bfc.exe でROMイメージに適用してください。

ケース

 タカチのアルミケースMX2-8-7にちょうど入ります。

メモ


戻る