音楽を再生してみよう


今回はメガドライブで音楽を再生します。

SGDKでは様々な音楽フォーマットがサポートされていて
メガドライブエミュレータで標準的なVGM形式以外に
PCM 、MVS 、TFM 、XGM などの形式に対応してます。

SGDKでサポートしている形式を試した所、
VGM形式を内部ツールでXGM形式に変換して
再生させる方法がSGDKでは安定していると思うので
その方法を説明します。


1、VGMを用意する。

まずはVGM形式の曲を用意する必要があるのですが

・トラッカーを使って作曲する
・MMLで作曲してから変換する
・MIDIから変換する
・ダウンロードする

メガドライブで再生出来る曲を作るのには色々な方法があるので

作曲したり変換したりダウンロードしたりしてVGMをとにかく用意して下さい。

VGMを用意出来ない人の為にサンプル曲をアップロードしました。(8小節ほどの短い曲です)

 

ダウンロード
サンプル曲
bgm.zip
zip ( 圧縮 ) ファイル 4.8 KB

サンプル曲をダウンロードした場合、解凍して中身のbgm.vgmを使用して下さい。

2、フォルダの作成。

SGDKフォルダの2つ下の階層に名前は何でもいいので今回使うフォルダを作ります。
例 C:\develop\sgdk\sample\music
作ったフォルダの中にresフォルダを新規で作り、resフォルダの中に再生する音楽ファイルを入れます。

音楽ファイル名は何でもいいのですが、ファイル名「bgm.vgm」で説明します。

 

3、リソース設定ファイルの作成。

SGDKでリソースを扱うrescompの設定ファイル「適当な名前.res」を
resフォルダの中にテキストファイルで作ります。
例 C:\develop\sgdk\sample\music\res\res_sound.res

XGM bgm "bgm.vgm"

 

このテキストをテキストエディタでres_sound.resにコピペして保存して下さい。


4、ソースファイルの作成。

musicフォルダの中に新規テキストファイルでmain.cを作成し

01 #include
02 #include "res_sound.h" //音楽リソース読み込み
03  
04 int main()
05 {
06         SND_startPlay_XGM(bgm);//音楽の再生
07         while(1) //メインループ
08         {
09                 VDP_waitVSync(); //60分の1秒で発生するVSync待ち
10         }
11         return (0);
12 }

上のソースコードをコピぺします。(右上のViewSourceアイコンからコピペ用のテキスト画面が出せます)
ビルド用のバッチファイルmake.batをmusicフォルダの中にコピーして下さい。

 

5、コンパイル(ビルド)

これでソースコード、VGMファイル、resファイル、ビルド用のバッチファイルが揃いました。
make.batを実行しビルドして下さい。
エラーがなければoutフォルダの中にrom.binが作成されます。
rom.binをエミュレータで読みこんで音楽が再生されれば成功です。
お疲れさまでした。


ダウンロード
今回のファイル一式
music.zip
zip ( 圧縮 ) ファイル 6.4 KB