NSDL(NES Sound Driver Library)

MML reference: TR

定義(Define)

        TRtrack

引数(Inputs)

track番号は、BGM記述ブロックとSE記述ブロックで値が異なります。

BGM記述ブロック

リンクするライブラリ(*.lib)、NSF用コード(*.bin)によって 各トラックに割り当てられる音源が異なります。

全共通
トラック音源
TR1 APU(2A03) パルス波 ch1
TR2 APU(2A03) パルス波 ch2
TR3 APU(2A03) 三角波
TR4 APU(2A03) ノイズ
TR5 APU(2A03) 凾oCM

nsd_fds.lib / nsd_fds.bin (開発中)
トラック音源
TR6 FDS(ディスクシステム音源)

nsd_vrc6.lib / nsd_vrc6.bin
トラック音源
TR6 VRC6 パルス波 ch1
TR7 VRC6 パルス波 ch2
TR8 VRC6 鋸波

nsd_vrc7.lib / nsd_vrc7.bin
トラック音源
TR6 VRC7(FM音源) ch1
TR7 VRC7(FM音源) ch2
TR8 VRC7(FM音源) ch3
TR9 VRC7(FM音源) ch4
TR10 VRC7(FM音源) ch5
TR11 VRC7(FM音源) ch6

nsd_mmc5.lib / nsd_mmc5.bin
トラック音源
TR6 MMC5 パルス波 ch1
TR7 MMC5 パルス波 ch2

nsd_n163.lib / nsd_n163.bin
トラック音源
TR6 N163(波形メモリ音源) ch8
TR7 N163(波形メモリ音源) ch7
TR8 N163(波形メモリ音源) ch6
TR9 N163(波形メモリ音源) ch5
TR10 N163(波形メモリ音源) ch4
TR11 N163(波形メモリ音源) ch3
TR12 N163(波形メモリ音源) ch2
TR13 N163(波形メモリ音源) ch1

nsd_s5b.lib / nsd_s5b.bin
トラック音源
TR6 Sunsoft 5B ch1
TR7 Sunsoft 5B ch2
TR8 Sunsoft 5B ch3

nsd_all.bin
トラック音源
TR6 VRC6 パルス波 ch1
TR7 VRC6 パルス波 ch2
TR8 VRC6 鋸波
TR9 VRC7(FM音源) ch1
TR10 VRC7(FM音源) ch2
TR11 VRC7(FM音源) ch3
TR12 VRC7(FM音源) ch4
TR13 VRC7(FM音源) ch5
TR14 VRC7(FM音源) ch6
TR15 MMC5 パルス波 ch1
TR16 MMC5 パルス波 ch2
TR17 N163(波形メモリ音源) ch8
TR18 N163(波形メモリ音源) ch7
TR19 N163(波形メモリ音源) ch6
TR20 N163(波形メモリ音源) ch5
TR21 N163(波形メモリ音源) ch4
TR22 N163(波形メモリ音源) ch3
TR23 N163(波形メモリ音源) ch2
TR24 N163(波形メモリ音源) ch1
TR25 Sunsoft 5B ch1
TR26 Sunsoft 5B ch2
TR27 Sunsoft 5B ch3
TR28 制御用トラックです(音符は発音しません)。
曲全体のコマンド(テンポや、VRC7, n163の音色設定等)を記述できます。

※ "nsd_all.bin"は、FDS以外の全ての拡張音源に対応したコードですが、 リソースの多くを音源ドライバーが使ってしまうため、 アプリケーション組み込みはできません。
また、FDS音源はハードウェアの制約上、組み合わせて使うことが不可能です。


nsd_opll.lib / nsd_opll.bin
トラック音源
TR6 OPLL FM音源 ch1
TR7 OPLL FM音源 ch2
TR8 OPLL FM音源 ch3
TR9 OPLL FM音源 ch4
TR10 OPLL FM音源 ch5
TR11 OPLL FM音源 ch6
TR12 OPLL FM音源 ch7 (Rhythmが有効な時は、デバイス出力しません)
TR13 OPLL FM音源 ch8 (Rhythmが有効な時は、デバイス出力しません)
TR14 OPLL FM音源 ch9 (Rhythmが有効な時は、デバイス出力しません)
TR15 OPLL Rhythm Bass Drum (Rhythmが無効な時は、デバイス出力しません)
TR16 OPLL Rhythm Snare Drum (Rhythmが無効な時は、デバイス出力しません)
TR17 OPLL Rhythm Hi Hat (Rhythmが無効な時は、デバイス出力しません)
TR18 OPLL Rhythm Top Cymbal (Rhythmが無効な時は、デバイス出力しません)
TR19 OPLL Rhythm Tom Tom (Rhythmが無効な時は、デバイス出力しません)

