furnace/papers/doc/7-systems/vrc6.md

19 lines
1001 B
Markdown
Raw Normal View History

# Konami VRC6
2022-03-28 03:18:50 +00:00
the most popular expansion chip to the NES' sound system.
2022-03-28 03:18:50 +00:00
the chip has 2 pulse wave channels and one sawtooth channel.
volume register is 4 bit for pulse wave and 6 bit for sawtooth, but sawtooth output is corrupted when volume register value is too high. because this register is actually an 8 bit accumulator, its output may wrap around.
2022-04-08 20:59:51 +00:00
For that reason, the sawtooth channel has it's own instrument type. Setting volume macro and pattern editor volume setting too high (above 42/2A) will distort the waveform.
2022-03-28 03:18:50 +00:00
pulse wave duty cycle is 8-level. it can be ignored and it has potential for DAC at this case: volume register in this mode is DAC output and it can be PCM playback through this mode.
Furnace supports this routine for PCM playback, but it consumes a lot of CPU time in real hardware (even if conjunction with VRC6's integrated IRQ timer).
# effects
2022-03-28 03:18:50 +00:00
these effects only are effective in the pulse channels.
2022-03-28 03:18:50 +00:00
- `12xx`: set duty cycle (0 to 7).
2022-04-08 20:59:51 +00:00
- `17xx`: toggle PCM mode.