簡単な使用説明					ＺＭＤＲＩＶＥ ver0.4C


	「ＺＭＤＲＩＶＥ」はX680x0版ZMUSIC Ver2.08(西川　善司氏)を元に制作されています

	ZMDRIVE (-or/)(Switch)(引数)

	注意 : スイッチと引数の間にスペースは許されないので注意してください
		OK = ZMDRIVE -DHogeHoge
		NG = ZMDRIVE -D HogeHoge

	S = ZMS,OPMファイルを与える
		例 ZMDRIVE -SHogeHoge.zms
	       拡張子は省略可能、コンパイル後、即演奏を開始する

	F = ZMS,OPMファイルを与える(ファイル書き出しモード)
		例 ZMDRIVE -FHogeHoge.zms
	       拡張子は省略可能、コンパイル後、コンパイルデータをファイルに格納する
	       このモードの場合コンパイルのみの為演奏は行われない
	       エラーコード及びトータルステップカウントは現行では強制的に別ファイルへ保存されます
	       ファイル名は「HogeHoge.ERR」です

	D = ZMDファイルを与える
		例 ZMDRIVE -DHogeHoge.zmd
	       拡張子は省略可能

	B = ZPDファイルを与える
		例 ZMDRIVE -BHogeHoge.zpd
	       拡張子は省略可能

	L = 起動時のWAVE再生方法の設定															(*1)
		0	not
		1	X68Sound	48KHz	WaveMapper	WaveMapper
		2	X68Sound	44KHz	WaveMapper	WaveMapper
		3	X68Sound	22KHz	WaveMapper	WaveMapper
		4	not
		5	not
		6	FM.C		44KHz	DirectSound	DirectSound
		7	FM.C		33KHz	DirectSound	DirectSound
		8	FM.C		22KHz	DirectSound	DirectSound
		9	FM.C		11KHz	DirectSound	DirectSound
		10	X68Sound	48KHz	DirectSound	X68Sound
		11	X68Sound	44KHz	DirectSound	X68Sound
		12	X68Sound	22KHz	DirectSound	X68Sound
		13	X68Sound	48KHz	DirectSound	DirectSound
		14	X68Sound	44KHz	DirectSound	DirectSound
		15	X68Sound	22KHz	DirectSound	DirectSound
		16	YM2151.C	44KHz	DirectSound DirectSound
		17	YM2151.C	33KHz	DirectSound DirectSound
		18	YM2151.C	22KHz	DirectSound DirectSound
		19	YM2151.C	11KHz	DirectSound DirectSound
		Default = 1
		例 ZMDRIVE -L1

	V = X68Soundのマスターボリューム変更
		1〜65535 : Default = 512
		例 ZMDRIVE -V384

	H = X68Soundのレジスタを叩いてから、実際に発生するまでの時間(ms)							(*2)
		0〜1000 : Default = 300
		例 ZMDRIVE -H500

	M = MIDIのシステムエクスクルーシブ転送時におけるウエイト(ms)
		0〜999 : Default = 0
		0でDefaultWaitを使用する、つまり
		xx, xx, xx, xx, xx, xxとデータがある場合、データ１個に1msのウエイト÷２を噛ませる
		上の例では、6ms÷2 = 3msのウエイトが入る
		もしエクスクルーシブを取りこぼす様なら、このスイッチを使って適当な数値を
		与えてください
		例 ZMDRIVE -M10

	I = FMサウンドとMIDIとの同期を切り替える
		0〜1000 : Default = ((H) - 32) = 268
		0 = FM発生と同時にMIDIも発生する  : 0以外 = Tスイッチに関わらず(n)ms後に発音を開始する
		手持ちのカードがSoundBlasterAWE64Gではこれで同期するのでデフォルトにしています
		もし上記のサウンドカード以外で、同期が最初から同じ間でずれてしまう様な場合は
		適当に数値を変えてみてください
		MIDIの方が発音が早い場合 : -Hスイッチの値にプラスした数値を-Iスイッチに与えてください
		MIDIの方が発音が遅い場合 : -Hスイッチの値にマイナスした数値を-Iスイッチに与えてください
		例 ZMDRIVE -I150

	C = FMサウンドとADPCM(PCM)の同期を切り替える
		0〜1000 : Default = -Iスイッチ
		設定値は-Iスイッチと同じです
		ソフトウエアMIDIとの同期位にしか使うことはないでしょう

	T = 演奏用トラックバッファの確保															(*3)
		128〜 : Default = 128kb
		確保値はKb単位で設定する

	W = コンパイル用バッファの確保																(*4)
		128〜 : Default = 128kb
		確保値はKb単位で設定する

	P = ADPCM加工用ワークエリアの確保															(*5)
		256〜 : Default = 256kb
		確保値はKb単位で設定する

	K = 各種演奏コマンド
		1 = 停止
		2 = 停止位置からの再演奏
		4 = 先頭から再演奏
		8 = 早送り(トグル)・・・・・・・・・・・・・・挙動が不安定かもしれません
		16= フェードイン
		32= フェードアウト
		例 ZMDRIVE -K16

		キーボード操作では
		'S' = 停止
		'C' = 停止位置からの再演奏
		'P' = 先頭から再演奏
		'F' = 早送り(３倍速位(笑))
		'I' = フェードイン
		'O' = フェードアウト

	J = トラックマスク
		複数同時マスクが可能
		1〜80   = Track ON
		-1〜-80 = Track OFF
		0       = Initialize
		トラック1個の例 /J-2 < トラック2をマスク
		トラック3個の例 /J-2,-4,-5 < トラック2、4、5をマスク
		「,」の前後にスペースは入れてはならない（手抜き)
		ZMDRIVEのコンパイラは最適化モードですので、ZMSでのトラック番号と実際のトラック番号は
		ずれる事があるのに注意してください

	E = DirectSoundモード時のPCM音量相対変更値
		マイナス値、プラス値が与えられます。与えた数値はPCMのデフォルトではなく
		デフォルト値から加減算されますので注意してください
		与える数値は自由、但しあまり大きな値ですとオーバーフローしますので
		せいぜい-64〜64位が良いでしょう
		ADPCMとPCMではデフォルト音量が違いすぎる為、変換時にADPCMの方はPCMより大きくシフトされています
		例 ZMDRIVE /E-32


