CASIO PB-1000/C用 FM音源ボードの作成

YAMAHAの音源IC YM2413(OPLL)を使用したPB-1000/C用のFM音源ボードです。

注意
本FM音源ボードは、カシオ計算機(株)が周辺機器として動作保証した
ものではありません。製作に失敗した場合、ポケコンを壊してしまう
可能性もあるため、実施は自己責任でお願いします。

1.はじめに

FM音源は、Frequency Modulation(周波数変調)を応用した音声合成方式を用いており、
比較的少ないデータで自然楽器から電子楽器まで幅広い音作りができることが特徴です。
今回使用するYM2413は音色パラメータがプリセットされているため、更に少ないデータ
での制御が可能であり、メモリが少ないポケコンには最適な音源ICと言えます。
このICの詳細はYM2413アプリケーションマニュアルを参照下さい。


2.回路構成

下図に今回製作したFM音源ボードの回路を示します。

左側はPB-1000の30pinコネクタで、IO0-IO7を直接YM2413のデータバスにに接続します。
またI/O用のチップセレクト信号CS7およびアドレスバスの最下位ビットA0を、それぞれ
YM2413のチップセレクト端子とA0端子に接続することで、アドレス書き込み用のアドレスを
0C00-0C0Fhの偶数アドレス、データ書き込み用のアドレスを0C00-0C0Fhの奇数アドレス
に設定することができます。データ書き込みにはタイミングを合わせるための/IOWR信号が
必要であるため、YM2413の/WE端子にPB-1000のWR端子を接続します。

RESET端子ICには、PB-1000のP3端子を接続します。これによりPort3をLow levelにする
ことで、YM2413をイニシャライズすることができます。またYM2413内部で必要なクロックを
作るため、XINとXOUT端子には水晶発振子とコンデンサを接続します。

Vcc端子には+5Vの電源を接続します。今回、電源はPB-1000側から30pinコネクタを介して
供給していますが、これを直接YM2413やオペアンプに接続すると音信号に盛大なノイズが
乗ってしまうため、図のようにLCフィルタを挟むことで対策しています。

MO端子とRO端子からはそれぞれメロディとリズムが出力されます。回路ではこの信号を
オペアンプで構成した反転加算回路によってMIXし、RC積分回路とボルテージフォロアを
通した後、コンデンサで直流分をカットして3.5mmφのステレオミニジャックに出力します。
出力先はライン端子を想定していますが、イヤフォンの直接接続も可能です。



3.準備するもの

本製作に必要な道具および材料です。YM2413は既に生産が中止されていますが、
たまにオークションで出品されるのでチェックしてみて下さい。
ちなみにB付きは低消費電力版で、電流が40mAから5mAに低減されています。

番号 名称 数量 入手先
1 半田ごて(15W程度) 1
2 カッター 1
3 テスター 1
4 FM音源IC YM2413B 1 Yahoo auction:YM2413B
5 4回路入りオペアンプ LMC660 1 秋月電子通商:I-00066
6 40x2 1.27mmピッチ ヘッダピン 1 マルツパーツ:HW101-2X40PIN
7 ユニバーサル基板 1 マルツパーツ:ICB288G
8 3.5mmφ ステレオミニジャック 1 秋月電子通商:C-02384
9 抵抗 2.2kΩ 3 マルツパーツ:MFS1/4CC F
10 抵抗 4.7kΩ 2 マルツパーツ:MFS1/4CC F
11 抵抗 10kΩ 1 マルツパーツ:MFS1/4CC F
12 コンデンサ 15pF 2 マルツパーツ:CC DC50V15P
13 コンデンサ 0.015uF 1 マルツパーツ:AMZ0100K153
14 コンデンサ 0.1uF 2 秋月電子通商:P-00090
15 コンデンサ 10uF 2 秋月電子通商:P-03095
16 コンデンサ 1000uF 1 共立エレショップ:3CA133
17 マイクロインダクタ 1mH 1 共立エレショップ:51V13E
18 水晶振動子 3.579545MHz 1 マルツパーツ:CXH49SFB03579M0PES
19 ジャンパ線 適当 マルツパーツ:UEW0.2L20
20 半田(0.8mm以下の物) 適当


4.FM音源ボードの作成

下図に各部品のユニバーサル基板への実装例を示します。
基板の加工や30pinコネクタの実装方法はRS232C I/Fの記事を参考にして下さい。


下の写真が製作例です。30pinコネクタとICの配線にはポリウレタン線を使用しています。



5.音出し用サンプルプログラム

本FM音源ボードにおいて、ピアノ音でコードCを鳴らすためのサンプルプログラムです。
制御コマンドの詳細は冒頭のリンク先にあるアプリケーションマニュアルを参照下さい。

        ORG     &H7000
        START   START
;
;       YM2413の初期化
;
START:  PST     PE,&HC8         ;Port3を出力に設定
        PST     PD,$31          ;Port3=0(RESET)
        NOP                     ;
        NOP                     ;wait
        NOP                     ;
        PST     PD,&HC8         ;Port3=1(SET)
;
;       I/Oアドレス設定
;
        PRE     IX,&H0C00
;
;       音色、ボリューム設定
;
        LDW     $0,&H3030       ;CH0:音色=ピアノ,音量=-0dB(MAX)
        CAL     SETRG
        LDW     $0,&H3031       ;CH1:音色=ピアノ,音量=-0dB(MAX)
        CAL     SETRG
        LDW     $0,&H3032       ;CH2:音色=ピアノ,音量=-0dB(MAX)
        CAL     SETRG
;
;       音階(Fパラメータ)設定
;
        LDW     $0,&HAC10       ;CH0:ド
        CAL     SETRG
        LDW     $0,&HD811       ;CH1:ミ
        CAL     SETRG
        LDW     $0,&H0112       ;CH2:ソ
        CAL     SETRG
;
;       SOUND ON
;
        LDW     $0,&H1820       ;CH0:SUS OFF/KEY ON, オクターブ=4
        CAL     SETRG
        LDW     $0,&H1821       ;CH1:SUS OFF/KEY ON, オクターブ=4
        CAL     SETRG
        LDW     $0,&H1922       ;CH2:SUS OFF/KEY ON, オクターブ=4

SETRG:  ST      $0,(IX+$31)     ;コマンドセット $0->0C00h
        ST      $1,(IX+$30)     ;データセット   $1->0C01h
        RTN

6.FM音源対応電子キーボード

本ホームページで公開している電子キーボードプログラムをFM音源対応に拡張しました。
16色、9音の同時発音が可能で、9オクターブの音域をカバーしています。
操作方法等の詳細はアーカイブに添付されているREADMEを参照下さい。



7.あとがき

1.27mmピッチのヘッダピンが余っていたところに、YM2413Bを某オークションにて
格安で手に入れることができたため、今回のFM音源ボード作成となりました。
正直遅すぎる発表だとは思いますが、PB-1000初のFM音源ボードということで、
記事だけでも楽しんで頂けたら幸いです。

2010-4-18@Miyura


記事は、Miyura氏よりご寄稿して頂きました。ご協力誠にありがとうございました。

戻る