Skip to content

Y8950/YM2608 'expansion'?

Technical discussion which is not directly related to VGM files. Talk about Hardware and Software.

Moderator: Staff

  • cmccaff1 Offline
  • Posts: 15
  • Joined: 2021-01-06, 5:20:01

Y8950/YM2608 'expansion'?

Post by cmccaff1 »

I've thought about this on and off for several years, and recently it came to mind again.
Perhaps someone with more experience and knowledge will be kind enough to fill me in on this topic.

From what I understand, the Y8950, YM2608, and YM2610/B can all use a certain type of variable rate ADPCM...the Y8950 & 2608 top out at a 16 kHz sampling rate, while the 2610/B can go up to 55.5 kHz.
Supposedly, the Y8950 and 2608 top out at 256KB for RAM and ROM storage, whereas the 2610/B can use up to 16MB of sample ROM.
What I'm wondering is, could the Y8950 and 2608 use the 16MB sample ROM intended for the 2610/B?
If so, would the sample size be limited to 256KB, or could you stream ADPCM of any size up to 16MB (as you can with the ADPCM-B channel on the 2610/B)?

I'm not well versed as to how far people have gone at 'pushing the limits' when it comes to these chips...it's just a matter of curiosity on my part.
Thank you very much for your time and consideration!
  • ctr Offline
  • Posts: 492
  • Joined: 2013-07-17, 23:32:39

Post by ctr »

From what I understand, the Y8950, YM2608, and YM2610/B can all use a certain type of variable rate ADPCM...the Y8950 & 2608 top out at a 16 kHz sampling rate, while the 2610/B can go up to 55.5 kHz.
Not true. All of them can do up to 55khz (actually 50khz for Y8950 due to a different clock divider). the ADPCM modulation in Y8950 and YM2608 is equivalent to the YM2610 ADPCM-B.

What I'm wondering is, could the Y8950 and 2608 use the 16MB sample ROM intended for the 2610/B?
Only with a mapper. The YM2610 has more address lines, this is what allows it to address more memory for ADPCM playback.
  • cmccaff1 Offline
  • Posts: 15
  • Joined: 2021-01-06, 5:20:01

Post by cmccaff1 »

No kidding...that's awesome!
Going off the official datasheets for the Y8950 and 2608, I was led to believe they could only go up to 16 kHz--I'm glad they can both go MUCH higher!
A hard limit of 16 kHz would still be very good for that era, but it's a great 'bonus' they can do more.
What you mentioned about a mapper is very interesting, from the standpoint that it makes me wonder if you can chain multiple 16MB sample ROMs to theoretically allow for 'unlimited' ADPCM sample space (limited only by how big you want a PCB to be).
I know it's been proven, at least with emulation, that the YM2610/B can address 32MB (16MB for ADPCM-A, 16MB for ADPCM-B).
I'm not sure if mappers could be used to increase that amount, so that more ROMs can be used (i.e., the 2610/B could use 4 ROMs for 64MB of total space, the Y8950/2608 could use 2 ROMs for 32MB, etc).
Thank you very much for your response!
  • ctr Offline
  • Posts: 492
  • Joined: 2013-07-17, 23:32:39

Post by ctr »

Many Neo Geo games used a PCM mapper in order to merge ADPCM-A and ADPCM-B to the same physical memory space. Not sure if they used it to increase the total PCM sample capacity though.
What you mentioned about a mapper is very interesting, from the standpoint that it makes me wonder if you can chain multiple 16MB sample ROMs to theoretically allow for 'unlimited' ADPCM sample space (limited only by how big you want a PCB to be).
That's the whole point of a mapper, really. One thing you'd probably have to worry about when you have multiple channels (as for the YM2610) is to make sure you have multiple banks. So for example, you can switch banks between songs (or even in the middle of a song) and still make sure the other channels don't get affected.
  • cmccaff1 Offline
  • Posts: 15
  • Joined: 2021-01-06, 5:20:01

Post by cmccaff1 »

Officially, to the best of my knowledge, no Neo-Geo game has used a sample ROM greater than 16MB, and ADPCM-A and ADPCM-B were often merged into the same ROM in most if not all Neo-Geo games late in the hardware's commercial lifespan.
It has been proven by Blastar (https://blastar.citavia.de/) that the YM2610 can address *at least* 32MB (16MB for ADPCM-A, 16MB for ADPCM-B).
Basically, a 'steroid boost' of the original 'pre-PCM' configuration (2MB for ADPCM-A, 2MB for ADPCM-B) which many early games such as Magician Lord and NAM-1975 used.
I'm not sure if the Neo-Geo itself can go above 32MB (Blastar hasn't been able to go above 16MB on actual hardware), but I would imagine a custom PCB could use 3 or more 16MB ROMs with a mapper.

The YM2610 does have the advantage of two different ADPCM types, so bank-switching might be easier as you could dedicate certain banks to ADPCM-A and others to ADPCM-B.
It might be tougher with the Y8950 and YM2608.
With only one channel you have to consider your use cases carefully.
The extra ROM space could perhaps be used most advantageously for streaming music (leaving SFX and certain songs to the FM [+ PSG/rhythm in the 2608]) and extended amounts of sampled speech (ideally in cut-scenes and in-game situations where a sample won't be cut off).
Thank you for your response!
Post Reply