Soundchip Hacking
From 8bitcollective Chiptune Wiki
An explanation of unorthodox uses of soundchips. Soundchip Hacking refers to pure software uses (e.g accessing the soundchip faster) and perhaps more importantly the more hardware-oriented ones (like the testbit trick).
Contents |
2A0x
Pulsewave Phasing. By adjusting the phase of the pulsewave on one channel in relation to the second channel, a 'third sound' appears. By Hirokazu "Hip" Tanaka in Metroid (1987). As mentioned in Game Sound.
Single-channel Echo. To reset a note on a lower volume. By Hidenori Maezawa (1988) in Contra? nesdev
Gating the Triangle. By inserting tiny gaps between triangle-instances, a frog-like sound is produced. By Naoki Kodaka in Fester’s Quest (1989). nesdev-thread
Sample playback clocked by scanline IRQ. In Gauntlet II (1990) nesdev
Vibrato with Continuous Phase. Generates "smooth vibrato on NES using sweep unit to change square wave pitch without resetting phase". By Blargg (200?). Blargg
Custom Waveforms. Playing octaves at different volumes, by Rushjet1 (200?) in The Battle Continues (02.30) link
Triangle Echo. In Aerial Assault (00.40) by Rushjet1 (200?). link
DPCM-distortion. Incrementing or decrementing every byte of the delta-encoded DMC file by one or every other byte. By B00daW & Squidman (2009). 8bc
DPCM-samples with 3 octaves. To achieve 12 note scale across 3 octaves with low memory useage. Because of famitrackers 16 byte sample paging, the way to achieve this is [16 byte single cycle] samples in combination w/ [least common denominator of x and 16 cycle] samples. By Alex Mauer (2010).
Pure Software
Arpeggio by vibrato due to an MML-glitch. 1-X-0 by Rushjet1 (200?) nesdev
6560
Equal Temperament. 9-bit temperament by tlr (2009). link
PWM. 6-bit Pulse-width Modulation by tlr (2009). link
Paula
7-voice Playback. Plays 3 additional channels through software mixing by Jochen Hippel. Also used by Chris Huelsbeck in Turrican.
14-bit Sample Playback. 14-bit sample playback by using 2 channels with one channel modulating the volume. Featured in MED Soundstudio 1.03c apparently.
SID
Single-channel Echo. Simulating an echo by resetting the note at lower volume. By Lars Hård in Supercan (1986) at 02.20, or more obviously by Fred Gray in Hysteria (subtune3) in 1987. CSDb-thread
Hard Restart. Fix the ADSR-bug; stabilize the initial attack of a sound. Paul Norman in Forbidden Forest (1983), Rob Hubbard in Zoids (1986). Later incorporated in the JCH Editor. CSDb-thread
Sample Playback. Samples in music by Martin Galway in Arkanoid (1987). CSDb-thread 2-channel sample player using two SID-voices by The Banana/TEK (1987). CSDb-thread PWM-samples in 1987. CSDb-thread Earlier examples needed: 4 channel sample playback by Aleksi Eeben in Pollytracker (2005), and THCM in Vicious SID (2008). 8-bit samples by Censor Design (199?) and Soundemon (2008).
Testbit Trick. New waveforms by resetting/restarting the noise waveform periodically. By Soundemon (2005) in Pico!
Sampled Delay. Sample a SID-voice and play it back slightly delayed, creating a reverb-like effect. By Geir Tjelta (2009). link
Pure Software
Multispeed. Accessing the soundchip more often to increase the resolution. By Michael Winterberg and Martin Galway (1986) in Yie Ar Kung Fu II, Terra Cresta and Wizball (4x speed), Short Circuit. Probably made previously (Starquake). [1]
TIA
Sample Playback. little-scale (2009). link
Equal Temperament. Forcing the TIA to play equal temperament by little-scale (2009). link
Custom Waveforms. Custom-defined waveforms, by little-scale (2009). link
AY-3-8910 / YM2149
Envelope Sound / Hardware Waveforms. Looping the envelope at a very high frequency gives an amplitude-modulation effect. Hard to control at higher frequencies so usually used for bass instruments.
