2009. 1. 6 ROMEO2の紹介とリンクを追加
2006. 1.19 デモデザイン公開
2005.12.21 CSMモードサポート、音サンプル追加
2005.12.20 新規&サンプル公開

FM Type-M IP

 サイン波を多段変調して音を作り出す、一時期、デジタル音源として一世風靡した、いわゆるFM音源チップの互換IPです。
 Type-MはクラシックパソコンのSHARP X1シリーズやX68000等に採用されていたYM2151に相当します。
 現在では電子楽器やPCの音源としては使用されなくなりましたが、少ないメモリと比較的小さな回路で構成できる特徴からか、2005年現在でも携帯電話でよく使われているようです。

 FPGAによるX1turboクローンの為に?書き下ろしています。

 最新バージョンはXilinx Spartan 3E FPGA開発ボード : ROMEO2で評価することができます。
 ROMEO2はオプティマイズさんや秋葉原のITプラザさんで購入できます。

 リファレンスとなったYM2151のICを貼り付けて、音のコンペアをとり、ほぼ同じ音がでています。
  耳で聞き比べる限り、現在確認できている音の相違点
 ・LFOのPMDの掛かり具合が多少浅い >ROMEO2版は修正済
 ・LFOのノイズモードを遅い速度で深くかけたとき
 ・クリッピング(オーバーレベル)時のノイズ >ROMEO2版は修正済
 ・テストモード時の動作

  検証していない機能
 ・ST(タイマーオーバーフロー)フラグ
 ・タイマー周期
 ・IRQ出力

 VerilogHDLで書いており、XC2S100とXC3S200で動作確認済です。
 非営利で個人的な利用目的であれば個別に配布できます。興味のある方は掲示板の方へご連絡下さい。

DOWNLOAD

EZ-FPGA+Mini EZ-USB、及びSpartan3StaterKit用デモデザインと、データ作成用ソフト一式
opm_demo.lzh(2006.1.19)
 上記ボードにLPFかトスリンクを追加加工することで、実際の音が聞けます。
 ※説明が手抜きで不備なため、不明な点は掲示板へ質問願いします。

dac3012.v YM2151のシリアル出力をパラレル変換するモジュール
spdout.v S/PDIFの光出力用エンコーダ

(旧)2005.12.20版 音サンプル
ソーサリアン オープニング 著作者:多分日本ファルコム(株)
ソーサリアン メニュー 著作者:多分日本ファルコム(株)
イース2オープニング 著作者:多分日本ファルコム(株)
スタークルーザーOP著作者:どなたかご存じでしょうか?(-_-;;

 音のサンプルは、いづれもX1エミュレータで採取したI/OアクセスログをこのIPをFPGA上で再生した物です。
128MHz 10bit SigmaDelta 1bitDACの出力をPCでアナログ録音してmp3に変換してあります。
素材がX1からなので、AY-3-8910(PSG)IPの音を含んでいるものもあります。

参考資料

YM2151 DataSheet,YAMAHA
YM2151 Application Manual?,YAMAHA
ym2151.c(M.A.M.E),著作:Jarek Burczynski
ym2151.txt(M.A.M.E),著作:Jarek Burczynski
fm.c(M.A.M.E),著作:Tatsuyuki Satoh,Jarek Burczynski他
試験に出るX1,著作:祝一平,出版:SOFTBANK