Today, we’re going to be taking a close look at a recent AVR hack by “Gligli” that skillfully recreates the Prophet 600 – which also just happens to be the world’s very first MIDI synthesizer.
Indeed, at the January, 1983 NAMM convention, the 600 was successfully linked with a Roland Jupiter-6 synthesizer in the first public demonstration of the MIDI protocol. According to Wikipedia, the link was facilitated by a MidiMate hardware interface and MidiTrack program, both developed by Moore and his partner, Paul Rother.
As the original 600 was powered by a Zilog Z80 microprocessor that controlled modular analog voice chips, Gligli soon discovered that most of the synthesizer’s limitations in the 600 were due to the processor. After creating a PC-based emulator to better acquaint himself with the circuits, Gligli bought a used Prophet and started hacking.
“The [AVR-based] Teensy++ 2.0 (AT90USB1286) required a few hardware mods to fill the Z80’s shoes, including cutting off a pin and adding a few jumper wires. We really like the fact that no changes to the Prophet 600 itself were required,” explained HackADay’s Adam Fabio.
“Pull out the Teensy++, drop in the Z80, and you’re ready to party like it’s 1982 again,. The new processor interfaces directly with the Z80’s 8-bit bus. Since the AVR on the Teensy has built-in RAM and ROM, it simply ignores the ROM and RAM address spaces of the original system.”
Of course, interfacing a fast micro with older parts like an 8253 timer and a 68B50 UART does require some tweaking. More specifically, the system bus has to run slow enough not to violate timing requirements of various peripheral chips. As such, Gligli added wait statements to the upgraded firmware.
“Once the system was working, Gligli was free to start adding new features. He began by smoothing out the stepped envelope and filter generators, as well as adding new exponential modes,” said Fabio.
“From there he added new keyboard polyphony modes as well as pitch and mod wheel changes. Since this is an open source project, adding a feature is as simple as cracking open your favorite editor and writing it up.”
Interested in learning more? You can check out all the relevant project files on GitHub here.