TK80/BSの
シンセシステムを復活/拡張したい〜
その62
サーマルプリンタ
XFM2シンセの作製
2021年
7月22日
今週末は休日の木、金曜日のみの作業です。引っ越しのため、アパートを整理していてた所、パネル取り付けタイプのサーマルプリンタが出てきました。テスト印字を行うと3台とも正常動作したので、ガレージに持ってきました。用紙も一緒に保管してありました。型番はuTP−80FKで、取説もダウンロード可能です。

7月23日
現在、TK80BSシステムにはテレタイプが接続されていて、BASICのリストと逆アセンブラのリストが印刷できます。下はテレタイプで印刷された、逆アセンブルリストです。

残っている資料の中にドットインパクトプリンタで印刷された物もあり、これはPC−8001用として売られていた、エプソンのMP−80で印刷した物です。下は上と同じ逆アセンブルリストを印刷した物です。

同じMP−80で2パスアセンブラのソースコードを印刷したものも残っていてます。

2パスアセンブラは1979年の11月号のI/O誌に掲載されたもので、このプログラムを修正追加して、ソースコードが印刷できるようにしていました。


ケーブルも見つかり、先端はアンフェノール36ピンです。電源は5Vで、製造年は1990年でしょうか?MP−80もこのサーマルプリンタもセントロニクス準拠で動作します。

2パスアセンブラや逆アセンブラがMP−80に印刷できたということは、どこかにプログラムが残っている可能性があります。探したところYM2203を使ったFM音源ボードの開発用ディスクに赤枠の2
パスアセンブラとセットになっているプログラムがありました。これがMP−80の制御プログラムと思われます。プリンタは8255に接続していたので、ケーブルを作製すればこのサーマルプリンタでも印刷ができると思われます。資料が残っていないので、プログラムは簡易ICEを使ってインテルHEXにして、PCに保存しました。

PC
上でインテルHEXをバイナリに変換した後、8080の逆アセンブラでアセンブラリストに変換しました。赤枠の7C0F番地はSC−01(スピーチシンセ
サイザ)が接続されている拡張ボードの8255のコントロールポートです。MP−80もこのポートで共用接続していたので、これが制御プログラムと思われます。先頭の初期化ルーチンで制御コマンド88をライトしているので、モード0、ポートCの上位のみ入力、その他は出力の設定です。
ポートのアサインを調べて、ケーブルを作製する予定です。

逆アセンブラリストを確認すると、1バイト出力ルーチンが直ぐに見つかり、BUSYとSTROBE信号が判明しました。BUSY入力はPORTCの4ビット目、STROBE出力がPORTCの0ビット目です。データポート出力はPORTAです。カギ括弧でコメントを追記しておきました。

取説にタイミング図がありました。ACK信号が載っていますが、プリンタからの出力なので、通常使わなくても問題無く印刷できると思われます。プリンタ側のインターフェースデバイスは74HCシリーズが使われています。

7月31日
TK80BSシステムにサーマルプリンタを繋げてみます。手持ちのコネクタとヘッダを使って、一度ユニバーサル基板を介して信号線を変換します。プリンタ側のケーブルには電源を供給するDCジャックを取り付けます。このベークライトのユニバーサル基板は懐かしい、亜土電子の物です。


早速、印刷しようと思ったのですが、MP−80に修正済み2パスアセンブラの印刷用のコマンドを調べていないので、1文字出力プログラムをBASICのHLSTに指定してリストを印刷してみました。残念ながら、文字は印刷されるものの、正しく印刷されませんでした。


HLSTの1文字出力はすべてのレジスタを保存する必要がありました。簡易ICEでハンドアセンブルして1文字出力プログラムを作成しました。

HLSTコマンドでBASICのリストが正常に印刷できるようになりました。TK80BSは1行32文字ですが、サーマルプリンタは40文字なので、印刷イメージは同一にはならないです。


8月1日
互換機にもこのサーマルプリンタを接続したいので、拡張インターフェースの中を確認します。赤枠がサーマルプリンタを接続するSC−01の接続されている2番目の8255のコネクタです。このケーブルをケースの外へ延長すればサーマルプリンタが接続できます。

ついでに互換機の動作確認を行いました。2台のフロッピエミュレータの動作も問題ありません。

