CHIPHACK

They say: chipmusicians push technology to its limits and use it for unintended purposes. We say: soundchips push humans to their limits and use them for unknown purposes.

Here is a list of examples where humans thought they invented something new, when it was in fact always inherent in the system. They are hackers, not inventors! (Thanks to Shiru, Yonx and Ant1)

2A03 etc

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

New waveforms w/ DMC. Blargg’s trick (2004?) to play saw, square, and triangle waves with the DMC channel.

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).

6560

Equal Temperament. 9-bit temperament by tlr (2009). link

PWM. 6-bit Pulse-width Modulation by tlr (2009). link

AY-38910 etc

Envelope Sound / Hardware Waveforms. Looping the envelope at a very high frequency gives pure triangle or saw tones, or an masking effect (envelope waveform masked by square tone). Hard to control at higher frequencies so usually used for bass instruments.

Quiet envelope. Usually envelope-based sounds are very loud and has no volume control. However, by modulating the envelope by very high-frequency square tone it is possible to get quiet envelope sound without hiss (though not for any note). Example

SID voice. The technique is common in modern AY music for Atari ST. Channels are modulated by timer-driven software-generated square tone (similar to HW envelope, but square-square masking), if the main and modulation frequencies are close, the resulting sound resemblesSID sound. The trick is also possible on other platforms, but without hardware timer it will take most of CPU time (it was done on ZX Spectrum few times).

DMG-CPU etc

Smooth Pulsewidth Sweep. Simulating a pulsewidth modulation with higher resolution than in the hardware. Manfred Linzner (2001) for Tony Hawk 3. Implemented in the GHX Sound Engine. 8bc-thread

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.

POKEY

Sawtooth. Caused by an analogue electronic effect of the internal circuits inside Pokey. hmm

Pulse Width Modulation. Ring modulating two channels of squarewaves for arbitrary PWM, then by using a ‘reset-offset’ process the two channels can be synchronized. Now, by altering the pitch in one channel you get PWM. (from analogue multiplexer @ atariage)

2-tone filter. The timer in voice 2 resets the timer in voice 1. uhm yeahAnalogue Multiplexer – Delta (2007)

Triangle.

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).

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). CSDb-thread

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

SN76489

Underclocking and 3-channel phase distortion. Uses almost no CPU to play a bass frequency with modulations previously unheard on the chip. info +youtube. By little-scale (2009).

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

7 Responses to “CHIPHACK”

  1. Alma Alloro Says:

    this is all kind of a lot of gibberish, to me. :(

  2. Soundchips as Modular Synthesizers | CHIPFLIP Says:

    […] on a computer. With the original setups you could do multi-speed, sample playback, new waveforms, etc. To put it differently: you can’t use these systems to play the original chipmusic files, […]

  3. Malfunction/Altair Says:

    Hi there, I am Malfunction/Altair and I would like to add some Yamaha OPL3 (Adlib Gold) tricks :)

    Sample Playback – 6-bit logarithmic samples played through carrier volume.

    Pitched Noise (my trick) – fast random changes of carrier Multiplication.

    HardSync (my trick) – fast ADSR restarts to reset waveform phase.

    Rezonance (my trick) – as HardSync, but with dumping Decay and frequency sweeps to have acid-twirls.

    AY-Buzzer (my trick) – fast 0/Max volume changes to on sawtooth/triangle-like waveforms to create AY-like buzzing bass. Replacing volume changes with Panning On/Off is an improved version of the buzzer (full volume control). By using square wave it becomes SID-Voice.

    POKEY-Sound (my and KK/DMA trick) – Atari’s 4-bit Polynomial-like sound by modulating square carrier by 7x freq of square modulator.

  4. RushJet1 Says:

    I know it’s been a LONG time since this was written, but I’ll add a couple I did on NES/expansions.

    NES Triangle lead on DPCM – https://www.youtube.com/watch?v=m0zgzy1zsqA

    Convincing “Strings” sound on VRC6 – https://www.youtube.com/watch?v=_jvMEIdVnCk (1:08)

  5. aleksieeben Says:

    PET sample playback (2020.)

Leave a comment