NYNTH (NES Driver)
NYNTH is the official name of the sound driver used at Beam Software for their NES games. The name of the driver is a portmanteau of the words "Nintendo" and "Synthesizer". The driver had three revisions throughout its use. To create music and sound effects, the user would write the music in Music Macro Language. The file was then either saved as a .F (Sound effects/FX) file for sound effects, or .T (Theme) for music. Those files were then exported to .FX and .THM files.
According to Beam Software composer Gavan Anderson, the driver was likely first programmed by Gregg Barnett, who also programmed games for Beam. At first, Beam did not account the PAL and NTSC differences for the NES, so when games were released in the USA, they originally sounded around the 450 Hz range, rather than 440 Hz. Neil Brennan then reprogrammed the sound engine on December 21, 1988. The instruments were reprogrammed with vibrato, and short pauses before note changes. Brennan had just finished working on the music and sound for a few Beam NES titles. However, he never used this version of the driver. Instead, Beam composers Gavan Anderson and Tania Smith did. Finally, Brian Post, another Beam programmer had programmed the final revision of the sound driver. The changes in this revision included vibrato changes to the instruments, and the pauses before note changes were removed. Brian Post was not a musician, so he didn't do any additional audio work for Beam. Marshall Parker, Tania Smith, and Gavan Anderson had all used this driver. However, Gavan only helped with sound effects and digitized voices.
The first game to use NYNTH was 720. The first game to use its second revision was Road Runner. And the first game to use its final revision was Back to the Future Part II & III. Aussie Rules Footy and International Cricket were released exclusively in Australia. All of the other games were released in North America, and some of them in Europe. The only game to use the driver that made it in Japan was Lucasfilm Games' Star Wars.
The driver outputs to the RP2A03 in North America/Japan and the RP2A07 in Europe. The triangle channel was used only as a bassline or for melodic harmonies, and was never used for drums/percussion. The DPCM channel was used, but only for digitized sound effects and speech.
NYNTH utilized Music Macro Language. The code would work as follows:
; Song Title p# (It is unknown what the p values are for.) x i# (Instrument) a#4e (Note: A# Octave: 4 E: Eighth Note) x
Here is a list of what the definitions found in the driver mean: c c# d d# e f f# g g# a a# b (Note pitches) Note Lengths: w = Whole note h = Half note q = Quarter note s = Sixteenth note t = Triplet (8th note) $ = Triplet (16th note) . = Dotted note (Example: g3e. = Note: G Octave: 3 e.: Dotted Eighth Note) ! = ??? r = Rest - = Connected note, for example, a#4q-a#4q would be a A#4 half note, since there are two quarter notes.)
|1989-11-??||720 (NES)|| |
|1988-??-??||Airwolf: Acclaim (NES)|| |
|1989-07-??||Defender of the Crown (NES)|| |
|1989-09-??||Back to the Future (NES)|| |
|1989-09-??||Bad Street Brawler (NES)|| |
|1989-10-??||The Three Stooges (NES)|| |
|1989-??-??||Road Runner (NES)|| |
|1990-01-??||RoadBlasters (NES)|| |
|1990-02-??||Dash Galaxy in the Alien Asylum (NES) *|
|1990-03-??||Fisher Price: I Can Remember (NES)|
|1990-03-??||Fisher Price: Perfect Fit (NES)|
|1990-06-??||Rocket Ranger (NES)|| |
|1990-07-??||Battle Chess (NES)|| |
|1990-09-??||Back to the Future Part II & III (NES)|| |
|1990-10-??||Days of Thunder (NES)|| |
|1990-11-??||The Punisher (NES)|
|1991-05-??||Family Feud (NES)|| |
|1991-10-??||Bo Jackson Baseball (NES)|
|1991-??-??||Aussie Rules Footy (NES)|
|1991-??-??||Smash T.V. (NES)|| |
|1991-??-??||The Hunt for Red October (NES)|| |
|1991-11-15||Star Wars: Lucasfilm Games (NES)|| |
|1992-06-??||Power Punch II (NES)|| |
|1992-12-??||George Foreman's KO Boxing (NES)|| |
|1992-??-??||International Cricket (NES)|
|1993-03-??||Mickey's Safari in Letterland (NES)|
|1993-10-??||Last Action Hero (NES)|| |
|1994-03-??||Mickey's Adventures in Numberland (NES)|
|Unreleased||Exploding Fist (NES)|| |
|Unreleased||Mike Tyson's Intergalactic Power Punch (NES)|
The first two versions of the sound driver go from a low C to a C note one octave higher. The driver then uses an algorithm to divide each frequency by two to get higher note frequencies.
Version 1 (Gregg Barnett)
C-2 = 342 B-1 = 374 A#1 = 3A9 A-1 = 3E0 G#1 = 41B G-1 = 45A F#1 = 49C F-1 = 4E2 E-1 = 52D D#1 = 57B D-1 = 5CF C#1 = 627 C-1 = 685
Version 2 (Neil Brennan)
C-2 = 354 B-1 = 386 A#1 = 3BC A-1 = 3F6 G#1 = 430 G-1 = 472 F#1 = 4B4 F-1 = 4FE E-1 = 54A D#1 = 59A D-1 = 5F0 C#1 = 64A C-1 = 6A8
Version 3 (Brian Post)
This version of the driver lists all notes. Also, the high bytes are separated from the low-bytes.
B-8 = 07 A#8 = 07 A-8 = 07 G#8 = 08 G-8 = 08 F#8 = 09 F-8 = 09 E-8 = 0A D#8 = 0B D-8 = 0B C#8 = 0C C-8 = 0D B-7 = 0E A#7 = 0E A-7 = 0F G#7 = 10 G-7 = 11 F#7 = 12 F-7 = 13 E-7 = 14 D#7 = 15 D-7 = 16 C#7 = 18 C-7 = 19 B-6 = 1B A#6 = 1C A-6 = 1E G#6 = 20 G-6 = 22 F#6 = 24 F-6 = 27 E-6 = 29 D#6 = 2B D-6 = 2E C#6 = 31 C-6 = 34 B-5 = 37 A#5 = 3A A-5 = 3E G#5 = 42 G-5 = 46 F#5 = 4A F-5 = 4E E-5 = 53 D#5 = 58 D-5 = 5E C#5 = 63 C-5 = 69 B-4 = 6F A#4 = 76 A-4 = 7D G#4 = 85 G-4 = 8D F#4 = 95 F-4 = 9E E-4 = A8 D#4 = B2 D-4 = BD C#4 = C8 C-4 = D4 B-3 = E1 A#3 = EE A-3 = FC G#3 = 10B G-3 = 11B F#3 = 12C F-3 = 13E E-3 = 151 D#3 = 166 D-3 = 17B C#3 = 192 C-3 = 1AA B-2 = 1C3 A#2 = 1DF A-2 = 1FA G#2 = 219 G-2 = 23A F#2 = 25B F-2 = 27F E-2 = 2A6 D#2 = 2CE D-2 = 2F9 C#2 = 327 C-2 = 356 B-1 = 38A A#1 = 3C0 A-1 = 3F6 G#1 = 430 G-1 = 472 F#1 = 4B6 F-1 = 4FE E-1 = 54A D#1 = 59A D-1 = 5F0 C#1 = 64A C-1 = 6A8 B-0 = 70D A#0 = 779 A-0 = 7EE