Yamaha SFG-05 for Cx5me

Page 4/5
1 | 2 | 3 | | 5

By Wierzbowsky

Guardian (3571)

Wierzbowsky's picture

26-08-2017, 20:17

I have an interesting observation. When plugging the YM2164 chip into our SFG module clone with the patched 05 bios, the music plays much slower. Could be our YM2148 implementaion's effect of course. Or maybe there are more differences between those chips than we see.

By Grauw

Ascended (10711)

Grauw's picture

27-08-2017, 03:36

That is because of this:

Grauw wrote:

032CH, 1E73H, 2F4DH (YM2164): scf / rra before writing to register 18
032CH, 1E73H, 2F4DH (YM2151): nop / nop before writing to register 18

On the YM2164 it seems bit 7 of timer B has a different function. The timer resolution is also reduced by 1 bit.

Timer B is used for the music playback, but on the YM2164 the base frequency is half that of the YM2151, this is why the value is shifted right by one (= /2). Giving it the YM2151 value will result in double the timer period. In other words;

On YM2151 the timer B period (s) is: (1024 * (256 - CLKB)) / 3579545
On YM2164 the timer B period (s) is: (2048 * (256 - CLKB)) / 3579545

Also, I just noticed the 256 - CLKB part of the formula; this means that there is no special function to bit 7, it simply feeds in a 1 because the period value is negated. (I’ve edited my original post to this effect so that there’s no confusion for later readers.)

Btw Alexey, now that I have your attention, about the I/O address mirroring, does your clone have it?

By Grauw

Ascended (10711)

Grauw's picture

27-08-2017, 06:23

Posted the info on the MAP.

Also, a small side note from me, looking at that ROM file for the upgrade, the changes are pretty targeted and tidy, and testify knowledge about the specifics of the YM2164 which is otherwise undocumented and supposedly was never generally available. I wouldn’t be surprised if this ROM was sourced from Yamaha.

Wikipedia claims that early SFG-05 modules came with an YM2151 rather than a YM2164 ({citation needed} :)), also the SFG-05 schematic in the CX5MII service manual shows an YM2151, so that could explain where this ROM came from originally. Those (suspected) version code bytes I mentioned also suggest an earlier version. Although in that case, it’s odd that an earlier version would contain patched-out initialisation code for YM2164…

By Wierzbowsky

Guardian (3571)

Wierzbowsky's picture

27-08-2017, 09:55

I have to ask our engineer about I/O. I am not very technical in those issues.

By Wierzbowsky

Guardian (3571)

Wierzbowsky's picture

30-08-2017, 10:44

Grauw, what exactly did you mean by "I/O address mirroring"?

By Grauw

Ascended (10711)

Grauw's picture

30-08-2017, 11:37

Normally, the SFG I/O is accessed via address 3FF0H. However, you can also do this on 7FF0H, BFF0H and FFF0H (address bits 14/15 are ignored). For programming the SFG this is actually a bit convenient, because this gives you freedom to choose which page to swap out, and you aren’t forced to swap out page 0 (which the BIOS routines don’t support so you have to do it manually).

E.g. in VGMPlay I could swap it into page 2 instead of page 0, just like the SCC, maybe even keep it swapped in permanently for better performance. So it would be good to know if this is supported by the RBSC clone.

By Wierzbowsky

Guardian (3571)

Wierzbowsky's picture

30-08-2017, 15:57

According to our engineer we have mirroring identical to the original SFG module.

By Grauw

Ascended (10711)

Grauw's picture

11-05-2020, 01:35

Alexey wrote:

According to our engineer we have mirroring identical to the original SFG module.

I tried it today on mine built by Omega, and indeed the mirroring is working correctly. Great!

By Grauw

Ascended (10711)

Grauw's picture

27-04-2021, 20:49

Japanese twitter is debating atm whether the M in OPM stood for MSX Smile.

By Manuel

Ascended (19308)

Manuel's picture

27-04-2021, 20:58

Oh, isn't it just the following letter after "L"? And N is the letter after that? i strongly doubt it has a meaning related to MSX.

Page 4/5
1 | 2 | 3 | | 5