void sndStart()
{
SndIniDt sys_ini; /* システム起動用データ格納領域 */
SND_INI_PRG_ADR(sys_ini) = (Uint16 *)0x22002400;
/* 68Kプログラム格納先頭アドレス設定 */
SND_INI_PRG_SZ(sys_ini) = (Uint16 *)0x4fc8;
/* 68Kプログラムサイズ設定 */
SND_INI_ARA_ADR(sys_ini) = (Uint16 *)0x22004400;
/* サウンドエリアマップ格納先頭アドレス設定 */
SND_INI_ARA_SZ(sys_ini) = 0x0550;
/* サウンドエリアマップサイズ(ワード指定)設定 */
SND_Init(&sys_ini); /* サウンドシステム起動 */
...
}
void sndCnt()
{
sndStart(); /* サウンドシステム起動(上記項目参照) */
SND_ChgMap(2); /* サウンドエリアマップ変更 */
SND_MoveData((Uint16 *)0x22005000, 0xffff, SND_KD_SEQ, 2);
/* サウンドデータ転送(シーケンス) */
SND_MoveData((Uint16 *)0x22005500, 0xffff, SND_KD_TONE, 2);
/* サウンドデータ転送(音色) */
SND_SetTlVl(15); /* 全体音量の設定 */
SND_StartSeq(0, 2, 5, 0); /* シーケンス開始 */
...
}
void sndHantei()
{
SndSeqStat status; /* シーケンスステータス格納領域定義 */
...
SND_GetSeqStat(&status, 0); /* シーケンスステータス取得 */
if(SND_SEQ_STAT_MODE(stauts) == SND_MD_STOP){
/* 発音管理番号0のシーケンスがstopかどうか?*/
SND_StartSeq(0, 2, 6, 0); /* シーケンス開始 */
}
}
★PROGRAMMER'S GUIDE
★サウンドI/Fライブラリ