-<□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□>- さー,ずんずんウンズ化だ!! CDC.x用アプリ ZMUSIC で オーディオCD をコントロール ZCDC.x ver 0.3x Copyright 1994-96 TNB製作所 -<□■□ これは □■□>- ZMUSIC の comment 文にあるコマンドを書くことでオーディオCDをコントロー ルしようというものです。これにより ZMUSIC を使用したゲームなどのBGMをC Dからながすことも可能になりますよ。 オーディオCDコントロールには 常駐型 オーディオCD コントローラー CDC.x のトラップコール を使用しています。ですから、CDC.x が必要です。また、CDC.x バージョン 1.09B 以降のフェードアウト機能にも対応しました。 -<□■□ 実行 □■□>- 使用法: ZCDC.x [switch] 無し ・・ 常駐します。拡張トラックを解除します。 /F[m] ・ フェードアウトスピードを指定します(*後記)。 /T ・・・・ 常駐します。拡張トラックを解除しません(スイッチの最後に付けるように)。 /R ・・・・ 常駐解除します。 常駐すると CDC.X の LED部は消えキー操作も出来ないようになります。 -<□■□ ZMUSIC commentコマンド □■□>- 基本書式は、ZMUSICの.comment のどこかに以下の文のどれかを付けるだけです。 ●CDCB{[T/AA:AA:AA-BB:BB:BB,CC:CC:CC-DD:DD:DD]} ●CDCb{[T/AA:AA:AA-BB:BB:BB,CC:CC:CC-DD:DD:DD]} BGMします。 `CDCb'では演奏開始を待ちません(後記)。 ●CDCF{[T/AA:AA:AA-BB:BB:BB,CC:CC:CC-DD:DD:DD]} ●CDCf{[T/AA:AA:AA-BB:BB:BB,CC:CC:CC-DD:DD:DD]} BGMします。ただし、FADE OUTコマンドの時も、演奏を止められます。 (ただし、CDC.x で -VM がある場合、CDCB とまったく同じ) `CDCf'では演奏開始を待ちません(後記)。 ●CDCP{[T/AA:AA:AA-BB:BB:BB]} ●CDCp{[T/AA:AA:AA-BB:BB:BB]} 一度演奏します。一度演奏したら終わります。 `CDCp'では演奏開始を待ちません(後記)。 中身は以下のように書きます。 ● T トラックナンバー指定。以下を省略すると、指定トラックのは じめから最後までを繰り返し、BGMとします。 ●AA:AA:AA-BB:BB:BB,CC:CC:CC-DD:DD:DD AA分AA秒AA~BB分BB秒BBを演奏後、CC分CC秒CC~DD分DD秒DDを 演奏します。T/が指定されている時はそのトラックに対しての時 間指定になります。 A,B,C,D いずれも省略可能です。Aが省略なら00:00:00、Bが省 略なら曲の最後の時間、Cが省略ならAと同じ、Dが省略ならBと同 じ時間を指定したのと同じになります。 'CDCP'の時は C,Dは意味を成しません。 ☆注意! :拡張トラックを使用している場合、トラックがすれ ることがあります。ZCDCを使用の時は基本的に拡張トラッ クをOFFにしますので、トラックナンバー、時間を書くと きは一度、タイトルリストをちょっといじる(リスト中に 空行をいれるだけでもいい)なりして、拡張トラックを使 用しない状態で調べてください。 例! CDCB{[5]} : 5 曲目をBGMにします。 CDCB{[00:20:00-02:24:00]} : CDC対時間、00分20秒00~02分24秒00をBGM にします。 CDCF{[2/-02:00:00,01:00:00}] : 2 曲目のはじめから02分00秒00まで演奏後、01分00秒00 ~02分00秒00をBGMにします。 'CDCF'なので、ZMUSICのFADE OUT コマンドで演奏を終 了します。 CDCP{[22/00:01:00-00:03:00]} : 22曲目の00分01秒00~00分03秒00を演奏します。ルー プはしません。 ★同梱の CDCBGM.xも同じ書式になってい るので、時間の調整はこちらで試すといい でしょう(後記)。 CDC.xが割り込めない状態(TIMER-Cを乗っ取られるゲームなど)で使う物は (t1)t120[do]r2[loop] (p) の様に、1秒ぐらいでループするMMLを実行しておきます。 まーけっきょく以下のように書けばいいわけです。そしてZMUSIC -Cでコンパイル しておけば、ゲームなどで使えるということですね。 (i) .comment TITLE!! CDCB{[4]} (m1,1024)(aFM1,1) (t1)t120[do]r2[loop] (p) ZMSファイルのままですとうまく演奏出来ません。同梱のCDCBGM.xを使用する(た だし必ず'CDCB'になります) か、 ZP ??.ZMS ZP -P とすれば演奏出来ます。ただしはじめの.comment文に CDC命令を書くこと!しかも 頭の方にです。これはZMUSICの仕様でZMSを直接あたえた場合、.comment文が少し しか保存されないので、ZCDCで見れ無いのです。ZMDファイルにしてしまえば、全 く問題、制限無く.comment文に書けます。 参)ZCDR.x(前ヴァージョンの名)で使用していた'CDR?'のそのまま 使用出来ます。 「演奏開始を待ちません」というのは、CDC.x バージョン 1.09B から演奏開始 を待たずに次の作業に入れる様になったためのコマンドです。画面にあわせたい場 合や、曲を変えた時、ちょっとでも画面が止まるのが嫌な時、こっちを使って下さ いね(ただし CDC.x に /PM が指定されていない場合は意味がないので考慮してね)。 -<□■□ フェード・アウトッ □■□>- CDC.x バージョン 1.09B からなんと、フェードアウトがサポートされました。 これで、ZMUSIC のフェードアウトコマンドに合わせてCDの音も下げられるように なりました。 注意)ただし、CDC.x で /VM の指定が出来る CD-ROM に限る。 でも、ちょっとデータを作る時に面倒なことも出来てしました。それは、フェー ドアウトのスピードなんです。CDC.x のフェードアウトは、ある一定のタイミング でちょっとずつボリュームを下げていくことで再現しているんですね。そのため、 ZCDC.x でフェードアウトを使う場合、割り込むタイミングからボリュームの下が り値を計算する必要があります。 TIMER-C が生きている状態では、CDC.x の /T の第1引数により、ボリュームの 下がり値は計算されています。ので、そのまま使用出来ます(勿論変更も可能)。で すが、ゲームなど CDC.x が割り込めない状態(TIMER-Cを乗っ取られるゲームなど) では、ZMUSIC のループ時に起きる割り込みを使用して CDC.x をドライブさせてい ますので、普通の状態と違ってしまいますね。 わけのわからないことを書いているより、例を書きましょう。ボリュームは最大 255 ですね。それを3秒でフェードアウトしたいとします。その場合、255÷3=85 ですから、 ZCDC -F85 と常駐し、MML は (i) .comment TITLE!! CDCB{[4]} (m1,1024)(aFM1,1) (t1)t120[do]r2[loop] (p) と言った感じ。でもやってみれば分かりますが、1秒毎に極端に音が下がっていく のが分かりますね(CDC -t の第1引数を1秒以上にしておかないと、CDC.x のタイ ミングで下げてしまうので、期待通りにはならないことがあります)。ので、1秒 毎ではなく、0.5秒、それでも気になれば 0.3,0.2秒にしてみましょう。例えば、 0.25秒では、255÷(3÷0.25)=21.25 ですから・・ ZCDC -F21 と常駐し、MML は (i) .comment TITLE!! CDCB{[4]} (m1,1024)(aFM1,1) (t1)t120[do]r8[loop] (p) ですね。テンポ120 の時、r2が1秒、r8が 1/4秒(0.25秒)ですから、こうなります。 わかりますね。 -<□■□ CDCBGM.x □■□>- 同梱の CDCBGM.x はZCDCコマンドの動作確認するためものとしてあります。直接 CDCBGM 00:20:00-02:24:00 の様に指定したり、 CDCBGM TTTT.ZMS の様にZCDC用のファイル(ZMDでも可能)を指定することで、演奏チェック出来ます。 ZCDC.x ZMUSIC.x はいりません! ただし、CDC.x いりますよ(常駐しておくこと)。 ただし、ZCDC用ファイルを指定しても、'CDCB','CDCF','CDCP' のヘッダは無視 され、動作はみな'CDCB'になってしまいます。まー、手抜きですが、テスターとし ては十分のはずです。 -<□■□ 餓狼サンプル □■□>- CDC+ZMUSIC+ZCDC のサンプルとして、魔法株式会社の「餓狼伝説スペシャル」用 の .ZMD ファイルを同梱しますネ。ただし、上記ソフト以外、PONY CANYONのCD 「新世界楽曲雑技団 餓狼伝説スペシャル」が必要です(ちがうCDでも動きますが 曲がめちゃくちゃ)。 ディスクの書き替えが必要なのでハードディスクに入っている場合のみ、説明し ます。でもFDベースの場合も可能のはずですよ。 まず、同梱のGSPZCDC.lzh を解凍して、BGMM_??.ZMDを \GSP_C\ に上書きします。 ファイル名を見ての通りMT-32用の ZMD を書き替えてます。もし MT の方をお使い なら BGMM_??.ZMD を BGMS_??.ZMD にリネームしてくださいね。そうそう \GSP_I\ にも ZMD ファイルがあるので同じファイルをコピーしておきましょう。そして 社名の音楽は FM 音源やるしかないので、BGMF_00.ZMD を BGMM_00.ZMD と複製し てオッケーです! そして起動のバッチの ZMUSIC(あるいはZMSC)の下に、 CDC -I (出来れば CDC -VM -I) ZCDC -F30 と、2つを書き加えてください(CDC.x は常駐していればここに書く必要はないで す)。もちろん両ツールにパスを通してくださいね。 起動したら、CONFIGの'MUSIC SOURCE'を [MT-32] にすれば CDから音楽だ出るは ずです。♪♪> ^o^ もし、CD-ROM がボリューム変更をサポートしていればフェー ドアウトもしてくれますよ!! -<□■□ 注意 □■□>- ZCDC.x は ZMUSIC から操作されるので、凄いタイミングで割り込むことがあり ます。ので、ゲームなり、ZCDC.xが必要な時のみ常駐するようにしてください。 TNB製作所は ZCDC.x の著作権を保持しますが、フリーウェアで転載は自由です。 ただし同梱ファイルの変更はしないで下さい。 TNB製作所は この ZCDC.x によるトラブルは一切責任を負わないものとします。 個人の責任において使用して下さい。 バグ、トラブルの御報告、お願いします。出来る限り対処、対応していきます。 -<□■□ 使用ツール □■□>- * CDC.x ver 1.09B TNB製作所 * SUPERED.X ver 1.18 T.Nishikawa氏作 * gcc.x 真里子バージョン TOOL#1 Based on GCC 1.42 * has.x ver 3.08 YuNK氏作 * hlk.x ver 3.01 SALT氏作 * XCcompiler ver2.1NEWKITのライブラリを使用しています。 企画:HK2;ひで 文責:HK2 制作:ひで (TNB製作所) ========================================================================== 10/某日 :まだ、借り物ながら¥9800の倍速CD-ROM、入手。が、ドライバー がない。電クラにあったCDFILEでゆみみの一部をHDに移し再生、 するぐらいしかやること無し。 '95 1/13(金):CDR.xにtrap #5を装備。取り敢えずコンパイルしたZMDでの作 動は成功。早速CDR.x制作目的の一つであったガロスペで音楽を CDからを実現。たまに止まる。 CDR.xに問題があった。LEDの表示をOFFにしておいてもたまに 表示してしまうのだ。これのせいで、ガロスペがとまってた。 おっけーだ。なんか気持ちいい。 ver 0.00 1/23(月):CDRに TRAP #5にミスがあった。修正。 ver 0.01 2/ 7(火):ZMUSICが$400000以降に常駐していると、ZCDRが常駐できない バグを修正。 ver 0.03 3/ 2(木):ZMD ならなんとか演奏出来るようになった。$54による演奏にも 対応(Lmz2でも演奏出来た)。 ver 0.04 3/ 8(水):トラックの途中からでも再生可能になった。チェック用のCDRBGM 制作。 ver 0.10 3/17(金):細かい調整。名前の変更、ZCDR改めZCDC ZCDC.x ver 0.20 10/12(木):あう、CDCのトラップをうかつにいじったため、困ってしまった ぁ。 ver 0.21 '96 4/26(金):自己書き替えをやめた。だけ。 ver 0.22 5/17(金):CDC.x にフェードアウト機能が付いたので、対応!!でもちょっ と音の下がりかたが、イヤ、みたいな。 CDC の /PM 対策をした。 多連装対策をしたが、どうもoffset値を付けるとだめだ・・・何 でだろう。ので今のところ多連装は制限あり ^^; ver 0.30