------------------------------------------------------------------------ 勤労4号 Version 2.50 プログラム・サンプルMML:黒田 圭一 MML解説・サンプルMML:なると Copyright (C) 1995,1996,1997 Keiichi Kuroda / BTO(MuSICA Laboratory) All rights reserved. MML grammer & sample musics are made by NARUTO Copyright (C) 1996,1997 NARUTO ------------------------------------------------------------------------ -------- ☆初めに --------  このプログラムはMSX−DOS(2)上でMuSICAのMMLをBGM 形式にコンパイルさせるプログラムです。  私が把握している限り、MuSICAの互換プレイヤーやドライバは複数聞 いていますが、コンパイラは無いかと思います。  ところで、このプログラムの名称が某国の某ミサイルになぜか似ていますが、 それとはまったく関係が無いはずです(笑)。  また、サンプルMMLファイルとして、私が拡張MML紹介のために作った もの以外になると氏製作のMMLファイルを入れています。 ---------- ☆対応機種 ----------  MSX2・VRAM64Kバイト以上で、要MSX−DOS(2)で動くよ うに設計しています。  ただし、漢字モード上での使用はお勧めできません。 -------------- ☆同封ファイル --------------  KINROU4.COM 勤労4号のプログラム  KINROU4.TXT 勤労4号の使用説明書  KAERU  .MSD 勤労4号専用のサンプルMMLファイル  以上、黒田 圭一製作物  KAERU−N.MSD サンプルMMLのアレンジバージョン  KAERU−N.BGM 上記ファイルのBGM形式ファイル  キンロウMML.DOC 勤労4号のMML解説文章  SAMPLE .MSD サンプルMMLその2  SAMPLE .BGM サンプルMMLその2のBGM形式ファイル  以上、なるとさん製作物 -------- ☆使い方 --------  このプログラムDOS上から動かします。 ○コマンドのフォーマット KINROU4 [MSD FILE] [VCD FILE] [OPTION] ○各パラメータの解説 ・[MSD FILE]  MuSICAのMMLファイル名を書きます。  省略やディレクトリも含めた指定はできません。  拡張子は何を書いても、.MSDに強制的にします。  BGMデータはこのファイル名に.BGMを付けて同じドライブにセーブし ます。 ・[VCD FILE]  MuSICAの音色ファイル名を書きます。  ディレクトリも含めた指定はできません。  拡張子は何を書いても、.VCDにします。  もし、このファイル名を省略したり、スペルミス等で読み込めなかった場合 は内蔵の音色データを使います(解説は後述)。 ・[OPTION]  /A:nnnn BGMデータのトップアドレスを指定します。 nnnnは0〜0FFFFHまでで、16進数で指定します。な お、16進数を示すHはあってもなくてもいいです。 省略したり、間違った指定をした場合は8000Hにします。  /C5 割り込み周期50Hz用のBGMファイルを生成します 60Hz用MSXで50Hz用のBGMファイルを生成する ときに付けます  /C6 割り込み周期60Hz用のBGMファイルを生成します 50Hz用MSXで60Hz用のBGMファイルを生成する ときに付けます ※割り込み周期を設定するオプションを付けなかった場合は、本体の割り込み  周期に合わせたBGMファイルを生成します。  日本製MSXでしたら、割り込み周期は60Hzですから、60Hzで生成  します。 ○例 ・KINROU4 MUSIC B:VOICE /A:A000  カレントドライブからMUSIC.MSDというMMLファイルとBドライ ブからVOICE.VCDというファイル名を読み込んで、BGMデータを0 A000Hから作ります(割り込み周期は本体と同じ)。  そして、コンパイル後はカレントドライブにMUSIC.BGMとしてセー ブされます。 -------------------------- ☆画面表示および処理の流れ --------------------------  起動しますと、以下の順に処理され画面表示されます。  しかし、エラーが出た場合はそこでエラー表示をして、そこで処理を止めま す。 (1)タイトル表示  勤労4号とか著作権の表示が行われます。 (2)MMLデータ読み込み  ここでも読み込みが成功すれば、画面表示されます。 (3)音色データの読み込み  成功した場合は普通に出てきますが、失敗したり省略されていた場合は警告 文がでます。この警告文が出ましたら、内蔵の音色データを使用します。  内蔵音色データにはFM音源の@0〜62までのデータがMSX MUSI Cと同じ順番で入っています。それ以外の所(FMの@63以降、PSG、S CC)は何も入っていません。 (4)ラベル名等調査  MML内のラベル名などを探しています。  なお、この処理に入る前や後にそのことを示す画面表示はありません。 (5)FM・PSG・SCCのコンパイル  ここで実際にコンパイルさせます。  なお、画面にはコンパイルするデータのあったパートしか表示されません。  表示されなかったパートにはブロックデータの指定が無かったということで す。 (6)MMLデータ内音色データのコンパイル  MMLデータの中にあった音色データをコンパイルします。  この機能は勤労4号独自のもので、MuSICAの純正品には無い機能です。  組み込みに成功した音色番号が表示されますが、ミスっていたりしていた場 合はエラー表示はされません(無かったものと判定します)。 (7)音色データの組み込み  BGMデータに音色データを組み込みます。 (8)セーブ・エンディング  BGMデータをセーブして、最後にちょっと表示します。 ------------ ☆MML文法 ------------  同封のMML文法書を参照してください。 ------ ☆免責 ------  勤労4号の使用によって、いかなる被害を受けましても、作者・発表者等は 一切責任は取りませんし、取れません(ディスク破壊とかの致命的なことはな らないと思いますが)。 ---------------------- ☆BGMデータの著作権 ----------------------  勤労4号によってコンパイルしたBGMデータの著作権はMMLファイルを 作った人になります。よって、自由にBGMファイルを配布しても構いません。  その場合に、「勤労4号でコンパイルさせました」というような文章や勤労 4号自体の著作権表示はしなくてもいいですが(していなくても、私にはBG Mデータを解析すれば分かります)、BGMデータがちゃんと勤労4号で作ら れているか本当に心配な方はBGMデータの品質非保証の証として、「このB GMデータは黒田というアホが作った勤労4号という得体の知らないコンパイ ラでコンパイルさせていますので、完全な動作保証はありません」とどっかに 書いておいてください(「」の文通り書いてください)。  なお、言うまでも無いですが、MMLデータとかは作った人が著作権があり ます。 -------------------- ☆エラー表示について --------------------  勤労4号では基本的にエラーの名称とそのエラーの起こったラベル名が表示 されます(もちろん、ディスクアクセス関係のエラーではラベル名なんて出ま せんが)。  ですから、エラーが出ましたら、そのラベル周辺をチェックしてみてくださ い。 -------- ☆Q&A -------- <Q 読み込めるMMLファイルの大きさは?> A 設計上、4000Hバイト(16384バイト)まで読み込みます。   もし、それ以上の場合は先頭の4000Hバイトしか読まず、警告もなく、   処理します(まあ、コンパイル中にエラーが出ると思いますが)。 <Q 製作できるBGMファイルの大きさは?> A 設計上、4000Hバイトまでです。しかし、TPAの関係でこれより小   さくなる可能性はあります(普通にMSXを使っているのであれば大丈夫   だと思います)。   しかし、MMLファイル内のラベル数・@命令使用数・[を使った音色定   義数の合計(@命令の個数は2倍にして足してください)が約4000個   を越えますと、コンパイルできなくなる可能性が高いです。 <Q MuSICAで作ったBGMデータと全く同じにコンパイルされるのです> <  か? > A 基本的にはまったく同じようにコンパイルします。   しかし、勤労4号では勤労規格を導入しているため、余分なバイト数が付   いてしまいます。   一方、MuSICAに比べて、コンパイルした結果が同じブロックデータ   はなるべく流用するように勤労4号は設計していますので、場合によって   はハンデがあっても、勤労4号の方が小さくなるという凄いこともありま   す(使い回しするように作ったため、処理速度はMuSICAより遅くな   っています)。 ---------- ☆配布条件 ----------  このプログラムは動作保証があまりありませんが、フリーソフトとします。  しかし、この勤労4号に含まれているプログラム・MMLファイル・BGM ファイルの著作権は各製作者にあります。  配布される場合は以下の条件通り行ってください。 (1)すべてのファイルを改変無くすべて渡すこと。 (2)一切に金銭を受け取らないこと。ただし、ディスク代等といった必要最    小限と、見なせる経費の徴収は例外とします。 (3)不特定多数の人間に配布するとき(DMなどの会報に載せるとか、パソ    通へのアップロードなど)は事前に私まで許可をもらってください(ど    ういう所で配布されたかを知りたいためです)。 ------------ ☆重要事項! ------------  誰にも言われなかったので、今まで気付かなかったのですが、MuSICA 純正エディターで設定したFM音源音色のディストーションは、キャリアーに 設定されたものはモジュレイターに、モジュレイターに設定されたものはキャ リアーに設定されるというバグがあります。  BTO・MuSICA研究所の対処としましては、キャリアーに設定された ディストーションはちゃんとキャリアーに、モジュレイターに設定されたもの はモジュレイターに設定することにいたしました。  そこの点が純正品とは異なりますので、ご了承ください。 ------ ☆謝辞 ------  私が適当に作った「かえるのうた」のアレンジを見事にしていただいた上、 MSDファイルの公表も快諾していただいたなるとさんにお礼を申し上げます。  また、以下の皆様のご助言・バグ報告などによって、よりよい勤労4号を製 作することができました。ありがとうございます。  三好さん・HALさん・ちゃびんさん・なるとさん・山崎 大志さん  Nissiiさん・杜ヶ里 鋭さん・油利 耕平さん・紫陽さん  まさるんさん・Jintanさん・ただの屍のようださん・たかちゃん (順不同)  皆さんからのバグ情報などは少しずつですが、改良し、より良い勤労4号に していきたいと思っています(思っているだけという説も(笑))。  でも、作者が怠惰な性格だから、完成するのにはいつになるやら・・・(苦 笑)。 ------------------------ ☆製作者黒田からのお願い ------------------------  音楽知識の無い私がこんなコンパイラを作ってしまいました。  MuSICAコンパイラと聞いて、MuSICA純正品みたいに聞きながら エディットできるとか思った方もおられたかと思いますが、私にはそんな技術 はありませんでしたので、アセンブラやC言語みたいなコンパイラになりまし た。だいたい、この勤労4号を作る自体が私にとって初めての経験なのですか ら(こんな巨大な(私にとって巨大です)プログラムを作ったのは初めてです)。  ところで、お題に戻って、お願いなのですが、バグ情報とかを教えて欲しい のです。  家の出所不明なMMLファイルとかもコンパイルさせましたが、数が多いと は言えませんので、完璧にチェックはできませんし、間違ってMMLを書いた 時のエラー表示とかも実際は変な表示になるとかのチェックもうまくできませ ん。  また、MMLファイルや音色ファイルを送って頂けたら嬉しいです。それで いろいろと確認ができますので。  あと、質問も受け付けますが、その場合は文章を保存できる2DDディスク (手紙を手書きで書くのが私はイヤなのです)と切手を貼って(ディスクが返 送できる分の切手を貼ってください)住所も書いているディスクの入る返送用 封筒を同封してください。質問はディスクにテキストファイルで入れていただ けたらOKです(手書きでもいいですが)。もちろん、MMLファイルとかは 質問内容によっては入れてくださいね。  また、個人的に質問内容と関係無い返事なんかも書きたいと思っていますの で、自己PRやMSX情報等もあれば嬉しいです。  ちなみに私の住所は以下の通りです。 〒571 大阪府 門真市 大倉町 6−3 (おおさかふ かどまし おおくらちょう) 黒田 圭一 (くろだ けいいち)  なお、パソ通もしていますので、言いたいことがありましたら、下記のネッ トまでメールなどでお願いします。 Illusion Net City 黒田 圭一(仮名) ID:KURODA Msx N.P 黒田 圭一(仮称) ID:KURODA ray-net 黒田 圭一(匿名) ID:RAY081 げぬいねっと 黒田 圭一(以下略) ID:GENU0076 PP−NET 黒田 圭一(推定) ID:PP-00037 DDねっと 黒田 圭一(偽名) ID:DNET0004  インターネットによる連絡先も明記しておきます。 e-mail:kuroda@g-net.org  それではこの辺で失礼させていただきます。  長い間のご静聴(聞くのではないですが)、ありがとうございました。  さようなら。 -------- ☆履歴書 -------- ・無バージョン  ・NV増刊#6に掲載されたものを少し手を加えて、一般向けに発表したも   の。 ・Version 0.01  ・どれが最新の勤労4号であるかを分かりやすくするために、バージョンを   入れる。  ・LFO関係の省略値に対応(Z等に数字を入れなくても、省略値が入る)。  ・相対音量MML({nと}n)を新設。  ・相対オクターブMMLを強化(nという数字を使用できる) ・Version 1.00(MSXキャンバス倉敷特別バージョン)  ・倉キャンで勤労規格の発表をするために卒業研究を捨てて、開発(爆)。  ・細かいバグを修正。 ・Version 1.00(無印)  ・倉キャン特別版の表示を削除。 ・Version 1.01  ・シーケンス部で、例えば、「(〜,A1/5)4,A」と書いた時に停止するバグ   を修正。  ・なるとさんが書いたMML解説文章および新サンプル曲同封。 ・Version 1.02  ・キーチェンジMML(Kn)を新設。  ・Qのバグ除去モード命令([Q])を増設。 ・Version 1.03  ・ユーザー音色定義命令で、FM音源のトータルレベルが31までしか認   識しなかったものを、63までに修正。 ・Version 1.04  ・TおよびQ指定の数値省略に対応(バグがあり、いままできっちり対応   できず)。  ・%nのカウント指定を、4ケタ(9999)まで対応(バグがあり、いま   まできっちり対応できず(5ケタ以上はエラーになります))。  ・SCCユーザー音色のウエーブデータの書き並べに、自由度をもたした。 ・Version 1.99(MSXユーザーの宴'97特別版)  ・Mウタ配布用に間に合わせで作成  ・1ビットサンプリングMML(Un)を新設  ・MOTOR制御MML(Hn)を新設 ・Version 1.99 mk2(MSX Assembly in Nagoya特別バージョン)  ・MAiNでの配布ディスク専用 ・Version 2.00  ・イベント特別版表示を消去 ・Version 2.50  ・割り込み周期設定オプション(/C5,/C6)を新設