Top Page

NES Sound Driver & Library (NSD.Lib)

概要(Summary)

ファミリーコンピューター(任天堂株式会社様)及びその互換機にて、BGM、効果音(SE)を制御するための音源ドライバーです。
ライブラリとして開発されており、ユーザー様のアプリケーションから制御することができます。

This is a sound driver for the Nintendo Entertainment System (NES) and/or compatible machine.
This can playing the Back-Ground Music(BGM) and the Sound Effect(SE).
This is developed as object library, and user application can control it.

※ファミリーコンピュータ、ファミコンは、任天堂株式会社の登録商標です。

特徴(Characteristic)

  • 音源ドライバー本体は、アセンブリ言語にてCPU負荷・コードサイズ共に最適化して開発。
    また、曲データサイズについても、MMLの記述次第で小さくなるように設計。
    これにより、限りあるROM領域の圧迫を防ぎます。
  • アセンブリ言語及びC言語から呼び出し可能な、ライブラリ関数。
    ※関数呼出規約は、CC65における __fastcall__ です。
  • MMLコンパイラーによる曲データの作成環境。
    MMLコンパイラーは、C++の標準関数のみで開発しているため、様々な環境でビルドすることができます。
    (Visual C++.net 2003, cygwin付属のgccでビルド出来る事を確認)
  • 且つ、様々な音楽表現を可能とすべく、多岐にわたる機能を実装(以下参照)。
  • The sound driver are optimized for code size and processing speed by asembly langage.
    Moreover, this music data is designed to get samll data and code size.
    So, this desine has preventive occupation of ROM area.
  • C-Langage source code can coll this library functions.
    * The calling conversion of this library functions are __fastcall__ of `cc65'.
  • MML Compiler can make the music data.
    Many C++ complier can build this MML Compiler.
  • For the music expression, this sound driver has various music function.

多岐にわたる機能

当音源ドライバーは、MIDI音源のように音源デバイスを扱えることを目指しています。

ダウンロード(Download)

ソフトウェア本体

本ソフトウェアは、原則として2条項BSDライセンス(修正BSDライセンス)となります。
ソフトウェアは無形の知的財産であり、音楽・絵画等と同様に、著作権法により権利を保護されております。
ご利用の際は、ライセンス遵守の程、お願いいたします。

2条項BSDライセンスを採用している理由としましては、以下の通りです。

  • 知名度の高い有名なライセンスとすることで、ライセンス内容を理解して頂き易くするため。
  • 他の知名度の高いライセンスと比較し、緩いライセンスであり商用目的でも利用がしやすいため。
  • 知的財産権を尊重なさるユーザー様(個人、企業のユーザ様含め)にも、利用しやすくするため。
    (※明確なライセンスが無い場合、例えフリーソフトであっても、利用には著作権者の許諾が必要となります。
    その点、2条項BSDライセンスは、多くのケースにおける利用を文面にて許諾しております。)
  • 等々

ライセンス内容がよく解らない場合は、「2条項BSDライセンス」などで検索して頂ければと思います。
又、法律的な助言を得たい場合には、弁護士資格を持つ弁護士に相談してください。

ヴァージョン内容改定日
1.27 ●音源ドライバ本体
・休符のモードが1且つ、ゲートクオンタイズのモードが1以外の時に、休符時にR@の音色に切り替わらないバグをFix した。
・効果音で、内臓音源5トラック使用可能なヴァージョンnsd_se.libを追加しました。
・オクターブのデフォルトが5になっていたのを、4に修正しました(取説上はデフォルト「4」と記載、また、MMLコンパイラ側も「4」に設定されていた)。
●MMLコンパイラ
・エンベロープ定義にて、L コマンドを省略した場合に、ループ位置のエラーを検出できなかったバグをFix した。
・1行コメント(//, ;)を改行しないでファイルの終端にした場合、暴走するバグをFixした。
・エンベロープ定義にて、同じ数字が続く場合、自動でランレングス圧縮するようにした。
・パッチ定義において、マクロ呼び出し及び、ローカルマクロに対応した。
・文字列の始点、終点を示す識別子として、全角の”に対応した。
・未使用のサブルーチン、エンベロープ、音色定義の最適化の有無をオプションにて設定できるようにした。
●その他
・サンプルを若干追加した。
・"\sample\template\"フォルダーの"template.mml"に、パッチ定義のひな形(ノイズチャンネルの簡易的なドラムセット)を追加しました。
2017年 1月 9日

アーカイブ中のファイル構成です。

  • 取扱説明書
  • MMLコンパイラ (Microsoft(R) Windows 32bit application)
  • NSF用コンパイル済み音源ドライバー&プレイヤ
  • 音源ドライバー本体(6502用開発環境`cc65'用のオブジェクト・ライブラリ)
  • アセンブリ言語・C言語用のヘッダー
  • サンプル(アセンブリ言語&C言語からの操作例、MML、儕CM、等々)
  • ソース(MMLコンパイラ、音源ドライバ、等々)

