BGMと唱っているだけあり、1/60秒のタイマー割り込みでBASICの処理と平行してBGMを自動的に演奏します。
※ SCCはコナミのウェーヴ音源ICです。
98年2月13日現在、DMシステム2で対応しているBGM形式は以下の通りです。
現在では作者のAin.氏に代わり、ギガミックスがMGSDRVのサポートを担当しています。
DMシステム2ではMGSDRVを標準でインストールしています。MGSDRV形式のデータはそのまま演奏できます。
"MuMAKA"は"M.K Softが製作した"MuSICA"の上位互換ドライバです。OPLL、PSG、SCCの17音同時演奏が可能で、"MuSICA"には無いトランスポーズ機能等が追加されています。バグも結構ありましたが、そのエディタの快適さには定評が有ります。
今やMSXマガジンは休刊してますし、TAKERUでの販売も終了した為、"MuSICA"の入手は非常に困難です。しかし最近では「勤労シリーズ」と言う新たなMuSICA互換BGMドライバが出回っており、それを用いてデータが作成できます。
DMシステム2ではこのドライバを新たにインストールする必要があります。
FM-BIOSの利点は処理の軽さです。他のBGMドライバは多くの機能を実現する為、割り込み処理に時間がかかりますが、FM-BIOSは最低限の演奏しかできないかわりに割り込み処理にはほとんど時間をかけません。とにもかくにも速度が欲しいソフトに最適です。
徳間書店「MSX-FAN」誌の付録ディスクでもこのBGM形式が採用されました。
DMシステム2ではこのドライバを新たにインストールする必要があります。
よってMacintoshからデータを
また、これをMSX用へ移植したPCMCONV.COM(Ain.さん作)も存在します。「窓辺の湖畔MSX」でゲットできます。
他機種でPCMデータを製作する際、PCMの周波数はMSXで利用できる4種類(15.75KHz、7.875KHz、5.25KHz、3.9375KHz)のどれかへ補正してください。
第1章 概要
MSX-BASIC上からBGM(Back Ground Music)を演奏します。
第2章 対応するBGM形式
BGMを演奏する為には、「BGMドライバ」と呼ばれる演奏プログラムと、「BGMデータ」と呼ばれる演奏データの2つが必要です。ドライバとデータは対になっていて、このバランスが崩れるとBGMは演奏できません。AのBGMドライバに対応しているBGMデータは、BのBGMドライバではまったく演奏できないわけです。
2.1 MGSDRV形式 (デフォルト設定)
Ain.氏の提唱した音楽ドライバで、日本のMSX系パソコン通信で有名です。OPLL・PSG・SCCの計17音同時発声が可能で、強力なループ機能やカラオケ機能などがウリです。ゲームミュージックから歌謡曲まで、豊富なジャンル(のデータ)がMSX系ネットワークで出まわっています。
※ DMシステム2版MGSDRVではカラオケ機能、MGSARCによる圧縮データに対応しません。
2.2 MuMAKA(MuSICA)形式
今は亡き「MSXマガジン(アスキー刊)」で提唱された音楽ドライバ、"MuSICA"は「Dante2」「ディスク通信」等、多くのソフトで活用されていました。エディタの快適さには定評が有ります。
2.3 FM-BIOS形式
MSX-MUSICに内蔵されているBGMの演奏ルーチンです。ただし上記のドライバはOPLL・PSG・SCCを駆使した音楽を演奏できることに対し、これはOPLLでの最低限の演奏しかできません。
第3章 DMシステム2からの使用方法
BGMドライバにMGSDRV以外を使用している場合でも、プログラムの記述はすべてのドライバにおいて共通します。
3.1 PCMデータのロード
まずはPCMデータをどこかのメモリ(RAM)へ配置しなければなりません。
CALL LOAD ("ファイルネーム")
← ベタファイルの場合
BLOAD "ファイルネーム" ← BSAVEヘッダの付加したファイルの場合
PCMデータをRAMへ配置する際、配置するエリアはあらかじめCLEAR文で宣言しておく必要があります。
ex.)
call load ("a.pcm",&h3000) ← 3000hへロード
bload "a.pcp",s ← BSAVE形式のPCMをロード
ex.)
clear 200,&hc000 ← c000h以降をBASICが使わない
3.2 PCMデータの再生
メモリに配置したPCMデータの演奏を開始します。
CALL PCMON (PCMの先頭アドレス,終了アドレス,サンプリングレート)
CALL LOAD 等で設定したアドレスをそのまま代入してください。BLOAD命令でデータを配置する場合は、データの先頭アドレスをあらかじめ把握しておく必要があります。
設定したアドレスにBGMデータを確認できなかった場合、DMシステム2はエラーを返します。
ex.)
call bgmon (&h3000) ← 3000hに配置したBGMデータを演奏
※ BGMドライバによっては確認しない(できない)ものもあり、ヘタすりゃ暴走。
3.3 ラップの指定
PCMをラップのように連続再生します。
CALL PCMON (先頭アドレス,終了アドレス,レート,ラップ回数)
百分率で設定します。通常は100(%)です。この数を少なくすればテンポが遅くなり、多くすればテンポが早くなります。
テンポを遅くする分には一向に構いませんが(BGMとして聴くのは辛いですが)、極端にテンポを早めるとMSX自体のパワー不足により暴走することがあります。いいとこ2倍程度が限界です(MSX2時)。
ex.)
call bgmtmp (50) ← テンポを50%(2分の1)にする
call bgmtmp (150) ← テンポを150%(1.5倍)にする
第4章 データの作成方法
DMシステム2で使用するPCMデータは事前に各種ツールで作成しておく必要があります。この章ではPCMデータの作成法を紹介します。
4.1 MSX上でPCMデータを作成する場合
MSX上でPCMデータを作成するには
4.2 他機種でPCMデータを作成する場合
MSX turboRで採用されているPCM音源はMacintoshのそれと同じフォーマットです。よって、MacintoshのPCM形式で保存できるツール(8bit符号付きPCM)が用意できれば、それをMSXで活用できます。
1)Macintoshの場合
MacintoshでPCMを作成するには、ご利用のPCMツールでそのままデータを作成できます。しかしMacintoshで作成されたファイルには MacBinary と呼ばれる、ファイル先頭128バイトに付加してしまうヘッダ情報が邪魔になります。これをそのままPCMとして再生すると「ジャリ」というノイズが発生することがあります。
2)Windows (MS-DOS)の場合
Windowsマシン(MS-DOSマシン)でPCMを作成するには、MS-DOS用のフリーソフトであるPCMCONV.EXEが利用できると思います。.Windows標準のWAV形式など、各種フォーマットに対応するので重宝します。
4.3 FM-BIOS
テキストエディタでMMLを描き、MCMP.COMでコンパイルします。たろう@似非職人工房さんによるFM-BIOS用BGM製作キットが用意されています。詳しくは「MML Compiler」のドキュメント(MCMP210F.DOC)をご覧ください。
MML Compiler
MCMP210F.LZH (8KB)
Copyright (c) 1998 GIGAMIX, All rights reserved.