秋月電子から発売されている、FT245RL を利用した USB-8bitパラレル変換ボードを活用した FM-7 向けツール群です。
このツールを使うと、以下のようなことが出来ます。
BINSEND
: PCとFM-7の間でバイナリデータの送受信BUBEMUL
: FM-7上から、PC上のフォルダまたはD77ドライブイメージをディスクドライブとして見立てて利用D77SEND
: PCからD77ディスクイメージを転送してFM-7上で実FDDメディア上に書き込みDRVEMUL
: FM-7側から PCに保存されている D77イメージを実ドライブとしてアクセス
FT245RLを使っている為、約16KB/secという非常に高速な通信速度で上記の事が行えます。FM-7からは、かつてないほどの高速デバイスとして扱え、PC上で開発したバイナリの転送や、FM-7上の資産をPCへ転送したり、様々な利用が可能です。
回路図が同梱してあります。
今となっては FM-7 向けの 32ピンコネクタの入手が少々難しいですが、上記回路図を実装する事で FM-7 と FT245RL を接続できます。
USB-8bitパラレル変換ボードのジャンパーは、以下のように設定して使用します。
- J1 → 2-3間をショート (VCCからの供給)
- J2 → オープン (VCCに外部から電源を供給する)
実態配線図にある SV2 端子は、単純に +5V, GND であり、短絡してはいけません。抵抗を挟んで LED を搭載するとか、そのような用途に使ってください。
- Windows
ft245tools.exe
- Visual Studio 2015以降で利用可能なft245tools.sln
を用意してあるので、これでビルドします
- Linux
ft245tools
- makeコマンドでビルドします
- Mac
ft245tools
- makeコマンドでビルドします
基本的には、パラメタを全く指定せずにコマンドを起動するとヘルプが表示されるので、数多くの機能の使い方が判るようになっています。
以下の利用方法全てにおいて、以下のようにパラメタ指定する事で、シリアルポートデバイス名を指定できます。
Windowsでの例 (COM4ポートを利用する場合):
C:\> ft245tools -d COM4 ...
FT245TRN
- バイナリデータ送受信
まずは何とかこのコマンドをFM-7側に転送してください。鶏と卵じゃありませんが、どうしてもFM-7側に受信用プログラムとしてコレが必要です。
最後に BASIC による転送プログラムを掲載しておきますのでそちらも参考に。
このデータは、$FC00 〜 $FC63 に配置します。その上で、SAVEM "FT245TRN",&HFC00,&HFC63,&HFC06
としてテープもしくは FD に保存してください。
LOADM "FT245TRN",,R
として起動した上で、PC(Windows, Linux)/Mac側から以下のコマンドを実行する事で、FM-7 側へデータを転送できます。
# ft245tools [-d デバイス名] binsend Filename [配置先アドレス]
- BUBEMUL - PC(Windows, Linux)/Mac のディレクトリまたはD77ドライブイメージをドライブと見立てて動作
まずは最初に、FT245TRN
を利用して、FM-7側へ転送してください。配置アドレスは $6809〜 です。
EXEC &H6809
とする事で、拡張 BASIC がインストールされます。以下のコマンドが利用可能です。
BUBR FILES
: ファイル一覧の表示BUBR LOAD "Filename"
: アスキーセーブされた BASIC プログラムの読込み (Experimental)BUBR SAVEM "Filename",&Hssss,&Heeee,&Hxxxx
: バイナリセーブBUBR LOADM "Filename"[,[&Hoooo][,R]]
: バイナリロード
PC(Windows, Linux)/Mac側では以下のようにしてサーバプログラムを起動します。dirname
として指定したディレクトリ または .D77 filename
として指定したドライブイメージが、上記のコマンドで FM-7 側からアクセス可能となります。
なお、現在のところ、.D77ドライブイメージに関しては読込処理(LOAD
, LOADM
, LOADR
)にしか対応していません。
# ft245tools [-d デバイス名] bubemul [dirname | .D77 filename]
バイナリデータの保存形態は、FM-7の F-BASIC に準拠しており、バイナリデータの前後にヘッダとフッタが付与されて保存されます。
- DRVEMUL - PC(Windows, Linux)/Mac上に保存されている D77 を、FM-7から実ドライブとしてアクセス
まずは最初に、FT245TRN
を利用して、DRVEMUL
をFM-7側へ転送してください。配置アドレスは $6809〜 です。
EXEC &H6809
とする事で、ドライブアクセス関係の BIOS が拡張されます。
その後、PC(Windows, Linux)/Mac側で以下のようにコマンド起動します。
# ft245tools [-d デバイス名] d77emul [.D77 filename]
これ以降は ドライブ 0: に対する全てのアクセスが、PC(Windows, Linux)/Mac上の D77 へとリダイレクトされます。
FM-7側から書き換えられたセクターは、Linux/Mac上で動作中のft245tools
がCTRL-Cによって終了された場合にD77ファイルが更新される形で保存されます。(Linux/Mac版のみ)
FT245RL を FM-7 に接続するアイデアおよび、ハードウェア設計は shuji_akita2001 氏 ( shuji_akita2001@yahoo.co.jp ) によります。たまたま自分が、 shuji_akita2001 氏よりこのハードウェアを紹介いただいた事で、このツール群を実装するに至りました。
元々は、プリンタポートを使った 1,200bps 程度の低速通信で頑張ってたところ、16KB/secもの超高速でデータの送受信できるこのハードウェアに出会い、何とかコレを実用レベルで使えるように仕立て上げるべし!と強く思い、一気に作り上げました。
このハードウェアが無ければ今だに、FDイメージを延々1時間掛けてFM-7に転送していた事でしょう。今は5分も掛かりませんよw
Software : Copyright (C) 2019 by odaman68000 (odaman68k.amiga@gmail.com)
Hardware : Copyright (C) 2019 by shuji_akita2001 (shuji_akita2001@yahoo.co.jp)
FT245TRN
は100バイトのバイナリですが、これをFM-7側に入力するの大変だなぁ...って人には、いい方法があります。(100バイト入力とドッチもドッチかも?)
- 以下のBASICリストを FM-7側で入力し、念のため保存
- FM-7に搭載したFT245RLとPC(Windows, Linux)/MacをUSBケーブルで接続したのち、BASICプログラムを
RUN
します - PC(Windows, Linux)/Mac側からは以下のようにしてコマンド起動します。
# ft245tools [-d デバイス名] binsend FM-7/bin/FT245TRN fc00
- 成功したら、FM-7側で
FT245TRN
が保存されます。
BASICリストを見てもらえれば判りますが、突然保存を開始しますので、テープもしくはFDの準備をしてから実行してください。
で、BASICプログラムは以下の通りです。
10 CLEAR ,&H5FFF:DEFINT A-Z:TBL=&H6000
20 DEFFNA(H,L)=(H+(H>=128)*256)*256+L
30 FOR I=0 TO 5:GOSUB 80:POKE TBL+I,DT:NEXT
40 ST=FNA(PEEK(TBL+0),PEEK(TBL+1))
50 ED=FNA(PEEK(TBL+2),PEEK(TBL+3))-1
60 FOR I=ST TO ED:GOSUB 80:POKE I,DT:NEXT
70 SAVEM "FT245TRN",ST,ED,ST+6:END
80 GOSUB 90:DT=D*2:GOSUB 90:DT=DT OR D:RETURN
90 IF PEEK(&HFDFE) AND &H80 THEN 90
100 POKE &HFDFD,1:D=PEEK(&HFDFE) AND &H7F:POKE &HFDFD,0:RETURN
なお、このツール群は無保証です。このツール群を利用する事で何らかの損害があっても当方は一切責任を負えません。
一部バイナリファイルも添付してありますが、ウィルスチェック等は行いませんので、ご自身の責任のもと利用してください。(基本的には自己でビルドしてもらうのが確実です)