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 yeah. Analogue 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
June 1, 2011 at 11:32 pm |
this is all kind of a lot of gibberish, to me. :(
February 21, 2012 at 11:19 pm |
excellent
January 16, 2014 at 7:02 pm |
[…] 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, […]
October 10, 2016 at 6:27 pm |
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.
October 10, 2016 at 7:35 pm |
Excellent, thank you very much for your contribution! Good work \o
May 26, 2019 at 5:41 am |
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)
January 21, 2023 at 6:59 am |
PET sample playback (2020.)