Nsdlib Versions Save

NES Sound Driver & Library (NSD.Lib)

v1.30

3 years ago

音源ドライバ本体

  • エミュレータmesenで再生できない現象を修正した。

MMLコンパイラ

  • オプションスイッチ-xにより、Extended NSF (NSFe)へのコンパイルに対応した。
  • オプションスイッチ-vにより、NSFのヴァージョン指定に対応した。 従来のNSF Version 1以外にNSF Version 2へのコンパイルに対応し、デフォルトのコンパイルをNSF version 2に変更した。
  • 各種メタデータに対応し、メタデータ用のコマンドを実装した(以下)。
    • #maker:制作者の名前を記述できます。
    • #text:テキストを記述できます。
    • #Mix:NSFプレイヤーに、各拡張音源の音量バランスを指定できます
    • #plst:NSFプレイヤーでの、再生順番を指定できます
    • #psfx:NSFプレイヤーでの、効果音の再生順番を指定できます
    • #VRC7:NSFプレイヤーに、VRC7が別の音源(OPLL)に換装されている事を設定します。
    • #label :曲毎の曲名を指定します(MMLシーケンス記述ブロックにて)。
    • #author :曲毎の作曲者を指定します(MMLシーケンス記述ブロックにて)。
    • #time :各曲の再生時間を設定します(MMLシーケンス記述ブロックにて)。
    • #fade :各曲のフェードアウト時間を設定します(MMLシーケンス記述ブロックにて)。
  • #title, #composer, #copyright, #maker, #text, #label, #authorコマンドは、以下のエスケープシーケンスに対応した。
記述 意味
\a ベル文字(アラート)
\b 1文字分戻る
\f ページ送り(クリア)
\n 改行、復帰
\r 同じ行の先頭に戻る
\t 水平タブ
\v 垂直タブ
\\ \を表示
\? ?を表示
\' シングルクォーテーション(')を表示
\" ダブルクォーテーション(")を表示
\N 8進定数(Nは8進数の定数)
\xN 16進定数(Nは16進数の定数)

v0.18

3 years ago

音源ドライバー本体

  • Sunsoft 5Bに対応。
  • Rm0コマンドで、⊿PCMが指定音長でKeyOffされなかったバグをFix。

MMLコンパイラ

  • バンクが不連続に配置されたnsfに非対応の実機再生環境に対応(TNS-HFC3など)。

取扱説明書

  • Rm0コマンドで、⊿PCMが指定音長でKeyOffされる旨を記載(書き忘れていた)。

v0.19

3 years ago

音源ドライバー本体

  • nsd_all.binに、音源に割り当てないトラックを設けた。 テンポコマンドや、n106/163とVRC7の音色設定等の設定トラックとして使用可能です。
  • いつの間にか、効果音がならなくなっていたバグを修正。

MMLコンパイラ

  • 疑似エコー(MMLコンパイラ側の命令です)を実装しました。
  • 範囲コメントの終端 */ の直後(スペースを空けず)に記述したコマンドが認識されなかったバグを修正。

取扱説明書

  • ちょっと見やすさを考えてみた。

v0.10

3 years ago

音源ドライバー本体

  • ⊿PCMに対応。

MMLコンパイラ

  • ⊿PCM対応により、DPCM{}記述ブロックが増えました。
  • TR5の各音階に、⊿PCMを割り当てることができます。

取扱説明書

  • 「索引」と「検索」を実装した。

v0.07

3 years ago

音源ドライバー本体

  • ⊿PCMルーチンを開発中(未デバッグです)。

MMLコンパイラ

  • コンパイルオプションで、NSF用の実行コード(*.bin)を指定できるようにした。
  • nsfにコンパイルする場合において、実行コードを0xE000番地から0x8000番地に変更した。 これにより、⊿PCMが実装できれば、合計16KByte(0xC000~0xFFFF番地)使えるようになります。
  • #offsetPCMコマンドを実装。曲データはこのアドレス-1までの領域とし、これ以後を⊿PCMの領域として割り当てます。
  • それに伴い、シーケンスデータが#offsetPCMコマンドで指定したアドレスを超えた場合に、エラーを吐くようにした。 (シーケンスデータが32kByteを超えると、コンパイラがハングするバグがありました。)
  • アセンブリ言語出力に対応した。
  • また、それに伴い、出力するアセンブリ言語に対して、各種設定するコマンドを実装。
  • アセンブリ言語出力に対応したので、アーカイブ中の\sample\cc65\のサンプルC言語コードも書き直しました。

v0.06

3 years ago

音源ドライバー本体

  • ポルタメントに対応した。

MMLコンパイラ

  • エンベロープ・サブルーチンにおいて、0~4294967295番まで指定できるようにした(以前は0~65535番でした)。
  • エンベロープのパターン定義において、Lコマンドを省略できるようにした。
  • エンベロープのパターン定義において、音源ドライバが暴走するようなパターン定義の場合、エラーを吐くようにした。
  • K{}コマンド(調号)により、r(休符)にも自動で調号(キーオフのモード指定)を付けられるようにした。

取扱説明書

  • 休符や、エンベロープについて説明が足りていなかったので、追記した。
  • FAQのページを作成した。

v0.20

3 years ago

音源ドライバー本体

  • ノートナンバー64以降の⊿PCMの定義が適用されていなかったバグを修正。
  • OPLLに対応(改造VRC7搭載カートリッジ)。

MMLコンパイラ

  • ⊿PCMを使う曲をnsfにビルドする際に、少しファイルサイズが小さくなるようにした。

取扱説明書

  • 疑似エコー及び、制御トラックが説明不足だった点を加筆。

v0.21

3 years ago

音源ドライバー本体

  • OPLLのリズム音源の仕様を変更。音程を持たせれるようにした。
  • OPLLのリズム音源がちゃんとなってなかったバグをFix。
  • 曲頭の休符に、通常の休符を使うと不要な音が鳴ってしまっていた仕様を改善。鳴らなくした。

v0.22

3 years ago

MMLコンパイラ

  • gccでコンパイルできるように、ソースを修正。 (C++の機能だけを使っているつもりが、Visual C++の機能を使っていた。)

その他

  • 修正BSDライセンス(但しNSFデータは除外)に変更しました。

v0.23

3 years ago

MMLコンパイラ

  • エンベロープ定義で、(start,end,length)の指定をできるようにした。

取扱説明書

  • VRC7の音色パラメータについて、少し解説を追記した。
  • nsd_oall.binの仕様を記載(書き忘れていた)。