NESM

From Video Game Music Preservation Foundation Wiki
Jump to: navigation, search
Nintendo Entertainment System Music
Released 1993-??-??
Programmers Alberto Gonzalez
Language 6502 Assembly
Formats PDS, SNG

NESM, probably Nintendo Entertainment System Music, is the official name of the sound driver used at New Frontier for their NES games. The driver was created and used by Alberto Gonzalez. It was only used in two games, both exclusive to Europe and based on cartoon licenses. According to Alberto Gonzalez, NESM is what he named his sound engine. Alberto still has the source code for the driver, but has not released it.

Alberto would write his music on a tracker program called Compact Editor. He would then convert his songs to his custom format using a program called The Sourcer. However, most of the time, he would edit the converted file to make to add percussion and other changes to the songs. Sometimes, he would just write the entire song in assembly without using Compact Editor.

The SNG files housed the songs while the PDS files housed the sound code for the sound driver and testing program. This allowed one to select and play different music and sound effects for the game.

Release History

Because New Frontier, the company Gonzalez worked for only developed two NES games, the driver was only used in those two games. The first one being Asterix, and the other being The Smurfs. New Frontier released both games exclusively in Europe.

Output

Alberto Gonzalez's sound driver outputs to the RP2A07 for music and sound effects. When played on the RP2A03, the music is played faster in tempo and about a quarter step higher in pitch. The driver uses the triangle channel not only for bass, but also for percussion along with the noise channel for better drum sounds. According to Gonzalez, one of his video game influences at the time was the Follin brothers' music, which probably explains why the triangle/noise channel are used for percussion. The DPCM channel isn't used.

Games

Released Title Sample
1993-??-?? Asterix (NES)
1994-??-?? The Smurfs (NES)

Technical

Frequency Registers

The frequency registers are located in 3.PDS.

B-6 = 19
A#6 = 1B
A-6 = 1D
G#6 = 1F
G-6 = 21
F#6 = 23
F-6 = 24
E-6 = 26
D#6 = 29
D-6 = 2C
C#6 = 2E
C-6 = 31
B-5 = 34
A#5 = 37
A-5 = 3A
G#5 = 3E
G-5 = 42
F#5 = 45
F-5 = 4A
E-5 = 4F
D#5 = 53
D-5 = 58
C#5 = 5E
C-5 = 63
B-4 = 69
A#4 = 6F
A-4 = 76
G#4 = 7D
G-4 = 84
F#4 = 8C
F-4 = 95
E-4 = 9D
D#4 = A7
D-4 = B1
C#4 = BC
C-4 = C6
B-3 = D3
A#3 = E0
A-3 = ED
G#3 = FB
G-3 = 10A
F#3 = 11A
F-3 = 12B
E-3 = 13D
D#3 = 150
D-3 = 163
C#3 = 179
C-3 = 18F
B-2 = 1A7
A#2 = 1C0
A-2 = 1DA
G#2 = 1F7
G-2 = 216
F#2 = 235
F-2 = 256
E-2 = 27A
D#2 = 2A0
D-2 = 2C7
C#2 = 2F2
C-2 = 31F
B-1 = 34E
A#1 = 381
A-1 = 3B7
G#1 = 3EF

Addresses

The frequency registers are 7F (127) bytes long.
Asterix = $144CE-$1454D
Smurfs = $C514-$C593

Links