TONO PMT−192

改造レポート

PMT-192

PMT−192の9600bpsモデムに使われているCML−FX589は最大64Kbpsまで可能なデバイスです。メーカー標準では19200bpsまでしか対応できないので改造してみることにしました。

1998.8.13 de JS1RSV


FX589のデータ

FX589

FX589のスペック

DataRate 4Kb/s〜64Kb/s
Selection BT 0.3 or 0.5
Full−Duplex GMSK

使用可能なボーレート(太線はPMT192標準)

(ClkDiv)A-B 8.192 4.9152 4.096 2.4576 2.048 MHz
0-0 64000 38400 32000 19200 16000 bps
0-1 32000 19200 16000 9600 8000 bps
1-0 1600 9600 8000 4800 4000 bps
1-1 8000 4800 4000 bps

Down Load FX586 Data Sheet (PDF/268Kb)


PMT−192とFX589

名称 FX589(pin) PIOB(bit) 備考
BT 15 6 0=0.3 1=0.5
ClkDivA 3 0
ClkDivB 4 1

PIOとFX589の結線

PMT−192は、FX589を全てTNCから制御できるように結線されています。また、PMT−192のハードウエアを改造しなくても、モデム自体は38400bpsが使用可能にすることができるハズです。つまり、ファームウエアを改造すれば、それだけで38400bps化できることになります。

455KHzフィルタ

ただし、これはアナログ回路の話は考慮されていません。広帯域化することで、フィルタ関係の定数を変更しなくてはなりません。ちなみに、IFフィルタにはB型が使われているので、かなり広いと思われます。38400bps/BT=0.3ならアナログ部無改造でも使えないかなあ?などと考えています。この辺は、今後の実験で明らかになるでしょう。


PMT−192のROMは暗号化されている

PMT−192のTNC用ROMは、データラインの接続を変更していて、ROMの内容をそのまま読んでも正しいデータは出てきません。しかし、アドレスラインは素直に接続されているので、ビット操作だけで修正できます。

CPUのデータバス bit
ROMのデータバス bit

PMT−192のファームウエアを解析する!

ROMの暗号化を解いて、Z80のディスアセンブラで解析してみました。中をのぞいてみると、プログラム的には38400bpsに対応できるように作られています。プログラムの設定では、4800〜19200bpsではBT=0.5、38400bpsではBT=0.3の設定になるようです。IFフィルタにB型が付いていたのは、これが理由だったようです。この辺は予想通りといったところでした。

でも、38400bpsに切り替えるのはプロテクトが掛かっていて、それが何処に掛かっているか中々見つかりませんでした。少々てこずりましたが、なんとかファームウエアのパッチ(5byteのみ)だけで38400bpsが出せるようになりました。これで、1200,4800,9600,19200bpsが使用可能だった処を、1200,9600,19200,38400bpsが使えるようになります。テストの結果、FX589からは、ちゃんと38400bpsの信号がでているようです。

アドレス オリジナルデータ 変更後データ
60DE 28 20
60DF 12 85
60E0 20 00
60E1 85 4E
60E3 4E 33

ファームウエアに5バイトパッチを当てる

しかし!! 38400bpsにすると、送信がうまく動きません。どうやら、SIOからの送信信号がちゃんと出ていないようです。19200bpsだと問題ないので、ひょっとするとCPUの速度的な問題があるのかもしれません。PMT−192はTNC2クローンです。Z80も9.8MHzで動いていますから、まずまずの速度だと思います。KISSモードなら動くかもしれませんが、実験できる環境がないので試してはいません。

8/13時点での実験結果では、KISSモードで使用したときも、うまく送信できないことが分かりました。38400bpsで動かない理由がTNC2のファームウエア以外にあるなら対策できるかもしれませんが不明です。既にTNC2で38400bpsの稼動例をご存知の方、いらっしゃいましたらJS1RSVまでお知らせ頂ければ幸いです。