*1,*2,*3,*4,*5 : 再設定が必要な場合は、再起動しなければなりません
  				 ただし、(-P)スイッチに関しては内部で必要に応じて伸縮するので、特に設定の必要はないでしょう

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-

	・コンパイラは強制的に最適化モード(-c)です、ZMDRIVEには(-c or -C)スイッチは存在しません
	  したがって、本家68でコンバートされたデータでもその辺りの違いでファイルサイズが変わると思います

	・マーキュリーユニット使用曲に一部対応
	　マーキュリー対応にて使用可能になる@Fは
		番号	データ形式			出力		仕様
		 0H	 3.9062KHz ADPCM		Monoural
		 1H	 5.2080KHz ADPCM		Monoural
		 2H	 7.8125KHz ADPCM		Monoural
		 3H	10.4167KHz ADPCM		Monoural
		 4H	15.6250KHz ADPCM		Monoural
		 5H	16bit Signed PCM		Monoural
		 6H	 8bit Signed PCM		Monoural
	   X 7H	16bit Signed PCM (Through)	Monoural	再生周波数に左右される
		 8H	15.625Khz 16bit Signed PCM	Monoural
		 9H	16.000Khz 16bit Signed PCM	Monoural
		 AH	22.050Khz 16bit Signed PCM	Monoural
		 BH	24.000Khz 16bit Signed PCM	Monoural
		 CH	32.000Khz 16bit Signed PCM	Monoural
		 DH	44.100Khz 16bit Signed PCM	Monoural
		 EH	48.000Khz 16bit Signed PCM	Monoural
	   X FH	Valiabled 16bit Signed PCM	Monoural	周波数を可変出来る#1
		10H	15.625Khz 8bit Signed PCM	Monoural
		11H	16.000Khz 8bit Signed PCM	Monoural
		12H	22.050Khz 8bit Signed PCM	Monoural
		13H	24.000Khz 8bit Signed PCM	Monoural
		14H	32.000Khz 8bit Signed PCM	Monoural
		15H	44.100Khz 8bit Signed PCM	Monoural
		16H	48.000Khz 8bit Signed PCM	Monoural
	  X 17H	Valiabled 8bit Signed PCM	Monoural	周波数を可変出来る#1
		18H	15.625Khz 16bit Signed PCM	Stereo
		19H	16.000Khz 16bit Signed PCM	Stereo
		1AH	22.050Khz 16bit Signed PCM	Stereo
		1BH	24.000Khz 16bit Signed PCM	Stereo
		1CH	32.000Khz 16bit Signed PCM	Stereo
		1DH	44.100Khz 16bit Signed PCM	Stereo
		1EH	48.000Khz 16bit Signed PCM	Stereo
	  X 1FH	Valiabled 16bit Signed PCM	Stereo		周波数を可変出来る#1
		20H	15.625Khz 8bit Signed PCM	Stereo
		21H	16.000Khz 8bit Signed PCM	Stereo
		22H	22.050Khz 8bit Signed PCM	Stereo
		23H	24.000Khz 8bit Signed PCM	Stereo
		24H	32.000Khz 8bit Signed PCM	Stereo
		25H	44.100Khz 8bit Signed PCM	Stereo
		26H	48.000Khz 8bit Signed PCM	Stereo
	  X 27H	Valiabled 8bit Signed PCM	Stereo		周波数を可変出来る#1
	  X 28H	Valiabled ADPCM			Monoural	周波数を可変出来る#2
	  X 29H	Valiabled 16bit Signed PCM	Monoural	周波数を可変出来る#2
		2AH-7FH	Reserved.					予約
		以上PCM8PP.TECより抜粋
		Xのついている値は使用不可です

	・Waveファイルを直接CNFファイル及びZPDファイルから制御可能(ZPDに関しては現状、ZPCNVを使用しなければならない)
	　@F指定は上のマーキュリーでの@Fに合わせてください

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-

