FM音源プログラムの今後

3 月 25 日発売のインターフェース 5 月号には、富士通の FR60 シリーズのマイコン MB91FV310A の基板が付属します。
当然、この基板へのFM音源プログラムの移植を考えています。
インターフェース誌は定期購読しているので、一般の発売日より 2〜3 日早く届きます。
なんとか、最初の暫定版のプログラムを一般発売日より前に公開できたらいいなと思っています。
FM音源プログラムの移植に当たっては、使用するマイコンのハードウェアおよびアーキテクチャの違いにより、次の要素に関係するコードに手を入れる必要があります。

  1. fs レートの割り込みを発生させるインターバル・タイマ
  2. DAC (あるいは PWM、シリアル DAC と接続する SPI)
  3. MIDI / シリアル MIDI 入力のシリアル受信部
  4. CPU 負荷率測定用出力ポート
  5. CPU 負荷率測定用 AD 入力
  6. LCD / キー入力用 I/O ポート
  7. CPU のエンディアン

3 番まで対応すれば、一応、音源として音は出るので、最初のバージョンとしては、このレベルのものを考えています。
7 番のエンディアンの違いについては、ARM、V850 ともにリトルエンディアンで、変更の必要はなかったのですが、FR60 はビッグエンディアンなので、対応が必要です。
音色ファイル中の音色データは、1 バイト中に複数の要素が詰め込まれています。
これを、C の構造体のビット・フィールドで表現しているので、エンディアンが異なると、構造体の定義も変えなければなりません。
この点については、Web 上で公開はしていませんが、過去にビッグエンディアンである SH2 への移植をしているので、その経験を活かせます。
FR60 には DAC は内蔵されていないようなので、PPG (Programable Pulse Generator) で PWM 波を発生させます。
fs レートの割り込みは、「16 ビットリロードタイマ」あるいは「多機能タイマ」の使用を考えています。
OSDC (オン・スクリーン・ディスプレイ・コントローラ) が内蔵されており、基板には高密度 15 ピン D サブ・コネクタ (VGA コネクタ) が付けられるので、追加のハードウェアなしで VGA 表示が可能です。
LCD を付ける前に、VGA 表示を試して見たいと思います。
FR60 は 40 MHz クロックで動作できるようなので、単純計算では、20 MHz の V850 での 16 kHz サンプリング、同時発音数 6 音の、倍の性能が期待されます。