Skip to content

Sound chip nomenclature

*pedant pedant*

Technical discussion about the VGM format, and all the software you need to handle VGM files.

Moderator: Staff

  • User avatar
  • jrlepage Offline
  • Posts: 32
  • Joined: 2012-10-07, 3:33:28
  • Location: Canada

Sound chip nomenclature

Post by jrlepage »

This is something that's been on my mind me for a while.

Is there any sort of standard for naming sound chips in the VGM format? If you look at all of Yamaha's FM chips, you'll find the YM2612, YM2151, YM2413, YM3812, etc. Makes sense, since that's what they're called.

But then, there is also stuff like "Pokey", "NES APU", "GB DMG", "Sega PCM", etc. which have nicknames.

Wouldn't it be better to stick to the established trend of calling chips by their real name instead? "NES APU" should probably be called "2A03" or "RP2A03" since that's what it's known as in the NES/NSF community. "POKEY" (in capital letters, because it's short for Pot Keyboard Integrated Circuit) is the nickname given to the C012294 chip. "GB DMG" has a proper name too, but I forget what it is... And I'm not sure if "Sega PCM" has an official name other than that, but it stands out, so I thought I'd bring it up.

The thing that 'bothers' me is that on the face of it, there doesn't appear to be a conventional way of naming sound chips. I suppose one could infer that the rule is "use a nickname if one exists, otherwise use the part number", but then that doesn't account for the YM2413 (which would then be called OPLL), the YM3812 (OPL2), the YMF262 (OPL3), the YM2151 (OPM), and so forth.

"NES APU" is the one that bothers me most, partly because I'm an NES musician first and foremost, but also because it stands out from the rest of them so much. Another reason is that systems other than the NES use it (such as the Famicom, or certain arcade systems), and that is information that is obscured by calling it the "NES APU", in much the same way as calling the YM2612 "Genesis APU" would, for instance. Also, when/if Famicom expansion chips (e.g. Namco N163, Konami VRC6, Konami VRC7, Nintendo MMC5, Ricoh RP2C33, Sunsoft 5B) are implemented, their technical name is going to clash with the less precise "NES APU" name.

tl;dr, I'm a pedantic bugger who thinks there should be a stricter standardisation of sound chip nomenclature in VGMPlay/in_vgm. :)

I thought I'd throw this up in the air, see if someone catches it.
  • User avatar
  • neologix Offline
  • Posts: 211
  • Joined: 2012-04-22, 4:03:45
  • Location: New York, NY, USA

Post by neologix »

You bring up a good point. You state that being a NES musician you're more likely to notice the naming inconsistencies in the supported Nintendo chips; it's a similar situation but in reverse for the various VGM development teams. The first VGM version was specifically to handle the two chips found in the Sega Master System and the next extension immediately afterward was to cover the Genesis/Mega Drive's chip to obsolete the GYM format, so being that it was initially established by Sega emulator devs it makes sense that VGM devs until now (including myself) would be more familiar with Sega-related chips. Before VGM reached version 1.60, the order of chips added was SN76489, YM2413, YM2612, YM2151, Sega CD PCM, 32X PWM - all Sega-used chips at one point or another.

Extension of the format to accommodate other Yamaha chips allows Yamaha naming because those Yamaha names are how they're referred to in the code that ValleyBell's been using for implementation; the "Sega PCM" is probably named that way to avoid confusion (32x and, IIRC, Sega CD use Ricoh chips with VERY similar names, for example). If the code ValleyBell used to implement Nintendo chips had named the chips according to their designations, he'd likely be using those designations instead of the nicknames; open a NES format VGM, for example, in the current VGMPlay and tell us what the chip is labeled in it.

Now, if there's a list somewhere of chips and their nicknames, I'm sure VB would be more than willing to look into naming the chips acc. to designation in VGM documentation. I couldn't tell you directly his reasoning for what he initially names chips as they're added, but I can say personally that it's been easier for me to know that if a song is labeled as "NES APU" that it's a NES format VGM, "GB DMG" is a GB format VGM, and so forth.
  • User avatar
  • ValleyBell Offline
  • Posts: 4768
  • Joined: 2011-12-01, 20:20:07
  • Location: Germany

Post by ValleyBell »

