Releases: Shaw02/nsdlib
Releases · Shaw02/nsdlib
Version 1.20
音源ドライバー本体
- ドライバレベルで早送りをするコマンドを追加。
MMLコンパイラ
- シーケンス記述ブロックにローカルマクロを実装。
従来のマクロは、グローバルマクロとなります。
Version 1.19
MMLコンパイラ
- パッチ機能を実装した。
それに伴い、Patch(){}
コマンド(パッチ記述ブロック)、@P
、@P*
コマンドを実装した。 - 要素数単位で指定可能なn16x音色波形転送(ロード)コマンド(
@NL
コマンド)を実装した。 - 要素数単位で指定可能なn16x音色波形&サンプル長指定コマンド(
@NS
コマンド)を実装した。 - 未使用のサブルーチンがある場合に、最適化の過程で例外が発生することがあるバグをFixした。
取扱説明書
- n16xに関する説明文・記述を見直した。
Version 1.18
MMLコンパイラ
- 未使用のエンベロープ、音色、サブルーチンはコンパイルしないようにし、出力サイズを軽減するようにした。
(使う分だけをコンパイルするため、汎用的な定義を沢山作ることが可能になります。) - Visual C++.net 2008 でビルドしたコンパイラにてリピート機能を使うと、例外が発生するバグをFixした。
(※Visual C++.net 2003及び、gccでビルドしたMMLコンパイラは、問題無いようです。)
(※アーカイブに同封のMMLコンパイラ(nsc.exe)は、Visual C+.net 2003にてビルドしています。)
Version 1.17
MMLコンパイラ
- MMLコンパイラ展開のリピートを実装した。
#RepeatMode
コマンド(リピートコマンドの展開方法の設定)を実装した。#ReleaseVolume
コマンド(デフォルトのリリース音量の設定)を実装した。
Version 1.16
音源ドライバー本体
- 利便性を考え、
makefile
や、ヘッダーファイルを作り直した。 nsd_main_bgm()
関数及び、nsd_main_se()
関数を実装した。
これにより、マッパーLSI使用時に、BGMと効果音を異なるバンクに配置することが出来ます。- 演奏状態を保存する
nsd_save()
関数及び、演奏状態をロードするnsd_load()
関数を実装した。
これにより、別の曲を鳴らしている最中でも、演奏状態を保存した曲を途中から再生可能です。 - 制御用構造体を最適化し、使用するRAMの量を減らした。
拡張音源無しのnsd.lib
では、セグメントbss
(未初期化データ)領域が14[Byte]減ります。
サンプル
makefile
や、ヘッダーファイルの作り直しに伴う改定。
MMLコンパイラ
- Tick数をカウントする処理を追加した。また、
-t
オプションにて無効にできます。
Version 1.15
音源ドライバー本体
- ポルタメント後にスラーで繋げた場合、繋げた先の音符でポルタメントの変位がそのままになってしまうバグをFixした。
MMLコンパイラ
- エラー・ワーニングの出力先を標準エラー出力に設定するオプションスイッチを実装した。
- それに伴い、エラー、ワーニングの出力先のデフォルトは、標準出力とした。
J
コマンドにて、ポルタメントも無視するようにした。- 相対音量コマンドにて、数値指定し変化量を指定できるようにした。
{}
コマンドにて、ポルタメントを簡素化して記述できるようにした。- マクロ定義の中で、
{
の個数分だけ}
を記述できるようにした。
これに伴い、マクロの中で、K{}
コマンド、{}
コマンドが使えるようになります。 ド♭
、シ#
がある場合、疑似エコーコマンドにて疑似エコーを正常に生成できていなかったバグを修正。k
コマンドによる、MMLコンパイラ側での移調に対応した。- 音長に0を指定するとハングするバグが再発していたので、修正した。
取扱説明書
- エンベロープの説明にて、FDS音源のキャリアとモジュレータの説明が逆になっていたのを修正。
Version 1.14
MMLコンパイラ
- エラー、ワーニングは、標準出力ではなく、エラー出力に出力するようにした。
これにより、アプリケーション組み込み時のmakefile等が作りやすくなります。 - 音符、休符、サブルーチン、効果音呼出を無視するコマンドに対応。
このコマンドにより、コメントアウトしないでも、シーケンスの途中から鳴らすことができます。 - ゲートクオンタイズに対応。また、分母も曲毎に設定可能です。
Version 1.13
音源ドライバー本体
nsd_all.bin
,nsd_all2.bin
,nsd_oall.bin
,nsd_hfe4.bin
,nsd_hfx4.bin
にて、 Version 1.12におけるシーケンス64kByte化の副作用として、音量エンベロープが効かなくなることがあるバグ及び、 ΔPCMのIRQが使えなくなっていたバグをFix。- ノートコマンドのオペコードのビット位置を最適化のためを変更しました。
- オクターブコマンドで指定できるオクターブを2~9から1~8へ変更しました。
MMLコンパイラ
- 疑似エコーのバッファをリセットするコマンドを実装した。
EC
(疑似エコー)コマンドにオプションで第三パラメータを追加し、 休符を書かないでも疑似エコーをできるようにした。- 音符及び休符にて、
l
コマンドと音長が同じ場合は、1Byte短いオペコードを出力するようにした。 - 音量、ゲートタイムの指定値が前回と同じ場合は、コンパイルしないようにした(リピート、ダルセーニョ後は除外)。
Version 1.12
音源ドライバー本体
- Sunsoft 5Bにて、
s
コマンド使用時にプチノイズが入る場合があるバグを修正。 - 効果音の優先度設定に対応。
- 効果音にて、パルス波ch2, ノイズchで個別の効果音を鳴らせるようにした。
nsd_all.bin
,nsd_all2.bin
,nsd_oall.bin
,nsd_hfe4.bin
,nsd_hfx4.bin
にて、シーケンスを64KByteまで使えるようにした。
MMLコンパイラ
- マクロ名の検出アルゴリズムを変更し、長いマクロ名を優先するようにしました。
取扱説明書
- Tipsのスケールとコードに、各コード(和音)毎に使えるスケール(旋法)を記載しました。
Version 1.11
音源ドライバー本体
- フレームオーバーによる暴走回避ルーチンを実装。
- 移調の演算を、エンベロープの処理ルーチンから、ノート番号の計算ルーチンへ移動。
nsd_hfx4.bin
を新設。OPLLを含む全ての拡張音源を使用可能です。
MMLコンパイラ
w
コマンド(休符2)を実装しました。- 休符のモードを設定する、
#rest
コマンド、#wait
コマンドを実装しました。 - 音長の減算を
~
でもできるようにしました。 - マクロ名の検出アルゴリズムを変更し、スペースを置く必要を無くしました。
Mode()
,Major
,Minor
,MMinor()
,HMinor()
コマンドを新設しました。
コンパイル済み音源ドライバ
- TNS-HFCシリーズにおいて、
nsd_all.bin
,nsd_all2.bin
使用時にリセットボタンを連打するとハングする不具合を修正。 - TNS-HFC4にVRC6, VRC7を差した時に、ハングする不具合を修正。
但し、nsd_all.bin
,nsd_all2.bin
をリンクした場合は、TNS-HFC4に直接VRC6, VRC7を刺すとハングします。
これらのドカモリ用のbinにおいて、TNS-HFC4でVRC6, VRC7を使う場合は、TNS-HFX4が必須となります。