Demoscene Productions

Colorbepp 2 (2015) +video
Osaka (2014) +video
Colorbepp (2013)

Also check out my numerous music disks in the music section.

Music Sequencers and Softsynths

Bintracker - a Chiptune Audio Workstation for the 21st century
HoustonTracker 2 - native music editor for TI-82/83/83+/84+ and compatible calculators
HoustonTracker - native music editor for TI-73/82/83/83+/84+, now abandoned
MDAL - tracker-like music markup language for low-level sound drivers
rom2pwm - experimental 64 byte 1-bit noise/glitch synth for ZX Spectrum
TPSFX2 - monophonic PC Speaker synthesizer for MS-DOS that I wrote in high school
zerhakka - simple gate sequencer for Busch microtronic 2090


xmkit-scm - a Chicken Scheme “egg” extension for parsing eXtended Modules

Sound Routines

Atari 2600/VCS
tiatune - TIA player with accurate pitch

Dragon/Tandy CoCo
pcmplay - 4 tone channels (wavetable synthesis)

IBM PC (PC Speaker)
cheabop 0.1 - crappy PC speaker routine for Linux

Fairchild VES/Channel F
Sleizsa Duo - First ever multi-channel sound driver for this machine. 2 tone channels (pulse-interleaving), click drums
Sleizsa Trio - The successor to Sleizsa Duo. Improved sound (Squeeker-type OR synthesis), 3 tone channels, noise mode, click drums

Sharp PC-1403(H)
Osaka-II - 2 tone channels (pulse-interleaving), synth drums

Texas Instruments Z80-based Graphing Calculators
rawp-ti - 2 tone channels (wavetable synthesis), click drums
TI 1-Bit Pack 0.3 - ports of various ZX Spectrum 1-bit routines

Texas Instruments 68k-based Graphing Calculators
qed68 - 4 channel PCM sample module player

1k2b - First ever multi-channel sound driver for the unexpanded ZX81. 2 tone channels (pulse-interleaving), click drums, runs in 1K of RAM

ZX Spectrum (beeper)
As of 2019-01-07, all my ZX beeper engines and their respective converters are available as a single download on the Github Releases page.

You may also clone the ZX-Spectrum-1-Bit-Routines git repository with

git clone

The repo currently contains the following engines:
aczidbox - 2 tone channels of Phase Distortion synthesis, click/PWM drums
anteater - 2 tone channels (pulse-interleaving), phase modulation, click drums
Archie 2-5 tone channels (pulse interleaving), sine wave simulation, advanced fx, click drums
Beepertoy v0.1 - meta-engine, includes various PFM, pulse-interleaving, and wavetable cores
BeepModular-1 - next-gen 2-channel routine with a modular, polymorphic sound core
BetaPhase - test implementation of fast 13-bit PuInt technique, 3 channels, phasing, slides
fluidcore - 4 channels of fairly accurate wavetable synthesis
nanobeep - 2 tone channels (PFM/pin pulse accumulation) and 1 click drum in 83 bytes
nanobeep2 - modular 2 channel engine with various effects in max. 99 bytes
nanobeep3 - 2 tone channels (pulse-interleaving). Currently the world’s smallest beeper engine at 54 bytes.
ntropic - 2 tone channels (pulse-interleaving), 1 noise channel (PWM/ROM noise), click drums
Octode 2k15 - 8 tone channels (PFM), limited volume control, click drums
Octode 2k16 - 8 tone channels (digital square wave), volume-controllable click drums
Octode PWM - 8 tone channels (pulse-interleaving), limited duty control, click drums
PhaserF - Phaser with filters. 2 tone channels, PWM drums.
PhaserX - 2 tone channels (pulse-interleaving), advanced duty modulation, phasing, noise
PhaseSqueek - 1-4 tone channels (PFM/pulse-interleaving hybrid), advanced timbre control, tick-based fx tables, noise
pindsvin - 2 Squeeker + 3 pin pulse channels, duty/volume control, customizable PWM drums
povver - 3 tone channels, phase-offset volume control, customizable click drums
poww - crude 2-channel wavetable synthesis
pulsatilla - 2 Squeeker + 2 pulse interleaving channels, duty control, advanced click drums
pytha - 2 channels of tone with realtime-generated tri/saw/rect/noise waveforms, modulation fx, customizable click drums
qaop - 2 channels of fairly accurate wavetable synthesis with overdrive
quattropic - 4 tone channels (pulse-interleaving), variable pulse width, can also play noise, pitch slides
rawp - 2 channels of moderately accurate wavetable synthesis
Squeeker Plus - 4 tone channels (PFM/pulse-interleaving hybrid), per-tick duty envelopes, noise
StringKS - 2 tone channels, Karplus-Strong based string synthesis, PWM drums
tftone - Tritone without row transition noise. 3 tone channels (pulse-interleaving), variable duty, async volume.
Tritone FX - 3 tone channels (pulse-interleaving), variable duty, tick-based effects, noise
ulasyn - 2 tone channels with filters, PWM sweep, noise mode, customizable PWM drums
Velvet - 3 tone channels (PFM), 1 noise channel, click drums
vibra - 2 tone channels with vibrato and slides, 1 dedicated noise channel
wtbeep - 3 tone channels, 32 realtime generated waveforms, customizable click drums
wtfx - 2 tone channels of very accurate wavetable synthesis
xtone - 6 tone channels (pulse-interleaving), variable duty, click drums
yawp - 3 tone channels, moderately accurate wavetable synthesis
zbmod - 3 channel sample player

ZX Spectrum (AY/beeper)
squeekAY - 3 channels beeper (Squeeker-type hybrid synthesis, with duty control) + 3 channels AY with volume envelopes and buzzer

Speech Synthesizers

ZSpeak - speech synthesizer for ZX Spectrum (beeper)
ZSpeak-TI - speech synthesizer for Z80-based TI calculators


SC61860 (ESR-H) CPU mnemonics