Soundchip Hacking

From 8bitcollective Chiptune Wiki

Jump to: navigation, search

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.

Personal tools