Contents
QChan Beeper Engine
This engine, developed by Shiru, has four tone channels with a further channel of interrupting drums. Per-channel sustain values can be specified for each pattern, and volume levels can be specified, per song, for each channel individually.
The engine sounds similar to SpecialFX. The main advantage over SpecialFX is the 4 available channels and the volume control, at the expense of somewhat larger music data size to allow for the additional 2 channels, and the lack of per-note sustain sustain settings. The QChan player routine is ~80 bytes smaller than SpecialFX(the frequency table in QChan is page-aligned so the actual difference varies depending on the compilation address) and does not require IM2 (so no 257-byte vector table at run time), and it uses 16 bit frequency counters so there are none of the tuning issues in higher octaves that can occur with SpecialFX.
The lowest valid note value is C-1 and the highest is B-5.