909クローン、ファームウェアが壊れているのかどうかはまだはっきりしていませんが、現状では動かし方がわからないのは確かです。このままアセンブラの解析をしようとするととてつもない時間がかかりそうなので自分でファームウェアを組んでしまったほうが速く先に進めそうです。ファームウェアに書かれているソフトウェアもクローンの一部なわけで、実機なしに進めるには苦労がありそうです。どうなることやら。製作に使える時間は大変に限られているので、効率よく進めないといけません。手を動かす前にちょっと見通しを立ててみます。
まずはハードウェアから。製作に必要な部品はほぼそろっています。現状問題なのは
- もともとの基板スペーサが少し長すぎるので短くする必要がある(解決しなくても進める)
- IC を間違って一個 SMD で購入してしまった。(強引に載せる予定。駄目なら再発注)
- スイッチが二個足りない(一個には代替を付けた。もう一個は当面ファームウェアで避ける。次回日本に行ったときに手配)
こんなところです。進めなくなる障害は特にありません。
次はソフトウェア。ここは丸ごとないので全部作る必要があります。各音源モジュールはプロセッサに直結しているので、ハードウェアの動作確認をするにはプロセッサからの制御を介して、というほうが安全だし効率的です(回路を切って外から信号を入れると基板や部品を壊すリスクが上がります)
そういうわけで作業はソフトウェアを組みながら、できたところから確認、という方法が良いと思います。回路図をざっと見たところ、全音源を鳴らすには以下のソフトウェアモジュールを最低限組む必要があるようです。
- ドラムモジュールへのトリガー発生
- そのためのスイッチ読み取り
- ノイズジェネレータ
- ハイハットの PCM 出力
- ベロシティー制御 PWM 出力
- バスドラムとスネアドラムのピッチ制御 PWM 出力
ノイズジェネレータは、オリジナルではロジック回路を使ったハードウェアでの実装ですが、このクローンではマイクロプロセッサで計算する設計になっています。
PWM は、制御部分と出力部分に分かれ(どれぐらいの値を出力するか決めるのと、決めた値を電圧に変えるのと)、上のリストの PWM は出力部分のことです。PWM から何かしら電圧を出さないとハードウェアは正常に動きませんが、当面は固定値で大丈夫だと思います。
ハイハットは PCM 出力なので、出力波形じたいが固定値になります。開発のひとつのヤマになりそうです。ほかにも疑問点がいっぱいありますが。
そして完成させるには以下も必要
- ハイハット・スネアドラム・バスドラムのピッチ制御電圧の ADC
- MIDI デコーダ
- ベロシティーからの PWM 制御
- ノート・ピッチからの PWM 制御
- シーケンサ
- 各種設定の記憶
- DIN SYNC 出力
ほかにも見落としがありそうですけれども。ここに設計のミソがありそう、オリジナルの実機なしに開発するのは苦労しそうです。ほかにも、シャフルなど analog さん独自の追加機能がありました。どれぐらい再現できるかな?
それにしても、この909クローンは PC から MIDI 経由かなにかでシーケンスパタンを書き込めるようになっていたようですが、具体的にどうやっていたのかわかりません。もしかしてオリジナルにも同様の機能があるのかな?要調査です。
なんにしても、日頃製作時間の確保に苦労する状態なので、小さくコツコツと進捗を出せる進め方が良いです。そうでないと一向に動かない基板の塊と格闘しているうちに心折れてしまうかもしれません。
といういうわけで、何か音を出せる、しかも作り直しが最小限で済む最短路を探してみます。制御信号は簡素で少ないほうが良く、ハードウェア部分も簡素でテストしやすい音源が良いです。そうすると以下の条件を満たすモジュールから始めるのがよさそうです。
- トリガーで動く
- ピッチ制御がない
- 音源回路が単純
「トリガーで動く」とは、PCM やノイズジェネレータを使わなくてよい、という意味です。三番目の「音源回路が単純」の意味は、TR-909 の各ドラムモジュールは実はシンセサイザーで、音源回路と VCAで構成されていて、さらにモジュールによってはエンベロープジェネレータもついています。構成が複雑なほど製作にも動作確認にも時間がかかるので、「簡単な音源+VCA」という単純なモジュールが良い、ということです。
この条件を満たすのは、リムショットかな?回路図を眺めて「リムショットかな?」と思いましたが、文章にすると改めて、他にやりようがない気がしてきました。
こちらがリムショットの回路図です。トリガーを三つの BPF に通してそれを混ぜ最後 VCA で整えて出力です(なんかお料理みたいですね)。一番単純でもこれぐらいには凝っていますが、BPF ドラムは以前 DR-110 で遊んだ時にも触ったのでなじみがあるのも良いかもしれません。
これを見た後にスネアドラムの回路図を見ると目を回しそうですがそれはまた後日。
さて、大まかな方針が決まったところで「音を出す」なら「音を聴く」装置をつなげないといけないわけですが、そのために基板に直接さわってちょこちょこやると、音源が多いので誤接触でいつか壊してしまいそうな気がしてなりません。ので、先に出力部分も作ったほうが良いかもしれません。TR-909 クローンは三枚の基板からできています
- メイン基板 – 音源とプロセッサが載る (製作中)
- スイッチ基板 – スイッチと LED が載る (ほぼできている・あとスイッチ二個)
- ボリューム基板 – ボリュームと出力ジャックが載る(手つかず)
手つかずのボリューム基板に最低限コネクタとジャックを載せてメイン基板とつなげられるようにすると、今後の作業が楽そうです。よしそうしよう。そうしてこの機能ごと縦割り製作をトヨタ・カンバン方式と名づけることにしよう。いや、カンバンってどんなんだか本当のところはしらないんだけど想像で。
というわけで、当面の手順は
- ボリューム基板に最低限の部品を載せ(あるいは必要なら全部載せ)、メイン基板と接続できるようにする
- リムショット回路を組む
- ソフトウェアを書く
- スイッチ感知
- トリガー発生
- ベロシティー PWM 固定出力
そして、その次のモジュールは、ハイハットにします。ハイハットは PCM 音源で、作るのは初挑戦だったり、ハイハットの PCM 音源を入手しなくてはならなかったり、その制御ソフトウェアは割り込みを使う必要があることが濃厚で、MIDI との衝突をどうやってさばくかなどのソフトウェアでの懸念事項がたくさんあったりと、心配事が色々とあるので早く手を付けたいのです。
というわけで、さあ手を動かしましょう。キーボードを叩くのも手ではあるんですけれどもね