Actually, the SegaCD PCM and 32x PWM were the last chips I added to v1.51. The first chip I added to v1.51 was Sega PCM (used in OutRun, doesn't seem to have a "proper" name) and the RF5C68 (Arcade version of the SegaCD PCM). Just btw.

I need to admit, that the naming is inconsistent indeed. The reason I named the chips as they are is, that I simply used the names that MAME/MESS use internally.
So I called the NES chip NES APU. Also I didn't want to call it N2A03, because I found it harder to remember and the main cpu is already called N2A03.
Basically the same applies to the GB DMG. (Don't ask me where I got the GB DMG from. It's just called GameBoy soundmost of the time.)
And well ... POKEY. It's a word that shouts at me. It's written "Pokey" many times in the comments, so I wrote it this way.

As for the YMxxx chips, almost no one calls the YM2612 "OPN2", so I went with the YM name. OPLL, OPL2 and OPL3 seems to be more common, though.

If you want to discuss the names, I'm willing to do that.
Actually I'd want to use the most common names for the chips.

Another btw: Most of the chips in v1.51 were added for the sake of completeness. I started adding some YM FM chips, so I thought I could also add the rest of the YM family. ;)

Post by Sonic of 8! »

ValleyBell wrote:The first chip I added to v1.51 was Sega PCM (used in OutRun, doesn't seem to have a "proper" name).
The Sega X driver (segaxbd.c) tells that his IC number is 315-5218. So, it can be the technical name for him.

Post by Oerg866 »

Those chips are all Yamaha, they have a YM part number (the MD VDP has a 315-xxxx number too for example but the model of it is actually YM7101), but that number is lost forever i guess.

315-5218 (16 channel stereo PCM controller) seems correct for now then.
former VGMRips server hoster :)

Server uptime: http://www.mdscene.net/index2.php

Post by Sonic of 8! »

Oerg866 wrote:Those chips are all Yamaha, they have a YM part number (the MD VDP has a 315-xxxx number too).
Now I understand that the MultiPCM (Sega / Yamaha 315-5560) soumd chip is very close to YMF278B...
Last edited by Sonic of 8! on 2012-12-19, 4:50:38, edited 1 time in total.

Post by JFD62780 »

ValleyBell wrote:Don't ask me where I got the GB DMG from. It's just called GameBoy soundmost of the time.
I believe that's what Gunpei Yokoi called the Game Boy before it became the Game Boy; some Dot Matrix Game... ;)
Until next post...
  • User avatar
  • ValleyBell Offline
  • Posts: 4768
  • Joined: 2011-12-01, 20:20:07
  • Location: Germany

Post by ValleyBell »

ValleyBell wrote:I'd want to use the most common names for the chips.
Sega PCM and MultiPCM are called like this everywhere. No one even bothers about the actual chip numbers for these chips.
And 7-digit numbers are way too much to remember anyway. (I already can barely remember which K05xxxx chip is what.)
Sonic of 8! wrote:Now I understand that the MultiPCM (Sega / Yamaha 315-5560) soumd chip is very close to YMF278B...
AFAIK it's a YMF278B without OPL3 part and with 4 additional channels.
  • User avatar
  • jrlepage Offline
  • Posts: 32
  • Joined: 2012-10-07, 3:33:28
  • Location: Canada

Post by jrlepage »

I really can't speak for any other of the chips, but 2A03 is definitely the most common name for the Nintendo NES/Famicom APU in the NSF community. :)

Post by Sonic of 8! »

Speaking on 2A03, is a bit hard to do this various times:

1. Find a NSF compatible with for NSFPFDS (NSF Player for FDS made by Offgao);
2. Build a FDS disk image with it and run it on MESS;
3. I need to do a quick disk eject, because it gives the ERR. 20 if I not do this;
4. Log a VGM file per track once (most of sound engines may not split music or split but don't play).

There is a way to mod a NES emulator and add VGM support? FCEU and Nestopia are two good choices...
Last edited by Sonic of 8! on 2012-12-20, 1:55:07, edited 1 time in total.
  • User avatar
  • jrlepage Offline
  • Posts: 32
  • Joined: 2012-10-07, 3:33:28
  • Location: Canada

Post by jrlepage »

^ This should be split into its own thread.

Post by Sonic of 8! »

jrlepage wrote:^ This should be split into its own thread.
You're right. I didn't have enough time to search the certain topic. Sorry for any transtations.
Post Reply