※"nsd_opll.lib" 及び "nsd_opll.bin" は、VRC7をOPLL(YM2413)に換装した、改造拡張音源用の音源ドライバーです。
ファミコン実機でOPLLを鳴らしたい方は、個人の責任にて改造して下さい。

ch7〜9のFM音源/リズム音源の切り替えは、TR15〜19の`s'コマンドにて設定します。
曲中での切り替えにも対応しており、デフォルトは、FM音源 9ch(s0)です。
s0 … FM音源 9ch (TR15〜19の発音は無効になります。休符を置いてください。)
s1 … FM音源 6ch + リズム音源 5ch (TR12〜14の発音は無効になります。休符を置いてください。)

リズム音源は、以下のディチューン、オクターブ、音程とする事で、データシートに近い音程となります。
又、OPLLのハードウェア的に、Snare DrumとHi Hatは同じ周波数レジスターを使用しており、
Top CymbalとTom Tomも同じ周波数レジスターである点に注意してください。

Bass Drum
D-2 o3 a
Snare Drum
D8 o3 b
Hi Hat
D8 o3 b
Top Cymbal
D8 o2 e
Tom Tom
D8 o2 e

nsd_all.bin
トラック音源
TR6 VRC6 パルス波 ch1
TR7 VRC6 パルス波 ch2
TR8 VRC6 鋸波
TR9 OPLL FM音源 ch1
TR10 OPLL FM音源 ch2
TR11 OPLL FM音源 ch3
TR12 OPLL FM音源 ch4
TR13 OPLL FM音源 ch5
TR14 OPLL FM音源 ch6
TR15 OPLL FM音源 ch7 (Rhythmが有効な時は、デバイス出力しません)
TR16 OPLL FM音源 ch8 (Rhythmが有効な時は、デバイス出力しません)
TR17 OPLL FM音源 ch9 (Rhythmが有効な時は、デバイス出力しません)
TR18 OPLL Rhythm Bass Drum (Rhythmが無効な時は、デバイス出力しません)
TR19 OPLL Rhythm Snare Drum (Rhythmが無効な時は、デバイス出力しません)
TR20 OPLL Rhythm Hi Hat (Rhythmが無効な時は、デバイス出力しません)
TR21 OPLL Rhythm Top Cymbal (Rhythmが無効な時は、デバイス出力しません)
TR22 OPLL Rhythm Tom Tom (Rhythmが無効な時は、デバイス出力しません)
TR23 MMC5 パルス波 ch1
TR24 MMC5 パルス波 ch2
TR25 N163(波形メモリ音源) ch8
TR26 N163(波形メモリ音源) ch7
TR27 N163(波形メモリ音源) ch6
TR28 N163(波形メモリ音源) ch5
TR29 N163(波形メモリ音源) ch4
TR30 N163(波形メモリ音源) ch3
TR31 N163(波形メモリ音源) ch2
TR32 N163(波形メモリ音源) ch1
TR33 Sunsoft 5B ch1
TR34 Sunsoft 5B ch2
TR35 Sunsoft 5B ch3
TR36 制御用トラックです(音符は発音しません)。
曲全体のコマンド(テンポや、VRC7, n163の音色設定等)を記述できます。

SE記述ブロック

効果音は、どのライブラリ(*.lib)、どのNSF用コード(*.bin)でも同じです。

トラック音源
1APU(2A03) パルス波 ch2
2APU(2A03) ノイズ

内容(Contents)

以後のシーケンスデータのトラックを指定します。

注意(Notes)

サブルーチン記述ブロックでは無効です。

例(Sample)

BGM(1){
    TR1     l4o4 reee  reee  rfff rddd  e1
    TR2     l4o3 rggg >rccc< raaa rbbb >c1
    TR3     l4o3 c2r2 <a2r2> d2r2 g2r2  c1
}