Page 1 of 1
Differences between YM2151 and YM2164
Posted: Thu Jul 06, 2023 4:14 pm
by DragWx
Announced in an update video on July 6, 2023 (see
accompanying thread), as a workaround for the shortage of YM2151 ICs, some X16s will ship with a YM2164 instead; seen as a near-identical twin to the '51 with only slight differences in some obscure functions none of us use.
The Wikipedia page for the YM2164 points to
this resource, where the differences are described as:
- The TEST register (wholly unuseful to programmers except for a single bit for resetting the LFO) was moved from register 1 to register 9.
- Timer B has double the period on the '64 compared to the '51. If you use Timer B on the FM chip, you'd need to know which you have.
- There are 8 undocumented registers at registers 0-7, whose function is unknown.
This resource from msx.org describes some feature enhancements the '64 has over the '51, but also shows a completely rearranged register layout! Since the team observed that existing games play correct audio, my guess is that this is an OPL2/OPL3 situation, where the '64 starts in a '51-compatible mode, and there's a register for changing the chip into '64 enhanced mode, or one of the pins on the '64 has become a mode-select pin.
This seems to be all the info available from a cursory search. It sounds like if we just assume we're working with a YM2151, things will just work out regardless of which chip you actually have.
Re: Differences between YM2151 and YM2164
Posted: Sun Jul 09, 2023 7:53 pm
by GTR3QQ
the main problem here is the msx from's translation.
If you click on the msx from's listed source, you'll see that the source files actually says 'the mark in red is parts to be focused on', msx from somehow translated this as 'different is marked in red'.
But really, only the test register and the timmer B is different-ish, if you scroll down the source study you can see this conclusion.
test register is only good for chip manufacturing to test the silicon.
Timmer? so far evey one is using VIA's timmer to generate interrupt.
You can google YM2164 vs YM2151 for sample songs, and they sounds the same.
You can check the discord #sound for some more in depth information about both chips, which started like 2 months ago.
Including a die shot.
The die shot reveals that the 64 is essentially the same chip as 51 with a refined/redesigned register array.
I'd say 85% of the die is a exact carbon copy of 2151.
The EG PG ACC NOISEGEN TIMMINGEN LFO all looks the same.
I haven't located the timmer circuit yet nor the 8 undocumented registers.
The important thing is, it's Plug'n'play right in the 2151 socket, and needed compatibility checks is done proper already.
The craker of today is somehow 2164 is more available than 51.
And it's not a FPGA.
Of course, if you really really want a 2151, I'd imagine bartering your much much rarer 2164 for a 2151 should be trivia as.
Re: Differences between YM2151 and YM2164
Posted: Mon Jul 10, 2023 1:26 am
by DragWx
Oh I see, so the different register map is actually for the driver, and the driver remaps the address when it goes to write the value to the chip?
And then the extra features, like KSL and AR scaling are done by the driver and a modified TL and AR are sent to the chip?
If that's true, that makes much more sense, and I was just completely misinterpreting the data.
Re: Differences between YM2151 and YM2164
Posted: Mon Jul 10, 2023 6:43 am
by GTR3QQ
nay, there is no such thing as driver.
99% of the overlapping register is the same.
the 1% is the test register.
so no changes needed at all.
if you exclude the msx from's badly translated report, you'll be less confused since every other places agree with each other.
Re: Differences between YM2151 and YM2164
Posted: Mon Jul 10, 2023 4:26 pm
by DragWx
Nah, I see what happened. The pages in question describe a specific firmware that was being used to drive the 2164 on a specific device, and I fooled myself into thinking it was describing the chip itself. It's cleared up to me now.
Re: Differences between YM2151 and YM2164
Posted: Thu Jun 27, 2024 6:41 am
by Xiphod
Just wanted to ping this topic, good stuff. And add a photo of the two chips.
Do the numbers below YM2151 or YM2164 mean anything in particular?
Re: Differences between YM2151 and YM2164
Posted: Thu Jun 27, 2024 3:43 pm
by DragWx
Isn't that usually some kind of date/lot code? Something like, the XXth week of year YY, at manufacturing plant ZZ. That'd be my guess, anyway.
Re: Differences between YM2151 and YM2164
Posted: Thu Jun 27, 2024 5:20 pm
by Xiphod
I read on old NEC boards (like the 1979 NEC PC-8001) you don't see "normal" dates because in Japan, they mark years relative to the year of their Emperor (at least as a fashion into the mid-1980s, not sure about today; the YM2151 was released 1983).
Re: Differences between YM2151 and YM2164
Posted: Thu Jun 27, 2024 7:10 pm
by DragWx
I noticed that the YM3812 (OPL2) seems to have a similar marking as the YM2164, and that brought me to
this page, which explains that those are indeed two different kinds of date codes that Yamaha used; in your photos, the YM2164 shows the older one, and the YM2151 shows the newer one.