Lyndon Sharp's engine in-depth
17 03 11 - 12:20Recently, few brand new ZX Spectrum 1-bit music engines were released. However, there are still few interesting engines in old games, which is not avaiable for modern musicians because of lack of editors and converters. Hopefully, eventually these will be available too. This article is about one of these engines.
The author and his works
Not much known about Lyndon Sharp. He is from England. Since 1989 he worked on few games for ZX Spectrum, sometimes as programmer, sometimes as music composer. He made music both for beeper and AY. Most of games he worked on were published by Code Masters. He also worked on music and code for a lot of platforms, including Amstrad CPC, Commodore 64, Atari ST, Sega Master System, Game Gear, Genesis, Saturn, Sony PlayStation 1 and 2, GameCube, Game Boy and Game Boy Advance, and also for PC. Latest games where he was credited (as programmer) were released in 2002.
First ZX Spectrum games where Lyndon Sharp was credited were released in 1989. Few of these games had his beeper music. It is not known for sure if he is the author of the engine. However, every game with this engine always has his music, no other authors used the engine, and he is programmer too, so it is highly probably.
Six games are known which using the engine. Five of them were released by Code Masters, and one, Zanthrax, was released on a Crash magazine cover tape.
Mig-29 Soviet Fighter (1989)
Rally Cross Simulator (1989)
Street Gang Football (1989)
Super Bike Trans-Am (1989)
Twin Turbo V8 (1989)
Zanthrax (1989)
Later ZX Spectrum games, which Lyndon Sharp worked on, always had AY music.
The engine
The engine provides two channels of tone, without volume or timbre control. There is actual third channel for drums, they aren't interrupting, which is could be rarely seen in ZX Spectrum beeper music engines. Synthesis is unusual too, it combines short pulses of SpecialFX-like engines with Music Box-like 'interleaving' mixing. These features gives the engine easily recognizeable sound.
Similarly to Music Box and Music Studio, the engine plays music row by row, with small pause between rows and with phase restart. This means that no continious notes are possible, but programmer can call other code between the rows.
The engine has 8-bit dividers, so usual detune problems are present. It stores note numbers instead of dividers, so no user detune effect is possible. Supported notes range is C-1 to A-5. There is note B-1 in the dividers table, but it is assigned to the rest note, so it is not audible.
How to use it
Until now the engine was only available for programmers and hackers, who could encode and replace the music data manually. No such a works is known for this engine. Now it was reverse-engineered, modified a bit, and a converter from XM format was made, so new music could be created and used in new games. You can get the converter and source code here.
58 comments