This is the sound generator found inside the NES CPU. The NTSC version (america/japan)
is named 2A03 and the PAL version (europe)
is named 2A07. The difference
between the chips is that NTSC version runs at 1.79 MHz and 60 FPS while PAL
runs at
1.66 MHz and 50 FPS. The 60/50 FPS comes from the video refresh rate, but the NSF format allows any frame rate
and is
customizable from the Tracker menu.
There are five sound channels
available:
Note: The volume level of triangle and noise channels will be affected by the DPCM channel, due to the way the sound is mixed in the hardware. More info is available on the bottom of this page.
TThe 2A03 instruments contains a combination of parameters for the waveform channels and a set of samples for the DPCM channel.
2A03 settings
This part of the instrument is only used by the wave channels of 2A03 (square, triangle and noise). The idea is based on the MML style, where a set of sequences are used to program the channels. A sequence is a list of values that are applied to the channel at the same rate as the NSF refresh rate, shown in the main window. As shown in the example, 30 items takes 500 ms to run when using 60 FPS.
These effects are available (none applies to the DPCM channel)/p>
Volume |
Channel amplitude.
is not possible to change triangle volume, but a zero will disable the
channel and non-zero will enable it.
Range: 0 to 15 (volume units) |
Arpeggio |
Used for note-shifting, commonly used to simulate chords.
Range: -79 to +79 (notes) |
Pitch bend & High-speed pitch bend |
Affects the pitch, Hi-pitch multiplies the value by
16. Range: -127 to 126 (pitch units) |
Duty cycle / noise mode |
Sets the duty cycle period and noise mode. Square: 0 = 12.5%, 1 = 25%, 2 = 50%, 3 = 75% (pulse width) Noise: 0 = 32k-bit mode, 1 = 93-bit mode Triangle channel is unaffected. |
Sequences are defined in the graphical sequence editor, where you can draw with the mouse (right-click to draw lines) or directly edit the values in the text box. Left click the bottom part to set a loop point and right click to set a release point.
A loop point causes the sequence to loop and a release points will hold the sequence until a release command. The loop point is defined as a '|' and release point as '/' in the text string.
Any key can be pressed inside the instrument editor to preview the instrument. Press ESC to close the instrument editor.
DPCM samples/b>
This tab is used to assign samples for the DPCM channel, it does not affect the wave channels. Assigned samples are samples assigned in the selected iinstrument while loaded samples are global for all instruments.
Load: Load samples from files. The format must be 1-bit delta PCM and max size is 4081 bytes. The size should be (x * 16) + 1 bytes, others sizes will be padded.
Unload: Remove selected sample.
Save: Saves selected sample to a file.
Import: Load and convert PCM files to delta PCM. See more info about importing PCM.
Edit: Opens a DPCM editor.
Preview: Plays the sample.
The available space for DPCM samples is 16 kB. Select a key in "Assigned samples"-box and select the sample from the drop-down box below (or right click in the list). The pitch box sets the pitch for the sample (15 - 0). The "<-"-button can also be used to assign samples, and "->"-button to remove assigned samples. Loop is used to loop the sample from beginning.
The pitch setting translates to a frequency according to the following table:
0 | 4181.71 Hz |
1 | 4709.93 Hz |
2 | 5264.04 Hz |
3 | 5593.04 Hz |
4 | 6257.95 Hz |
5 | 7046.35 Hz |
6 | 7919.35 Hz |
7 | 8363.42 Hz |
8 | 9419.86 Hz |
9 | 11,186.08 Hz |
10 | 12,604.03 Hz |
11 | 13,982.60 Hz |
12 | 16,884.65 Hz |
13 | 21,306.82 Hz |
14 | 24,857.95 Hz |
15 | 33,143.94 Hz |
Note: Playing a DPCM sample may decrease the volume level of triangle and noise. If full volume isn't restored after the sample is finished, use a note stop or a Z00-effect in the DPCM channel to restore it. You can check the Tracker/Display DPCM state menu item to display the current value of the DPCM delta counter, a high value results in lower volume output.