プリンタつながりでテレタイプの動作確認も行ったところ、ラインフィードが動作しなくなっていました。プラテンの回転が渋いので一度分解して、再組立を行うとラインフィードは正常に動作するようになりました。ただ、テーブリーダのフィードを行うソレノイドが動作せず、テーブが進みませんでした。次回テーブリーダ周辺の確認を行う予定です。


8月8日
この週末は日曜、休日の月曜のみの作業です。先週の続きのテレタイプのテーブリーダの修理です。メンテナンスマニュアルでテーブリーダのフィードのソレノイド用電源は1つだけ外付けになっている下のユニット(スタンドの中に設置されています)だと判明しました。

基板を確認すると、コネクタの部分のパターンが断線していました。片面基板だと、コネクタへのストレスにより、パターンが切れてしまうことがあります。錫メッキ線で補修しました。


ラインフィードのテストテープを読んでみます。テーブリーダは復活しました。


サーマルプリンタのVRAMのハードコピープログラムを作成しました。PCでクロスアセンブルして、簡易ICEでロードして動作確認します。

プリンタを2番目の8255に接続して、

モニタでメモリダンプの後で、簡易ICEを使ってハードコピーをプリンタへ出力します。動作良好です。


続いて、フロッピのファイル名表示している所で、プリンタへ出力してみます。μはプリンタの標準キャラクタには無いので’/’で代用しました。また。カーソルもブロックでは無く、下線になっています。


8月14日
XFM2というArtix−7で動作するFM音源があります。DX7が2台分で、エフェクタも内蔵されています。作製中のリピートDMA音源を後回しにして、早速、マルツの通販で部品を購入しました(笑)。FPGAボードはおなじみの35Tが載っているCMOD−A7です。ボードのサイズは思ったより小さいです。RAMはDRAMでは無く、SRAMが載っています。


I2SのDACボードとシリアルフラッシュです。フォトカプラは手持ちがありました。

片面のユニバーサル基板にFPGAボードとDACボードを配置して、基板の外形を加工しました。


こちらは同じくマルツから購入のタカチのアルミケースです。サーマルプリンタ用です。パネルに穴開け用のケガキをします。


ケースのパネルはエアニブラで穴開け後にヤスリで仕上げました。

早速、ケースにサーマルプリンタを組み込みます。後ろのスペースには変換基板を固定しました。


XFM2の配線を行います。FPGAボードとDACの他にはシリアルフラッシュとフォトカプラだけです。配線は最小限で済みます。


配線の終了したXFM2の動作確認を行います。シリアルフラッシュ、DACのテストロジックが用意されています。双方とも動作良好です。


8月15日
ケースに組み込んだサーマルプリンタを本家TK80BSに接続して動作確認を行いました。リアパネルにはヘッダと電源のDCジャックを配置しています。動作良好です。


XFM2にFM音源用ロジックを書き込んでテストを行います。FPGAボードのUSB−UARTから初期設定や音色の切り替えを行うことができますが、コマンドがバイナリ志向です。例えば、初期設定のためのMIDIチャンネルの設定では”42 10 9”とバイナリでデータを送信する必要があります。十進の42はアスキーコードでは’*’です。

TeraTermでは上のコマンドをキーボードから直接送信できないので、RealTermをインストールしました。”Send Number”を使うと入力した文字をバイナリとして送信できます。

”d”コマンドで現在設定されている音色パラメータ512バイト送信してきます。

PCにUSBーMIDIケーブルを接続してXFM2ボードの音出しのテストを行います。DACボードの3.5mmのジャックからアナログ出力がステレオで出てきます。


Dominoから、プログラムチェンジで2番を選び、”d”コマンドのデータをRealTermのログでキャプチャして、BZで開きます。設定されている音色パラメータがダンプできます。

音色はSIN波に近い音色です。片チャンネルのみです。

続いて、プログラムチェンジで5番を選んで、同じくキャプチャして、BZで開きます。

5番は高調波が多い波形です。MIDIを受けて正しく、音出しできることを確認しました。内蔵の音色は20個くらい入っているようですが、音色に名前は付いてません。DX7の音色SYSEXをXFM2に変換できるので、後で試しみます。

サーマルプリンタのTK80BS互換機用のケース内ケーブルを作成します。リアパネル側の30ピンのヘッダは手半田します。


ボード側はコネクタを2個圧接してケーブルが完成しました。このケーブルはボード側のSC−01と共用なので、プリンタ使用時は選択されないように工夫する必要があります。