プレイヤー

virtuansf

ヴァージョン作者改定日
virtuansf 1.0.4.3 norix氏 NSFファイルを再生するプレイヤーです(Microsoft(R) Windows 2000〜)。
VirtuaNES official siteの管理人様に連絡が付かないとのことで、 ツイッターでしか公開されていませんでしたが、こちらに転載の許可を頂きました。

Tools

ファイル作者改定日
vrc7ed.zip S.W. ファミリーコンピュータ(またはその互換機) + VRC7 or OPLL搭載カートリッジ + TNS-HFCシリーズ専用、音色エディタです。
実機で音色編集したい場合に、ご利用ください。
hfx4_test.nsf S.W. TNS-HFX4(テラネットワークシステム様)の、バランステスト用NSFです。
以下の順番で、中央ラの音を4回ずつ鳴らします。
APU ⇒ FDS ⇒ VRC6 ⇒ VRC7 ⇒ OPLL ⇒ MMC5 ⇒ n16x ⇒ SSG
各トラックで、以下の音量バランスに合わせることができます。
[1] NSFPlay
[2] VirtuaNSF
[3] nezplug++

取扱説明書(Document)

おしらせ(Information)

NSD.Libにおける西住殿のノイズについて

この度、nsd.lib使用時に、多種拡張音源の再生を可能とした「西住殿」にてノイズが非常に大きい現象につきまして、 原因を究明すると共に対策方法を立案いたしましたので、ご報告申し上げます。

調査報告書

尚、本内容は、TNS-HFCシリーズ及び西住殿の非公式文書であるため、 テラネットワークシステム(TNS)様及び、アップルソース氏への本件に関する問い合わせは無きよう、 また、対策に伴う改造の実施後は無保証となるため、アップルソース氏のサポートを一切受けられない旨、ご留意ください。

サンプル大募集

この音源ドライバーのサンプルとして収録するMMLファイルを大募集です。
sampleフォルダに収録致しますので、是非、ご提供ください。
なお、サンプルとして収録するMMLは、以下条件のMMLのみとします。

  • ご提供頂ける方ご本人様が著作権を所有しているか、もしくは、Public Domain(著作権失効)となった楽曲。

ご活用事例

8BIT MUSIC POWER

この度、漫画家RIKI様監修 (発売:コロンバスサークル様)の 8ビット音楽アルバム作品「8BIT MUSIC POWER」へ、本音源ドライバ nsd.lib を組み込みご活用して頂きました。

8BIT MUSIC POWER 公式ホームページ
RIKI ホームページ

みんなで まもって騎士 姫のトキメキらぷそでぃ

この度、株式会社エインシャント (代表取締役社長 古代祐三様)制作のニンテンドー3DS用ダウンロードソフト
《みんなで まもって騎士 姫のトキメキらぷそでぃ》(2014年9月配信)の楽曲制作に、本音源ドライバ nsd.lib をご利用して頂きました。

みんなで まもって騎士 姫のトキメキらぷそでぃオフィシャルサイト

※オープニングは、ppmckで制作との事です。

※ニンテンドー3DSのロゴおよびニンテンドー3DSは、任天堂の登録商標または商標です。

キラキラスターナイト

この度、漫画家RIKI様監修の 8bitゲーム《キラキラスターナイト》へ、本音源ドライバ nsd.lib を組み込みご活用して頂きました。
(私もサウンドプログラマーとして開発に参加いたしました。)

キラキラスターナイト公式ホームページ
RIKI ホームページ