当ブログは…
ソフト書き中
id:Chuck:20060316#p1 からの続き。
例によって細切れの時間に少しずつ書いている。電車に乗っている時間などでノートにアルゴリズムからコードぐらいまで書き下して、端末に向かえるときにコードタイプ*1。本当は休日にハードウェア、平日はソフトウェアにしたいのだけれども。
MICI2CV ATtiny2313(Simple)版 暫定仕様 未達リスト
- ゲート出力 (極性を設定可)
- MIDIメッセージ
- 高音優先 mono mode, single/multiple trigger
- Legato対応
- Re-trigger対応(リトリガタイムは CC Legatoのローカル拡張で指定)
- All note off (MM#123 (7Bh))
- Reset all controllers (MM#121 (79h))
- Active Sensing (FEh)
- System Reset (FFh) (できれば)
- I2Cからも読み書きはコードエリアに余裕があったらとする
MIDIのパース部分がだいたい終わって、multiple trigger のための MIDI Noteの構造体からなる線形リストまわりの処理(Note Onで alloc してリストを育てて、Note Off で free している)を書いた。この段階で 76%ほどのコードエリアを使っている。残り 240wordぐらい。
- single trigger のときはどうしようか(本末転倒気味)。
- 高音優先-低音優先の設定変更可能性は諦め気味。#define で対応か?
- ゲート出力の極性をアサイナブルにするのもまだ。
あとは re-triggerのためにタイマを仕込んで、System Reset と Active Sensing のために Watch Dog を仕込んで様子を見ようと思う。
all note off/reset all controller もあるし、I2Cのライブラリ(335byte)をリンクするのは無理かもしれない。