MSX用 BGM-Driver
2010/01/01版
概要
MSX-BASIC から気軽に呼び出せる BGM-Driver を作ることにしました。
巷にはいろいろな音源に対応している高級なものもありますが、このドライバは、あくまで MSX-BASICによる
ゲーム制作をサポートするためのドライバなので、下記の特徴を持たせました。
(1) PSGのみサポート
FM-PACの有無とか、SCCの有無とか、日曜プログラマは、そんないろいろなパターンを気にして作ってられません。
シンプルで確実に搭載されている PSG のみをサポートしています。
(2) 効果音もサポート
ゲームと言えば効果音は必須なので、BGM と効果音の同時再生をサポートしました。
当然、効果音がなるときは BGM の再生チャンネル数は減ります。
(3) 軽量であること
裏RAM に常駐し、MSX-BASIC が使う 8000h以降の RAM を消費しませんので、このドライバを使用することによるメモリ消費はあまり心配ありません。
割り込み処理も、PSG のみの対応なので CPU 負荷は少なくなってます。
(4) MML が使えること
前もって曲データをコンパイルしておく必要はありません。MMLを登録する BASファイルを作れば対応出来ます。
(5) オープンソース
ソースも公開するので、改造してもっと強化してやろうとか、そういう意欲のある人はどうぞご自由に (^^;
(6) 再配布自由
いまさら MSX で儲け話もないでしょうから、もう好きに使ってください。
有料・無料問わず、組み込んで使用可能です。
(組み込んだソフトを頂けると嬉しいですが、必須じゃないです)
・・・・というものになる予定です (^_^;
現状のステータス
・裏RAMに常駐して、CALL XXXX な命令をいくつか拡張するところまで完了
・CALL BGMDRV にて割り込みフック処理を実装
・割り込み処理内でソフトウェアタイマー処理を実装
・CALL BGMWAIT(n) の機能を実装
・CALL BGMCLRKB の機能を実装
・CALL BGMSETDATA(str) の機能を実装
・CALL BGMCLRDATA の機能を実装
・その他の拡張命令の動作は暫定的にビープ音が鳴るだけのもので、中身は入っていない
・現状作りかけにつき、暴走の危険性大。
・現状 CALL BGMDRV した後に BEEP すると変な音になる
[▲トップページへ]