現在解っている問題・・・
	・[do][loop]以外の無限ループ曲では正しい総演奏時間の結果が出ませんのでご了承ください
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
	開発環境
	自作ＡＴ互換機
	MainBoard		GIGABYTE	GA586SG
	CPU				AMD			K6-2 350MHz over 375MHz
	VideoCard		Creative	3D Blaster Banshee
	SoundCard		Creative	SoundBlasterAWE64Gold
	OS				Microsoft	Windows95
	言語			Microsoft	VisualC++6.0
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-

	更新履歴
1998.09.06
	・ZMSのファイル書き出しモードの追加
	・(.ADPCM_LIST)コマンドの対応、これによりバラなPCMから内部で変換後演奏可能

1998.09.10
	・コンパイラ部分のバグ修正(多分まだある)
	・ZMSコンパイラのエラー出力モードの追加
	・演奏開始部分の若干の修正(連続演奏時に前の音が残っていたため)(完全ではないと思う)

1998.09.13
	・コンパイル時に確保だけされたトラックがあると正常にコンパイルされなかったのをFIX
	・トラックバッファ確保スイッチの追加(-T)
	・コンパイルワークエリア確保スイッチの追加(-W)
	・ADPCM加工バッファ確保スイッチの追加(-P)
	・-Tスイッチを-Hスイッチに変更
	・-Wスイッチを-Iスイッチに変更
1998.09.16
	・メモリマップファイルに演奏データのコピーを作成
	  ただし、本家Ｚの様にすべての内容は見ることは出来ない
	  もし一般公開になった時に、要望があれば他のパラメータも追加する予定

1998.09.19
	・曲再演奏時にまだ前の音が残っていたので更にFIX(多分もう大丈夫だと思う)
	・Iスイッチの効果を変更
	・お遊びで始めたZMDRIVE用スペアナが一応形になった（メモリマップファイルのテスト用）

1998.09.20
	・トータルタイム & ボリューム表示位置をクライアント領域からキャプションへ移動

1998.09.21
	・X68Sound.DLL 1998.09.12日版だと内部ロジックが変更されたのかデフォルトだと
	  MIDIが同期スタートしなくなってしまった為、-Iスイッチのデフォルト値を変更した

1998.09.23
	・ZMSコンパイラのバグ修正
	・Iスイッチのデフォルト値をまた変更(H switch - 26 = 174 だったのを H switch - 28 = 172に変更)

1998.09.25
	・演奏データの総時間表示を追加(制限あり)

1998.09.27
	・デフォルトボリュームの変更(512->256)

