PIC32MX220F032B ベースボード (2)

Microchip 社の PIC18/PIC24/PIC32 用 USB ライブラリの USB MIDIバイスのデモ・プログラムと、USB MIDI ホストのデモ・プログラムを PIC32MX220F032B 用に修正して動作させることができました。
「単価 220 円のマイコンによる USB MIDI ホスト」の実現にめどが立ちました。
USB MIDIバイスのデモ・プログラムでは、デモ・ボードのスイッチを押すと MIDI ノート・オン・メッセージが発生し、USB ホスト側に送られます。スイッチを一回押すたびに音程が半音ずつ上がっていき、1 オクターブに達すると元の音程に戻ります。
USB MIDI ホストのデモ・プログラムでは、いわばホスト版の「USB-MIDI アダプタ」として機能し、

します。
これを利用すると、USB 端子のみで MIDI 出力をもたないキーボード・コントローラを、ホスト PC なしで (レガシー) MIDI 機器に接続できます。
ただし、「USB ハブ」には対応していないので、(ハブ内蔵型でない)「素」の USB キーボード・コントローラを 1 個だけ接続することに限られます。
残念ながら、手持ちの MIDI キーボード・コントローラはハブ内蔵型の KORG microKEY 37 なので、MIDI キーボード・コントローラと接続して実際に機能するかどうかという検証はできていません。
ただ、自作の USB-MIDIバイス (MIDI 出力専用) と接続して、

PC → MIDI ケーブル → USB MIDI ホスト → USB ケーブル → USB MIDIバイスMIDI ケーブル → MIDI 音源

という、「逆方向」のルートで演奏データを流すのは、ほぼ正常に行えています。
「ほぼ」と言ったのは、どうやら USB MIDI ホスト・プログラムにバグがあるようで、システム・エクスクルーシブ・メッセージの最後の 1 あるいは 2 バイトが欠ける場合があります。
音源のパネルにシステム・エクスクルーシブで文字列を表示させる場合に最後の 1 〜 2 文字が欠けるのは「ご愛嬌」ですが、GM システム・オン や XG システム・オンのエクスクルーシブでもデータ欠けを起こします。
もうひとつの PIC32MX マイコンに USB MIDIバイス・プログラムを書き込んで接続するか、あるいは、自作の USB-MIDIバイスを入力可能なように改造するなどして、

USB MIDI ホスト → レガシー MIDI 出力

の方向の動作を確認して、近日中に USB MIDI ホスト・デモ・プログラムの PIC32MX220F032B 用のオブジェクトの HEX ファイルを公開したいと思います。