February th, 2016

New ZX Spectrum Beeper Engine: wtfx



In my search for a more accurate, distortion-free PCM wavetable playback on the ZX beeper, I’ve come up with a new engine. Named “wtfx”, the routine mixes 2 channels with 4 volume levels each at a blazing 17.5 KHz. This time, I’ve followed the advice by introspec and implemented 8t output alignment in order to work around the Spectrum’s I/O contention issue. wtfx also features tick-based effects, meaning you can change pitch and instrument settings within a row of song data. Unfortunately this means there is will be no XM converter for this engine, and until the routine is implemented in a proper editor, the only way to make music with it is to code it by hand, in assembly. So, it’s more of a tech-demo than an actual music making package. For now, you can watch a short demonstration video, view the source code on github, download the package for further inspection, and upvote the entry on pouet.