TK80/BSの
シンセシステムを復活/拡張したい〜
その13
BASIC不具合対策、MC80+修理
2017年
9月16日
アパートにあったバーツBOXにTK80/BSのデバイスが入っていたのでガレージに持ってきました。8080AFC、8228(システムコントローラ)、セラミッ
クの8255、BSのROMセット(L1のBASIC、CG、モニタ)のマスクROMなど。残念ながら8224(クロックジェネレータ)は
ありませんでした。たくさんある24ピンのセラミックはEEPROMのuPD454Dです。普通のROMライタでは書けません。
早速、8228の動作確認をします。タイから購入のトレーニングボードの8228をICソケットに変更して、8080AFC、8228を交換して動作確認しました。動作良好です。
ついでに8224もソケットにしました。ebayでは安く8224が買えるので、後で購入しておきます。
BASIC
が動作しない件で、アパートからROMライタを持ってきました。シリアルでPCと接続するタイプです。簡易ICEの端末になっているXPノートにアプリを
入れて動作確認します。まず、DCOの波形テーブルの2732をコピーしてみます。DCOから2732を外して、コピーしました。問題ありません。
秋月から購入のMC80+用のホールドコンデンサを購入しました。0.0022uFです。ついでにMSP340F5529のボードも追加購入しておきました。
早速、MC80+のコンデンサを8ch分交換します。新モジュール2のVCOに接続して、CVに問題が無いことを確認しました。
先週コンデンサを追加したMSP430用のフレキ変換ボードですが、LCDパネルと変換ボードの1番ピンの位置が違いました。LCDパネルの1番ピンは変換ボードの30番ピンに接続されます。コンデンサを外して、付け替えました。変換ボードは汎用なので1番ピンが合っていなかったです。
フレキ変換ボードの動作確認します。MSP430のパラレルGPOで文字を表示するプログラムを作って実行してみました。動作良好です。まだ、バックライトは接続していません。
9月17日
BASICが起動しない件です。分解前にレベル2のD000〜EFFFの8Kの領域をインテルHEXでアップロードしておきます。その後、TK80/BSを分解します。
TK80BSのマスクROMはuPD2332Cという型番です。データシートはWEB上で2332A/Bは見つかりますが、なぜかCは無いです。CS1/2端子はオーダオプションのようですが、ウイキペディアのTK80のページにCS1はLowアクティブ、CS2はHighアクティブとの記述があります。なので、2732での読み出しはできません。CS2をHighにする必要があります。2732ではCS/OEともLowアクティブです。試しに上記のデータシートのBにあわせて、CS2を5Vにプル
アップすると、後半の方になってデータが現れます。Bではないということです。その後、Aの接続でA11とCS2を入れ替えて、CS2をプルアップする
と、2732の設定でデータを読み出せました。下はuPD2332Cを2732に変換アダプタです。
早速、レベル2のBASICのROMを上記アダプタを介して読み出し、バイナリでセーブします。ROMライタで読んだデータとICEでアップ
ロードしたデータを比較します。異なっていたのはD000〜DFFFの4K領域のみでした。左がROMライタで読んだデータ。右は分解する前に
ICEでアップロードしてバイナリ変換したデータです。一見して右はFFや00が多く、正常なプログラムではないことが分かりま
す。
ROMライタで読んだ方を逆アセンブルしてみます。正常なプログラムが見えます。
9月18日
原因が分からず繰り返し、分解と組み立てを行いましたが、3回目で写真の半田付けが外れているのを発見。レベル1/2を切り替えている、リレーに接続されているプルアップ用の5Vの配線がバッドから外れていました。
再組み立てを行い、レベル2のBASICが立ち上がるようになりました。右は平安京エイリアン。良かった〜
フロントパネルから点灯/消灯できるはずのTK80の7セグLEDが点灯しっぱなしで消灯できなくなりました。次回もう一度分解してみます。
9月23日
TK80の7セグLEDが消灯しない件です。もう一度分解しようと思って回路図を見ると、分解しなくてもICE用の開口部から制御信号にアクセスできることが判明し、スイッチとD6の間にジャンパを飛ばしてフロントパネルのスイッチで消灯できるようになりました。
全面メモリテストを行うと5800〜58FF番地でエラーが出ましたが、これは外のメモリボードのため、直ぐになおりました。一通り正常になりました。良かった〜
中断していたフーガの技法を全曲変換しました。変換プログラムも少し修正しました。1つのトラックに和音が出てくると警告が表示されますが、小節の計算が正しく行えるように、ファイル内の拍子指定を読んで計算するようにしました。183小節で和音が出ています。
Dominoで183小節目を表示して、和音を取り除くか、別のトラックに移動します。
9月24日
部品を集めている16ステップアナログシーケンサの筐体は旧シンセを使うことにしました。電源も入っているので、都合がいいです。VCOとVCFは回路が残っているので、VCAとEGを新たに追加して、下側に16ステップアナログシーケンサを組み込む予定です。ここからプリント基板を購入できるので友人S用も含めて2セット購入することにしました。
モニタやBASICのイメージがあるので、前からやりたかった本物のプログラムイメージでエミュレータを動かしてみました。コ
ピーしたのはモニタ、レベル2のBASICです。TKのモニタは無いので”復活!TK80”を使って生成します。CGロムはシミュレータに付属のものをつかいました。16進キーと7セグが動きます。その後、BSのモニタを走らせて〜
あらかじめICEを使ってインテルHEXでアップロードしたBASICのソースファイルをモニタのLTコマンドで読み込みます。メニューのBS−CMTから〜
ファイルを選択します。
インテルHEXが表示されながら、データがメモリに書き込まれていきます。その後BAコマンドで起動すると、エンドアドレスを聞かれます。
アスキーのX−Yプロットプログラムが起動しました。
直線と、放物線を設定して〜
お〜、ちゃんと表示されました。
ちなみに、リストを取るとこんな感じです。
9月30日
MSP430のUSB−MC80変換ボードの比較用で市販変換ケーブルを購入しました。アマゾンでケーブル代220円。送料の方が高いです。Win7でデフォルトで認識されました。
16ステップアナログシーケンサはクオンタイズクロック基板も一緒に購入したので追加部品(ボリューム、コンデンサなど)を秋月に追加発注しましたが、つまみを購入しないといけません。手持ちの同一のつまみを集めてみました。10ステップアナログシーケンサの12個も含めると、ちょうど足りそうです。ここに似ているつまみがあるので、10ステップアナログシーケンサの分12個を購入しておきました。1個140円です。ボリュームは40円なので、ちょっと高いです。
こちらは3.5mmのジャックです。使用しないリズム音源のケースから取り外しました。こちらは間に合いました。
10月1日
MSP430のUSB−MC80変換の下ボードの作製を開始しました。TK80とMSP430の制御信号をボード上で切り替えられるようにします。良く考えたら、コネクタは2個で良かったです。
MC80の制御方法を確認しておきます。簡易ICEでポートを叩き、動作確認します。’ー’キーでアドレスが戻せるので便利です。メモリにマップされた8255が7C08〜7C0Bにあります。7C08がAポートでデータポート、7C0AがCポートで下位4ビットがアドレスです。アドレスの1〜8が各チャンネルの音程データ、9がゲートです。0が未選択です。アドレスに1〜9を出力すると、内部にラッチされます。Cポートの7ビット目がテンポクロック入力、7C09がBポートで下位0ビットにリズムマシン用のクロックが出ています。とりあえず、USBからの演奏データをパラレル12ビットに変換すればPCからこのシンセサイザを制御できます。PCから制御する場合はテンポクロックは使用しません。
筐体の上側に入れる1声アナログシンセ部のパネルを再生します。EGが2個あるので、1個を4chミキサに改造しました。600番のサンドペーパで表面の黒染めを剥がします。
いつもの、つや消し黒で塗装します。
USB−MC80変換の下ボードの配線を開始しました。とりあえず、LCD信号。