Effect Vxx
From Famitracker Wiki
Vxx has various different uses depending on the channel it is used on.
Note that this effect cannot be used on the 2A03's triangle and DPCM channel, or any of the VRC7 channels.
Contents |
2A03 & MMC5
On 2A03 and MMC5 instruments, Vxx sets a static duty cycle to use. On the noise channel, it select noise mode (white noise or periodic noise).
| Value | Pulse width | Noise mode |
|---|---|---|
| 00 | 12.5% | 32-Kbit mode (Normal) |
| 01 | 25% | 93-bit mode (Looped) |
| 02 | 50% | N/A |
| 03 | 75% |
VRC6
Vxx usage is slightly different on VRC6 channels. On the square channels it selects which pulse width to use, while on the sawtooth channel, V01 enables six more steps of volume beyond 15 (see below).
| Value | Pulse width | Sawtooth vol. high bit |
|---|---|---|
| 00 | 6.25% | 0 |
| 01 | 12.5% | 1 |
| 02 | 18.75% | N/A |
| 03 | 25% | |
| 04 | 31.25% | |
| 05 | 37.5% | |
| 06 | 43.75% | |
| 07 | 50% |
Sawtooth usage notes
The sawtooth wave has no "pulse width" or "duty cycle", but it utilises the Vxx effect for modifying the volume register's high bit instead.
The sawtooth channel's volume is 6-bit instead of 4-bit, so it has 64 steps (instead of 16). The sawtooth wave itself is divided into 7 steps that each get incremented by the volume value. This counter is 8-bit, so it goes all the way up to 255. For example, with a volume of '1', the counter goes [0 1 2 3 4 5 6 0 1 2 3...]. If the volume is '2', everything gets multiplied by two: [0 2 4 6 8 10 12 0 2 4...]. However, the actual maximum volume is '42': [0 42 84 126 168 210 252]. Since the counter has a maximum value of 255, anything above 42 causes the counter to overflow and wrap to 0 whenever it reaches 255. This results in a distorted sawtooth wave. So, for instance, volume 56 = [0 56 112 168 224 280 336]. 280 and 336 are higher than 255, so the counter wraps to 50 and 81 instead.
FamiTracker handles this by mapping volume values 0 through 15 to 0 - 30. Using duty cycle value 1 (V01) flips the high bit of the volume register from 0 to 1, adding 32 to the volume value. Values from 0 through 15 now get mapped to 32 - 62. Therefore, the maximum value before the sawtooth wave distorts is 5, if the duty cycle setting is set to 1, because (5 * 2) + 32 = 42.
Example
C-4 00 0 V00 <--- (Volume * 2) = Actual volume --- -- 1 --- --- -- 2 --- --- -- 3 --- --- -- 4 --- --- -- 5 --- --- -- 6 --- --- -- 7 --- --- -- 8 --- --- -- 9 --- --- -- A --- --- -- B --- --- -- C --- --- -- D --- --- -- E --- --- -- F --- --- -- 0 V01 <--- Starting from this line, (Volume * 2) + 32 = Actual volume --- -- 1 --- --- -- 2 --- --- -- 3 --- --- -- 4 --- --- -- 5 --- <--- Maximum volume (42) reached --- -- 6 --- <--- From here on, volume stops increasing and you will get distortion. --- -- 7 --- --- -- 8 --- --- -- 9 --- --- -- A --- --- -- B --- --- -- C --- --- -- D --- --- -- E --- --- -- F ---
Namco 163
On Namco 163 channels, Vxx selects which one of the current instrument's waves to use. Using it to call an undefined wave will not do anything.
Wave Channels: xx = 00 - 0F
See also
| Effect list | |||||||||||||||||||||||
|

