TK80/BSの
シンセシステムを復活/拡張したい〜
その48
ROMライタ用
PCのメンテナンス
SBC8080ボードを使った
TK80BS互換機の作製
2020年
2月8日
ROMライタ用のWin7PCの交換用キーボードとバッテリが来ました。バッテリは互換品です。

早速、バッテリを交換しましたが、下の赤枠のラッチ部がバッテリと合わず、スライドが動きません。赤枠のラッチ部を1〜1.5mmほど削って、どうにかスライドがロックできるようになりました。


続いて、キーボードです。WEBで交換方法を調べて、手順通り交換完了です。キーボードを固定している3個のネジは無くならないように、外れなくなっています。


交換作業が完了したので、バッテリの動作確認を行います。動作良好です。


キーボードの動作も良好です。ただ、このキーボードのESCキーはすごく小さく、Emacsを使う時は辛そうです。


TK80BS互換機のフロントパネル穴開け用のセンタポンチ用のシールシートをレーザプリンタで印刷して持ってきました。右はQCADで描いた原稿です。


シールシートをフロントパネルに貼って、ポンチを打ちます。右側のスイッチ類は左側に8mmほど移動しました。


ボール盤で所定の穴開けします。電源スイッチとリセット、FPGAの再コンフィグのスイッチは手持ちの照光スイッチを使います。

2月9日
リアパネルのセンタポンチ原稿を作成します。右上の長方形の穴は拡張インターフェースのアンフェノール50ピン用です。右下の小穴はスピーカ用です。

リアパネルの穴開けも行います。リアはラフなので、コピー用紙にインクジェットで印刷して穴開けしました。拡張インターフェースの長方形はヤスリで仕上げました。


テープインターフェースの転送速度1200bpsから2400bpsに変更しました。因みに4800bpsでも確認しましたがエラーが多発して、あきらめました。

テープインタフェースのセーブとロード時間の比較動画を作成しました。はじめにセーブです。約750kバイトのMP4ファイルをロードします。

続いてロードです。TeraTermの1文字出力待ち時間を1mSecに設定してあり、セーブより大分遅くなります。約900kバイトのMP4ファイルをロードします。

2月11日
TK80BS互換機をここにある擬似ROMで動作させてみます。上位のモニタとL−2BASICはROM化し、0C00〜7BFFの拡張プログラムとL−1BASICはインテルHEXに変換して簡易ICEでRAMに転送します。


簡易ICEでF000から実行すると擬似モニタが起動しました。

擬似L−2BASICを起動します。FOR文で簡単なテストプログラムを入力して、実行してみます。正常動作しています。


テストプログラムをSAVEHコマンドで出力します。

TeraTermで受信してファイルに変換し、内容を確認します。行末は0Aになっています。

LOADHでロードしてみます。1行ごとのに改行はしませんが、正しくロードできました。

続いて、擬似ROMに付属のPICTURE.CASをLOADコマンドでロードしてみます。ファイルは330行で終了ですが、終了せず、プロンプトが戻りません。後で気が付きましたが、TeraTermのファイル転送モードをバイナリにする必要があったかもしれません。次回、再確認します。

続いて、PSoC5LPのPS/2パラレル変換器にマクロ機能を追加しました。ファンクションキーを使い、キー入力を記録/再生します。

PSoCにキー入力の行間の時間測定用カウンタとブザー回路を追加しました。マクロ再生時に、測定した時間と同じ待ち時間を作ります。ブザーの周波数は400Hzと800Hzが出力できます。

PS/2キーボードのファンクションキーの上にマクロの機能シールを貼りました。

マクロ動作の動画を作製しました。F1で記録開始、F2で停止、F5で実行、F3で回数を4回に設定、F5で実行です。約5MバイトのMP4ファイルをロードします。

互換機のマザーボードをケース内に固定するアクリル部品をフライス盤で加工します。

ボードガイドと同じコの字のアクリルを加工して6個作製しました。マザーボードのアルミ板に仮止めしました。


ケースにボードとマザーボードを入れてみます。電源とPS/2パラレル変換基板も空きエリアに固定する必要があります。

簡易ICE用のTeraTermのマクロファイルを作成しました。ヘルプコマンドが改行しないように横サイズを90文字に設定しました。

続いて、テープインターフェースのマクロファイルです。ストップビットを2ビットに1文字待ち時間を1mSecに、改行時に35mSecに設定します。文字数を18に設定してウインドサイズを小さくします。最新版の4.105でないと、引数でストップビットや待ち時間が設定できませんでした。

