CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

OPMドライバ

FM音源IC(YM2151)の動作確認をしています。
すでにYM2203のドライバを作っているので元にするものはありますがレジスタ配置がかなり違うのでほとんど作り直しです。
 
イメージ 3
 
この形で構造体timtblに流し込んでおき、これを編集してOPMのレジスタにセットする関数を用意しました。8チャンネルの音源それぞれに音色、パンを指定できます
 
ネット上で4オペレータ系FM音源の音色パラメータを探すと大体こんな形で並んでします
イメージ 4
各パラメータをセットした後、音程とキーONをセットすれば発音されます。
スピーカで聞く限りノイズも少なくいい感じですが、オシロで見ると無声期間もデジタル系のノイズで輝線がひどく太くなっています。
ただ可聴周波数をはるかに超えているので問題にはなりません
 
イメージ 1
 
フルート系の音色で発音中の波形はこんな状態になってます
 
イメージ 2
 
音が出たところでほぼ満足してしまってますが、このあとMIDIメッセージ/ファイルの解釈ルーチンや各ボイスチャンネルへのアサイナを用意しなければなりません