1998.09.28(v.01k)
	・Hスイッチのデフォルト値変更(H200 -> H300
	・Iスイッチのデフォルト値変更(H switch - 32 = 268に変更)

1998.10.03(v.01O)
	・停止(一時停止)・再演奏・フェードイン・フェードアウト・早送り・停止位置からの再演奏の追加
	・音長0のMMLコマンドが正常に機能していなかったのをFIX

1998.10.05(v.01P)
	・早送りコマンドの調整

1998.10.05(v.01Q)
	・音色を別ファイルで登録した場合、うまく反映されていなかったのをFix
	・FM & MIDI同期を今までスタート時の割り込み値でのみ設定していたのを
	　割り込み中常にチェックする様にした(システムに負荷が掛かった時にもきちんと
	　同期する・・・・はず・・・・

1998.10.06(v.01R,v.01T)
	・コンパイルモード時、エラーコードが出力されない時があったのをFix
	・早送り使用後、フェードイン・アウトが動作しなくなっていたのを修正
	・コンパイルエラーが出た直後に正常なZMSをコンパイルしてもエラーが出てしまっていたのを修正
	・システムエクスクルーシブがうまく転送されない事があったのを修正
	・システムエクスクルーシブ転送時のデフォルトウエイトを今までの半分に変更
	・FM＆MIDI同期モードスイッチの追加(/C)
	・総時間算出部分の修正

1998.11.05(v.02N)
	・DirectSoundモードの追加(FM.C & ADPCM)
	・上記変更により-Lスイッチを大幅に改変(MDXDRVに一部を除いて合わせた)

1998.11.25(v.02U)
	・コンパイル書き出しモード時、エラーがあると自動的に手持ちのエディターの行ジャンプ機能で
	　その行へジャンプする様にした（一部制限あり）
	・ZPDで指定されたADPCMサイズより実際のサイズが小さい場合落ちてしまったのをFix
	・割り込みロジックを更に変更
	　曲演奏時に使われる割り込みを割り出して使うようにした
	・表紙BMPを張り替え可能にした（filename = SD_RIKA.BMP(x=300:y=140)但し、256色BMPでないと駄目です

1998.11.27(v.02W)
	・X68Soundモードでマーキュリー対応曲のPCM部分の発声を阻止
	・v.02Uで割り込みロジックの変更をしたが、その影響でMMLでベースチァンネル変更を
	　行うときちんと発音されなかったのをFix

1998.11.30(v.02Z)
	・ユーザー定義データ(USER.DAT)の設定が正しく読み出されていなかったのを修正
	・FM.C演奏開始時のプチノイズを無くした
	・データサイズが正しく登録されていないZPDを読みこむと落ちていたのをFIX

1998.12.23(v.03I)
	・DirectSoundモード時、登録されるPCMデータを総てStreamで登録するようにした
	・YM2151.Cの追加、これにより-Lスイッチも増えた

1998.12.25(v0.03J)
	・DirectSoundモードでADPCMのキーオフが可笑しくなる事があるのを修正
	・ZMDRIVEの背景CGの入れ替え（Thanks まーくん２)

1998.12.30(v0.03L)
	・-Cスイッチの廃止、新たにPCM同期スイッチに変更
	・ADPCMが発音されないことがあったのを修正

1999.01.14(v0.03N)
	・-Jスイッチの追加
	・-Eスイッチの追加
	・WAVE直接読みこみ時に音量変換されていなかったのをFIX
	・ADPCM＞PCM変換ミスをFIX
	・マーキュリー対応で、8ビット系のPCMに対応

1999.01.14(v0.03Na)
	・ADPCM・PCMの音量調整

1999.01.30(v0.03O)
	・FMジェネレータをmame35b2に更新

1999.03.11(v0.03P)
	・FMジェネレータをmame35b5に更新(Thanx まーくん２)

1999.03.13(v0.03Q)
	・FMジェネレータでノイズが出てしまっていたのを修正(FM.C)

1999.05.03(v0.03R)
	・Live!などのWaveSynthで青画面で落ちてしまうのをFIX(Thanx まーくん２さん)

1999.05.04(v0.03R)
	・FMジェネレータをm35b11に更新

1999.08.01(v0.03T)
	・FMジェネレータをm36b1に更新
	・起動時の強制終了処理（dllがない等）で不正な処理になっていたのを修正（のつもり）

2000.03.06(v0.03X)
	・FMジェネレータをm36RC1に変更

2000.06.28(v0.04B)
	・ファイル書き出しコンパイルモードで、[do][loop]を使ったデータがトータルタイム算出時に
	　無限ループしてしまっていたのを修正

2002.06.15(v0.04C)
	・X68Sound.DLLの48KHzモードに対応、それに伴いLスイッチ変更
