開発経緯
3か月前に作ったTR-505の拡張ボードは、純正のROMに4倍サイズのフラッシュROMを併設する5バンク構成でした。
開発当初は追加した4バンクすべてを使い切るとは思っていませんでしたし、サンプラーを持っていた時代もろくに触りもしなかったので、これで十分だと本気で思っていたのです。
しかし、いざ使ってみると気に入ったドラムセットが増えてしまい、収拾がつかなくなってしまいました。 また、サンプルを書き換えるために頻繁にトップカバーを開け閉めするのですが、どうも部品のレイアウトが悪いらしく、トップカバーの内側とROMが擦れてしまうのです。 目視採寸でぎりぎりを攻めすぎたようです。
ある日の朝、目を覚ます瞬間にひらめきました。
「どうして同じサイズのICが並んでるのに片方の容量が小さいまま使ってるんだろう...。」
あと4本、足を処理するだけでメモリサイズが4倍になるんですよ。もったいない。ということで純正ROMを取り去り、4MbitのフラッシュROMを2個並べた新バージョンを作ることにしました。 8メガショックとでも言っておきましょう。
しかし、いざ使ってみると気に入ったドラムセットが増えてしまい、収拾がつかなくなってしまいました。 また、サンプルを書き換えるために頻繁にトップカバーを開け閉めするのですが、どうも部品のレイアウトが悪いらしく、トップカバーの内側とROMが擦れてしまうのです。 目視採寸でぎりぎりを攻めすぎたようです。
ある日の朝、目を覚ます瞬間にひらめきました。
「どうして同じサイズのICが並んでるのに片方の容量が小さいまま使ってるんだろう...。」
あと4本、足を処理するだけでメモリサイズが4倍になるんですよ。もったいない。ということで純正ROMを取り去り、4MbitのフラッシュROMを2個並べた新バージョンを作ることにしました。 8メガショックとでも言っておきましょう。
TREXからの変更点
TREXの開発時点でソフト的な機能はかなり煮詰めてしまっているので、使いもしない蛇足機能は追加せず、必要なところだけ改善するようにしました。バンク切り替え信号の変更
TREXでは純正ROMの/CE信号をFETで作ったNOTで反転させてフラッシュROM側の/CEとし、A17, A18ラインを使って4バンクを選択しています。
純正ROMの時は1バンクしかないためアドレスラインは意味をなさず、常時"0"を出力していました。
新たな回路では、A17, A18を並列に接続してバンク選択を行いつつ、/CEを使って2つのチップを選択しています。基本ですね。
アドレスラインを引っ張ってくるだけなので、たいした変更ではありません。ソフトの方もバンク番号0~7を実直に処理するだけなので、5バンク構成よりも作り込みが楽になります。
押しボタン長押しでバンクリセット
バンク数を増やすと当然押しボタンスイッチの操作回数が増えてしまいます。ちょっとした便利機能ということで、押しボタンを1秒間押して離したタイミングでバンク0に復帰させる機能を追加しました。
機能を実装するにあたり、タイマー割り込みのプログラムサイズが大きくなったため、割り込みを使わずメインのプログラムループでタイマーのオーバーフローをポーリングするように変更しました。
電解コンデンサC1の廃止
一般的な電子回路では、電源を安定させるために電解コンデンサを入れます。
TREXのプロトタイプ基板には10μFの電解コンデンサC1を取り付けていたのですが、TR-505の電源スイッチを素早くOFF/ONするとTR-505のアドレスカウンタが誤動作して出音がおかしくなることが頻繁にありました。
TREXを取り外して純正ROMに戻すと再現しないため、試しにこのコンデンサを外したところ再発する事はなくなりました。
組み立てキット化した後もC1はそのまま未使用パターンとして残っていたのですが、ややこしいので基板変更に伴い廃止としました。
組み立てキット化した後もC1はそのまま未使用パターンとして残っていたのですが、ややこしいので基板変更に伴い廃止としました。
基板レイアウトの変更
TREXの基板レイアウトにおいて、TR-505との位置の基準点になるのは28ピンの連結ソケットと10mmの大穴の部分です。
ケース内部に接触しないようにするため、これらの位置を変更せずにROM ICの位置だけを変更する必要があります。
TREXでは基板上端のマージンにほんの少し余裕を作ってあったので、ROM ICを25mil(0.63mm)上にずらしました。
使ってみて分かったこと・製作過程で苦労した点
- フラッシュROMが一つ増えるぶん400円ほど部品代が高くなるが、8バンクあれば存分に遊べるだろうと思う。
- TR-505の音を残すなら当然残りは7バンクになるので、厳密には2倍の容量とは言えないよネ。
- プッシュスイッチの長押し判定は1秒間スイッチを押し続ける必要があるが、質の悪いスイッチを使うと、押している間にもチャタリングが発生してしまいうまく認識しないことがある。
- プロトタイプ基板を作らずにいきなり本番用の基板を発注した。両面基板の自作は面倒なので仕方ないが、失敗すると高額で損をするので気が進まなかった。
ドキュメント類置き場
TREX / SSTWRITER関連の販売に使っているドキュメント、ソフト類のリンクはこちらです。
TREX ファイル置き場 - Google Drive
TREX ファイル置き場 - Google Drive