TR1〜5は、APU(RP2A03)に割り当てられます。
トラック | 音源 |
---|---|
TR1 | APU(2A03) パルス波 ch1 |
TR2 | APU(2A03) パルス波 ch2 |
TR3 | APU(2A03) 三角波 |
TR4 | APU(2A03) ノイズ |
TR5 | APU(2A03) 凾oCM |
効果音は2トラックのみで、APUのパルス波ch2及びノイズに割り当てられます。
トラック | 音源 |
---|---|
TR1 | APU(2A03) パルス波 ch2 |
TR2 | APU(2A03) ノイズ |
ユーザーアプリケーション組み込み用のライブラリです。そのため、音源ドライバ本体からはバンク切り替えをしません。
(音源ドライバー *.lib の外部(ユーザーアプリケーション側)でバンク切り替えを行う事は可能です。)
従い、MMLコンパイラ`nec.exe'で直接NSFを生成する場合は、NSFヘッダーの128byteを除き、合計32kbyteまでとなります。
メモリマップは、以下表の通りです。
Address | Contents |
---|---|
0x8000 〜 不定 | 音源ドライバ本体(*.bin) |
不定 〜 #OffsetPCM | 曲データ (音源ドライバ(*.bin)の直後に配置します) |
#OffsetPCM 〜 0xFFF1 | 凾oCMデータ (#OffsetPCMは、MML中の#OffsetPCMコマンドで設定したアドレスです。) |
0xFFFA 〜 0xFFFF | TNS-HFC3などが割り込みベクタとして使用します。 |
NSF専用の.binです。ユーザーアプリケーションへの組み込みに使うことはできません。
これらの.binをリンクする場合は、MML中に予め`#Bank'コマンドを記述して下さい。
(バンク切り替え非対応版とはNSFの構造が異なるため、MMLコンパイラへの通知が必要です。)
MMLコンパイラ`nec.exe'で生成されるNSFは、
NSFヘッダーの128byteを除き合計1024kbyteまでのNSFを作ることができます。
(NSF music formatの仕様が1024kbyteまでとなっております。)
但し、曲データ(シーケンス)は24kbyteまでです(元々が組み込み用のため、演奏ポインタがバンクに対応していません)。
メモリマップは、以下表の通りです。
Address | Contents |
---|---|
0x6000 〜 0xBFFF | 曲データ(24 kbyte) |
0xC000 〜 0xDFFF | 凾oCMデータ (この領域は再生する儕CMによりバンク切り替えが発生します。) |
0xE000 〜 0xFFFF | 音源ドライバ本体 & 割り込みベクタ(*.bin) |
内蔵音源(APU)のみに対応しています。
内蔵音源(APU)および、FDS音源に対応しています。
トラック | 音源 |
---|---|
TR6 | FDS(ディスクシステム音源) |
内蔵音源(APU)および、VRC6の音源部に対応しています。
トラック | 音源 |
---|---|
TR6 | VRC6 パルス波 ch1 |
TR7 | VRC6 パルス波 ch2 |
TR8 | VRC6 鋸波 |
内蔵音源(APU)および、VRC7の音源部に対応しています。
トラック | 音源 |
---|---|
TR6 | VRC7(FM音源) ch1 |
TR7 | VRC7(FM音源) ch2 |
TR8 | VRC7(FM音源) ch3 |
TR9 | VRC7(FM音源) ch4 |
TR10 | VRC7(FM音源) ch5 |
TR11 | VRC7(FM音源) ch6 |
内蔵音源(APU)および、MMC5の音源部に対応しています。
トラック | 音源 |
---|---|
TR6 | MMC5 パルス波 ch1 |
TR7 | MMC5 パルス波 ch2 |
内蔵音源(APU)および、n163の音源部に対応しています。
トラック | 音源 |
---|---|
TR6 | N163(波形メモリ音源) ch8 |
TR7 | N163(波形メモリ音源) ch7 |
TR8 | N163(波形メモリ音源) ch6 |
TR9 | N163(波形メモリ音源) ch5 |
TR10 | N163(波形メモリ音源) ch4 |
TR11 | N163(波形メモリ音源) ch3 |
TR12 | N163(波形メモリ音源) ch2 |
TR13 | N163(波形メモリ音源) ch1 |
内蔵音源(APU)および、n163の音源部に対応しています。
トラック | 音源 |
---|---|
TR6 | Sunsoft 5B ch1 |
TR7 | Sunsoft 5B ch2 |
TR8 | Sunsoft 5B ch3 |
FDS音源以外の拡張音源に対応した.binです。
※ "nsd_all.bin"は、多くの拡張音源及び、儕CMのバンク切り替えに対応したコードですが、
リソースの多くを音源ドライバーが使ってしまうため、アプリケーション組み込みはできません。
NSF専用になります。
トラック | 音源 |
---|---|
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の音色設定等)を記述できます。 |
全ての拡張音源に対応した.binです。
※ "nsd_all2.bin"は、多くの拡張音源及び、儕CMのバンク切り替えに対応したコードですが、
リソースの多くを音源ドライバーが使ってしまうため、アプリケーション組み込みはできません。
NSF専用になります。
"nsd_all2.bin"は、VRC6, VRC7, SUNSOFT 5bも同時に仕様する場合に、
0x8000〜0xDFFFがROMとなるプレイヤーで、ご使用ください。
この領域がRAMになっていると、暴走します。
トラック | 音源 |
---|---|
TR6 | FDS(ディスクシステム音源) |
TR7 | VRC6 パルス波 ch1 |
TR8 | VRC6 パルス波 ch2 |
TR9 | VRC6 鋸波 |
TR10 | VRC7(FM音源) ch1 |
TR11 | VRC7(FM音源) ch2 |
TR12 | VRC7(FM音源) ch3 |
TR13 | VRC7(FM音源) ch4 |
TR14 | VRC7(FM音源) ch5 |
TR15 | VRC7(FM音源) ch6 |
TR16 | MMC5 パルス波 ch1 |
TR17 | MMC5 パルス波 ch2 |
TR18 | N163(波形メモリ音源) ch8 |
TR19 | N163(波形メモリ音源) ch7 |
TR20 | N163(波形メモリ音源) ch6 |
TR21 | N163(波形メモリ音源) ch5 |
TR22 | N163(波形メモリ音源) ch4 |
TR23 | N163(波形メモリ音源) ch3 |
TR24 | N163(波形メモリ音源) ch2 |
TR25 | N163(波形メモリ音源) ch1 |
TR26 | Sunsoft 5B ch1 |
TR27 | Sunsoft 5B ch2 |
TR28 | Sunsoft 5B ch3 |
TR29 | 制御用トラックです(音符は発音しません)。 曲全体のコマンド(テンポや、VRC7, n163の音色設定等)を記述できます。 |
内蔵音源(APU)および、OPLL(YM2413)に対応しています。
※"nsd_opll.lib" 及び "nsd_opll.bin" は、VRC7をOPLL(YM2413)に換装した、改造拡張音源用の音源ドライバーです。
ファミコン実機でOPLLを鳴らしたい方は、個人の責任にて改造して下さい。
トラック | 音源 |
---|---|
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が無効な時は、デバイス出力しません) |
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も同じ周波数レジスターである点に注意してください。
全ての拡張音源に対応した.binですが、VRC7はOPLLに変わっています。
※ "nsd_all.bin"は、多くの拡張音源に対応したコードですが、
リソースの多くを音源ドライバーが使ってしまうため、アプリケーション組み込みはできません。
NSF専用になります。
※"nsd_opll.lib" 及び "nsd_opll.bin" は、VRC7をOPLL(YM2413)に換装した、改造拡張音源用の音源ドライバーです。
ファミコン実機でOPLLを鳴らしたい方は、個人の責任にて改造して下さい。
トラック | 音源 |
---|---|
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の音色設定等)を記述できます。 |