Rusty's POKEY Music
|Rusty's POKEY Music|
Rusty's POKEY Music (usually referred to as RPM) is the official name of the sound driver that was used in Atari's arcade games. The program was developed by Atari programmer Rusty Dawe to create music and sound effects on the C012294 audio chip.
While the driver was created for Atari's arcade games, it later got a conversion to the NES by an unknown programmer, and the Sega Genesis by Lisa Ching.
To create music in RPM, the composers had to write in Music Macro Language. For example, the text C4Q would be a C note, octave 4, and a Quarter note. The composers would then have to wait about 10 minutes for the song to compile. When the song finally played, the composers would have to check for errors, and if there were any, they had to painstakingly go back and fix all of their errors. This is why the composers would usually first write the music on sheet music paper, to ensure accuracy. To create sound effects, Brad Fuller said they used a separate tool.
RPM was also the first sound driver to have 'interactive audio', where the music would change depending on the scenario of the game.
Brad Fuller talks about all the technical aspects of RPM here.
It is unknown what the first Atari arcade game to use RPM is at this time.
When the YM2151 was released, Pat McCarthy, Peter Lipson, and Dennis Harper all came together to work on RPM2. This upgrade would allow Atari's arcade games to take advantage of FM synthesis. It also used speech synthesis, which was usually programmed by Earl Vickers. The first game to use RPM2 was Marble Madness (ARC), also the first arcade game to use FM synthesis.
When Tengen started developing NES games, they converted RPM to the NES. It wasn't too difficult since both the sound driver and the NES shared 6502 assembly language. However, it is unknown who did the conversion, but it is thought to have been Lisa Ching.
RPM was also converted to the Sega Genesis by Lisa Ching, and the sound driver was titled LSD (Lisa's Sound Driver). Like the arcades, it used FM synthesis, but it had to be converted to the Sega Genesis's assembly language, 68000 or Z80.
RPM originally output to the POKEY chip, as well as the 4 AY chips used in Atari's early arcade games. In RPM2, it would also output music to the YM2151.
Most of Atari's arcade games used the sound driver.
Brad Fuller has stated in an interview that he had the source code. Unfortunately, Brad Fuller passed away and the code has since not been released.