デスクトップにマクロのショートカットを作ります。USBは決められたポートを使う必要がありますが、ダブルクリックで無設定で簡易ICE用とテープインターフェースのTeraTermが起動できます。

2月15日
先週の擬似ROMに付属のPICTURE.CASをバイナリモードにして転送すると、正常終了しました。


擬似ROMのL−1BASICの動作確認を行います。モニタからB1コマンドで起動できます。FOR文のテストプログラムを入力します。本家と異なり、L−1BASICは下位メモリにあります。


正常動作しました。整数BASICです。

TK80BS互換機のフロントパネルのレタリング原稿を作成して、ガレージのレーザプリンタで印刷します。赤枠はキーボードのマクロ用のLEDです。はじめに、コピー用紙に印刷して、サイズを確認します。問題ないようです。


続いて、本番のつや消し透明のシールシートに印刷します。霧吹きで濡らして貼り、その後、スイッチなどの穴をカッタで開けます。


スイッチやジャックなど仮止めし、カバーを付けて全体の雰囲気の確認を行います。少し気泡が残っていますが、まあまあです。

PSoCのPS2/パラレル変換器にマクロの動作表示用LEDを追加しました。記録中:赤、再生中:緑、ループ待ち中:黄を点灯させます。とくにループ待ちは何十秒も待つ設定もあり、このときはキャンセルキーしか効かないため、外から見て状態が分かるようしました。このLEDはフロントパネルに取り付けます。

フロントパネルのLEDをエポキシ接着剤で固定しました。コモン側は接続し、アドレスとデータには電流制限抵抗を取り付けました。


2月16日
現在はFPGAのコンフィギュレーションが終了した後で、簡易ICEからモニタを起動しています。FPGAはSPIフラッシュからコンフィギュレーションされるので、動作が可能になるまで数秒掛かります。電源投入で自動的にモニタを起動するには、コンフィギュレーションが完了するまで、CPUにリセットを掛けておく必要があります。FPGAからDONEを引き出して、LV1G125を使ってレベル変換してリセットします。SC70パッケージなので、半田付けが面倒です。SBC8080のバスのRESETINに接続します。この修正で電源投入でモニタが立ち上がるようになりました。


本家のPSoCのPS/2パラレル変換器も同じプログラムに更新しましたが、ヒストリ機能の動きが互換機と異なっています。同じプログラムなのですが、不思議です。次回、確認してみます。

2月23日
TK80BS互換機のボードをケースに入れます。ボードガイドをケースに仮止めして、マザーとボードをガイドに嵌め、ボードガイドを固定します。


拡張I/FとフロントパネルのLED用のケーブルを作製しました。フラットケーブルにコネクタを圧接してケーブルは長めに切っておきます。

先週追加したFPGAボードの再コンフィギュレーション中にCPUをリセットする回路ですが、電源投入時には問題ないのですが、稼働中に再コンフィギュレーションを行うと、簡易ICEのコンソールに無効な文字が化けて出力されます。簡易ICEのシリアル出力をDONE信号でゲートすると回避できました。使用したのは以前も使用したLV1G125です。実体顕微鏡下でないと半田付けが難しいです。


フロントパネルのアドレスとデータ表示のLEDにケーブルを取り付けます。電流制限抵抗は6.8Kオームです。

LEDドライブ基板をマザーボードに接続し、LEDの点灯確認を行います。動作良好です。


マザーボードをケースに固定するステーを作製します。QCADで図面を描いて、HeeksCNCでGコードに変換します。


レーザ加工用の変換後、NCVCで加工順を確認します。5mm厚のアクリルから3枚切り出しました。


マザーボードにステーを固定し、ケースに仮止めしてみます。良いようです。


2月24日
5Vの電源ユニットをケースのリアパネルに取り付けます。

PSoCのPS/2キーボード変換器もケースに取り付けます。

電源スイッチを経由して外部の9Vを5V電源に供給し、動作確認を行います。問題ありません。

アクリルの残材からスピーカの固定部品を作製して固定しました。

正面からLEDを見ると少し眩しいです。部屋が明るいと、ちょうど良いですが、LEDの輝度は調整可能にします。

リアパネルです。左からDC9V入力、テープI/F、ビデオ出力、PS/2キー入力、FPGAボードのUSB(Micro)です。拡張I/F用のアンフェノールコネクタ以外は取り付け完了しました。


