//// HuSIC  ///////////////////////
//  A Sound Driver for PC Engine
//  Programmed by BouKiCHi
///////////////////////////////////

■HuSICについて

　HuSICとはPCエンジンのための音源ドライバです。
　波形音源による独特の音で楽曲を作成、楽しむことができます。
　HuSICの使用規約に関しては、当ドキュメントの該当項目を参照ください。


 ■使用方法( Usage )

　音源ルーチンとデータだけを取り出したHES形式と
　エミュレータや実機などで動作するイメージであるPCE形式の出力ができます。


・HESの作成
　songsフォルダにmmlファイルを置いてmake_hesを
　以下のように実行することで生成されます。
　>make_hes yoursong
   (yoursongは拡張子を含めないmmlファイル名)

・PCEの作成
　rommakeフォルダにmmlファイルを置いてmake_pceを
　以下のように実行することで生成されます。
　>make_pce yoursong
   (yoursongは拡張子を含めないmmlファイル名)


 ■機能( Feature )

　・0chから5chまでの6ch
　・ステレオパン
　・ソフトウェアボリュームエンベロープ
　・波形変更
　・ノイズモード(ハードの仕様により4,5ch固定)


 ■HuSIC拡張コマンド( HuSIC exclusive command )

　△$f2,スイッチ

　スイッチ= $00 = ノイズオフ
　スイッチ= $01 = ノイズオン

　ノイズの場合はオクターブが無効になる。（下位4bitが有効）
　また、ハードウェア的制限により4chと5chのみ有効となる。

  △$f1,波形番号

　テーブルから波形をセットする。
　波形番号はテーブルの位置を意味し、エンベロープデータなどと
　同じ方式で格納されている。

　△$f0,パンボリューム

　チャンネル別のボリュームを設定する。
　上位4ビット=左ch , 下位4ビット=右ch
　0 = 最低 , 15 = 最高

  △$ef,XPCM

  XPCM=1でXPCMモード、4ch,5ch使用

  △$ee,バンク番号,アドレス(下位8bit),アドレス(上位8bit)

　シーケンスデータの存在するバンクを切り替える。

  △$ed,モード
	LFOモードの設定。(255でLFO停止)
	0 = LFO無し
	1 = トラックA + 変調データ
	2 = トラックA + 変調データ * 16(4bit左シフト)
	3 = トラックA + 変調データ * 256(8bit左シフト)

	変調データはトラックBの波形データが使用されます。
	その場合、波形データはsigned 5bitの数値として扱われます。

	※LFO有効時はトラックBがミュートされます。

  △$ec,LFO周波数

	周波数 = 3.58MHz / (32 * トラックB周波数 * LFO周波数)

  △$e9

  スラーコマンド

  △$eb, porthi, portlo

  porthi: 1フレームごとに周波数レジスタに増減される値(符号付き)
  portlo: 1/128カウンタ(0x80以上でオーバーフロー時に1減算)

  △$e8, mvol

  mvol: マスターボリューム($801)設定値

  △$e7, rst

  rsi: リセット無視フラグ設定値

  △$e6, panenv

  panenv: パンエンベロープ


 ■バンク切り替え時の注意点( Attention )

 　バンクを超えてリピートコマンドを使用することは出来ません。

 　
 ■動作未確認機能 ( Untested Feature )

　isomakeディレクトリにあるバッチファイルでCDイメージが作成できます。
　ただし、メモリマップが異なるため、正しく動作しない可能性があります。


 ■既知の問題点 ( Known Problems )

　一つのトラックにLのみを書くとドライバ全体が止まる。(MMLコンパイラ側の不具合)
　漢字コードがおかしい。

 ■HuSIC使用規約 Ver 1.0(2006/03/05)
　HuC/PCEASの部分に関してはHuCの使用許諾に従う必要があります。
　それ以外の部分に関しては以下の項目すべてに同意される場合のみに使用可能です。

　・当プログラムを使用した結果として発生するすべての現象に関して作者、
　　並びに配布者は一切の責任を負いません。個人の責任においてのみ使用できます。
　・使用、改造、組み込みは他のすべての使用規約に従う場合のみ、無償かつ自由に行うことが出来ます。
　・当アーカイブに含まれるファイルを変更しソース状態のまま再配布する場合、
　　変更された点に関する情報を明記し、アーカイブに同梱してください。
　・ソース状態での配布では、この使用規約を含めたドキュメントを同梱する必要があります。
　・バイナリ状態での配布では、他のすべての使用規約に従う場合のみ自由に
　　ファイル、またはアーカイブを構成することができます。
