Action 52 Music Driver Code and Format Document

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Action 52 Music Driver Code and Format Document
by on (#76275)
I made an Action 52 NSF awhile back, and had to figure it all out, so I made the driver a fully assembleable unit, and documented how the format works.

Turns out, it's a Sculptured Software music driver since the same driver appears in almost all of their games (found via binary search against all NES roms).

Some of the A52 music is from "Music Construction Set" demo tunes as was previously discussed and were written by Ed Bogas, including the Cheetahmen music.

Anyways I might as well release it instead of letting it fester on the HD.

http://blog.kevtris.org/blogfiles/A52NSF.ASM
http://blog.kevtris.org/blogfiles/A52FMT.TXT

have fun!

Whoops, I might've posted this a few years ago. I honestly can't remember. Someone asked about it on IRC, so I figured it hadn't been posted yet.

by on (#76276)
I guess that explains the Title Screen theme of NES Monopoly.

Anyway, a quick search reveals some names of staff at Sculptured Software:
Paul Webb is credited as the musician and sound effects guy.
Ken Moore, Ken Grant, Bill Williams, and Dwain Skinner have been credited as programmers for NES games developed by Sculptured Software.

So then, who programmed the sound driver?

edit again:

Action 52, Eliminator Boat Duel, Monopoly, Metal Mech, and Day Dreamin' Davey seem to use this small snippet of code:
Code:
A9 1F                                  LDA #$1F
8D 15 40                               STA $4015     ;all channels on
A9 C0                                  LDA #$C0
8D 17 40                               STA $4017
Re: Action 52 Music Driver Code and Format Document
by on (#76277)
kevtris wrote:
Some of the A52 music is from "Music Construction Set" demo tunes as was previously discussed and were written by Ed Bogas, including the Cheetahmen music.

I swear, I must have the only C64 version of this program that contains the Ed Bogas music.

None the less, the inner workings of music engines is always an interesting read. :D (Also, I'm glad I wasn't the only one to force composers to specify the note length for every single note :S (glad I got rid of that in DNSF2))
Re: Action 52 Music Driver Code and Format Document
by on (#76279)
Drag wrote:
kevtris wrote:
Some of the A52 music is from "Music Construction Set" demo tunes as was previously discussed and were written by Ed Bogas, including the Cheetahmen music.

I swear, I must have the only C64 version of this program that contains the Ed Bogas music.

None the less, the inner workings of music engines is always an interesting read. :D (Also, I'm glad I wasn't the only one to force composers to specify the note length for every single note :S (glad I got rid of that in DNSF2))

Was the C64 version the only one that contains the music? I downloaded some version but it doesn't seem to have them. :/ Can you share the one you have? My e-mail is thefox at aspekt.fi.

by on (#76286)
What's this about "Music Construction Set"? I thought it was "The Music Studio".

by on (#76288)
Dwedit wrote:
I guess that explains the Title Screen theme of NES Monopoly.

Anyway, a quick search reveals some names of staff at Sculptured Software:
Paul Webb is credited as the musician and sound effects guy.
Ken Moore, Ken Grant, Bill Williams, and Dwain Skinner have been credited as programmers for NES games developed by Sculptured Software.

So then, who programmed the sound driver?

edit again:

Action 52, Eliminator Boat Duel, Monopoly, Metal Mech, and Day Dreamin' Davey seem to use this small snippet of code:


Paul Webb wrote the driver originally; Doom94 told me that on IRC last night (he's the one that wanted the driver code and format spec).

And yes that's most of the games I found too.. I searched for two 8-12 byte snippets of code. When I get home and remember I will post the list of games I have.

by on (#76291)
Dwedit wrote:
What's this about "Music Construction Set"? I thought it was "The Music Studio".

Oh derp, yeah, that's it.

by on (#76396)
I know Paul Webb. I own all of Sculptured's SNES development hardware but not NES. Paul was the one who made the sound driver but I don't believe both games use the same sound driver.
Re: Action 52 Music Driver Code and Format Document
by on (#76397)
Drag wrote:
(Also, I'm glad I wasn't the only one to force composers to specify the note length for every single note :S (glad I got rid of that in DNSF2))

How else is the engine supposed to distinguish quarter notes from eighth notes? Or are you talking about a syntax that doesn't just default to sixteenth notes unless specified otherwise?

by on (#76406)
Drag wrote:
Dwedit wrote:
What's this about "Music Construction Set"? I thought it was "The Music Studio".

Oh derp, yeah, that's it.

Someone must be a classic EA fan.

Also, LOL at Active for swiping someone else's music driver. Might have been common practice in the demoscene back in the day (I know all of my C64 demos use ripped music), but I'm highly surprised that they went this route, given some quotes from the EP/designer, Vince Perri (link requires choosing a local library and logging in with an email account). Choice quote:

In July 1993, Vince Perri wrote:
The breakthrough came by accident. "I happened to see my son playing an illegal product made in Taiwan that had 40 games on it. The whole neighborhood went crazy over it," Perri said. "I figured I'd do it legally. It's obvious when you see something like that, you know there's something there."

Perri said he used his overseas banking connections to raise $5 million from private backers in Europe and Saudi Arabia. He farmed out the programming to college students and the technical work to Cronos Engineering Inc., a Boca Raton company that does work for IBM Corp. He expects to begin shipping Action 52 today.


Sounds like someone pulled a fast one on Mr. Perri and it wasn't technically legal after all =P

by on (#76414)
LocalH wrote:
Sounds like someone pulled a fast one on Mr. Perri and it wasn't technically legal after all =P

Is anything unquestionably legal? There are so many crimes and so many torts nowadays that you'd need to be an attorney to keep track of them all.
Re: Action 52 Music Driver Code and Format Document
by on (#76416)
tepples wrote:
Drag wrote:
(Also, I'm glad I wasn't the only one to force composers to specify the note length for every single note :S (glad I got rid of that in DNSF2))

How else is the engine supposed to distinguish quarter notes from eighth notes? Or are you talking about a syntax that doesn't just default to sixteenth notes unless specified otherwise?

I mean, rather than have every notes be two bytes (<note><length>), I changed it so you specify the note length once, and it applies for all following notes until you specify a new one.
Re: Action 52 Music Driver Code and Format Document
by on (#76432)
Drag wrote:
I changed it so you specify the note length once, and it applies for all following notes until you specify a new one.

Which is essentially the same thing as run length encoding the durations, if you think about it. It's just that I don't have several notes of the same duration in a row often enough to justify this; instead, I specify duration with three bits of the note command (and pitch with the other 5). But to each his own, I guess.