New Documentation: An authoritative reference on the YM2612

For anything related to sound (YM2612, PSG, Z80, PCM...)

Moderator: BigEvilCorporation

Christuserloeser
Very interested
Posts: 145
Joined: Sun Jan 28, 2007 2:01 am
Location: DCEvolution.net
Contact:

Post by Christuserloeser » Sun Oct 12, 2008 10:36 pm

TmEE co.(TM) wrote:http://www.fileden.com/files/2008/4/21/ ... CRDNGS.RAR

CCAM MD2, MD1 with YM2612 and MD1 with SE-95 clone chip... seems MD2 YM2612 implementation does sound different with BattleTech... I still prefer MD2 over anything.
Wow, I am quire impressed by the SE-95! Sounds great! A bit like a mix between MD1 and MD2, but with low volume for the PSG channels. I would love to hear a recording of Bare Knuckle 2's Go Straight Beatmix and Never Return Alive...
http://www.DCEvolution.net - Gigabytes of free Dreamcast software for you

Image

Snake
Very interested
Posts: 206
Joined: Sat Sep 13, 2008 1:01 am

Post by Snake » Sun Oct 12, 2008 11:40 pm

AamirM wrote:No. Its just this game.
Well as you can clearly hear from the samples now provided, the later chips are quite different to the original. And as I pointed out, this stuff was all created on the earlier models.

Kega has this right, based on a real YM2612, which is, after all, what I'm trying to emulate ;) The only reason it sounds different to the YM2612 sample is because my filter is a bit off. It's *very* hard to get this exact and I haven't spent anywhere near enough time on it.

But back to the bug for a second... Why did somebody create sounds that used this? All of them are on channel 3, using special mode, where they could very easily have set the operator to the same high frequency legitimately. Unless doing this does something different...
I don't want to imagine the moment when we would be emulating specific Mega Drive & Genesis revisions
Pretty much all dev hardware was based on early models, so I would just stick to those, personally.
I'd say Regen sounds closer to MD1 w/ YM2612.
Regen makes a 'tick' sound instead of a quiet 'beep'. This is because you're outputting way higher than the real chip does. You should filter and downsample.

HardWareMan
Very interested
Posts: 746
Joined: Sat Dec 15, 2007 7:49 am
Location: Kazakhstan, Pavlodar

Post by HardWareMan » Mon Oct 13, 2008 6:07 am

I think this is a philosophical question - whats sounds correct? YM2612 - is original. PCS95 - YM2612 hardware clone. Seen under this angle, it seems like inaccurate simulation. So the main question is: Whats sounds correct? Original YM2612 or its clone PCS95?

Snake
Very interested
Posts: 206
Joined: Sat Sep 13, 2008 1:01 am

Post by Snake » Mon Oct 13, 2008 7:47 am

As I said, these sounds will have been created on an original NTSC Genesis 1. Therefore however it sounds on one of those is how it was intended to sound.

This particular story gets even more interesting. I had someone test it on an NTSC Genesis 2. Guess what? It sounds pretty much exactly the same as an NTSC Genesis 1.

So it would seem its got something to do with PAL consoles, but what, I'm not exactly sure. It doesn't seem to be a timing issue, it's something else.

Maybe this is why the game didn't get released outside the US - they couldn't figure out what the hell was going on :)

Eke
Very interested
Posts: 885
Joined: Wed Feb 28, 2007 2:57 pm
Contact:

Post by Eke » Mon Oct 13, 2008 8:43 am

What is funny is that we were looking for months how to get ride of this "blip-blip" awful sound and now we try to figure how to make it reappear :lol:

Anyway, I agree and, for the time being, I will restrict my definition of "accurate" to "how it was designed to sound"
Regen makes a 'tick' sound instead of a quiet 'beep'. This is because you're outputting way higher than the real chip does. You should filter and downsample.
downsample to how much ? in my case, I'm stuck to 32khz or 48Khz
and which kind of filter to we exactlly need ? I'm currently using a very simple low-pass filter but that does not "muffle" the sound so much
The only reason it sounds different to the YM2612 sample is because my filter is a bit off. It's *very* hard to get this exact and I haven't spent anywhere near enough time on it.
Could it be possible to implement a filter based on the exact values of the RC composants from a real machine ? or would it be a completely wrong approach ?

TmEE co.(TM)
Very interested
Posts: 2443
Joined: Tue Dec 05, 2006 1:37 pm
Location: Estonia, Rapla City
Contact:

Post by TmEE co.(TM) » Mon Oct 13, 2008 8:55 am

Have a filter which gets rid on anything above 10KHz or so would be what's in MD2, plus a great deal of distortion... for MD1, you can omit the distortion... downsample the output to 22KHz and you get what real HW does after its crappy mixer circuits... not my idea of good sound...

Its odd that NTSC MD2 would sound like MD1... I have some Nomads and Christuserloeser's X'eye and Wondermega, which are all true NTSC systems with variations of main components used in all MDs.... this is getting interesting here. X'eye and my MD2 uses 315-5660 chipset, Nomad uses 315-5700, Wondermega uses the earliest 315-4xxx chipset... These are the 3 I've encountered, and I don't think there's more of the same kind.
One thing about MD2 is the REALLY shitty mixer, just listen the before and after :
http://www.sega-16.com/forum/showpost.p ... stcount=60
I think if I'd record the BattleTech tune from original MD2, it would sound so different its sounds like what's coming from MD1...

I'm gonna do more recordings... more games please :)
Mida sa loed ? Nagunii aru ei saa ;)
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen

HardWareMan
Very interested
Posts: 746
Joined: Sat Dec 15, 2007 7:49 am
Location: Kazakhstan, Pavlodar

Post by HardWareMan » Mon Oct 13, 2008 9:47 am

OffTop:
I can tell you how to get PAL color even in 60Hz mode (PAL60) without RGB cable. You need this: 1 20..40 pF capacitor and PAL quartz 4.43MHz. You have to cut off color subcarrier frequency from VDP and PAL/NTSC mode pin. Then solder quartz series with a capacitor to PAL encoders and set PAL/NTSC pin always to PAL mode.

AamirM
Very interested
Posts: 472
Joined: Mon Feb 18, 2008 8:23 am
Contact:

Post by AamirM » Mon Oct 13, 2008 11:05 am

Hi,
Snake wrote: Regen makes a 'tick' sound instead of a quiet 'beep'. This is because you're outputting way higher than the real chip does. You should filter and downsample.
Yeah, I am not doing any sort of filtering. I will probably write a new resampler/filter when I get the time which will resample using filtering with more better quality. But as Eke asked already, downsample to how much? Its my experience that MD's output is bassed quite a bit meaning one will need more heavy lowpass filtering.

stay safe,

AamirM

TmEE co.(TM)
Very interested
Posts: 2443
Joined: Tue Dec 05, 2006 1:37 pm
Location: Estonia, Rapla City
Contact:

Post by TmEE co.(TM) » Mon Oct 13, 2008 1:07 pm

HardWareMan wrote:I can tell you how to get PAL color even in 60Hz mode (PAL60) without RGB cable. You need this: 1 20..40 pF capacitor and PAL quartz 4.43MHz. You have to cut off color subcarrier frequency from VDP and PAL/NTSC mode pin. Then solder quartz series with a capacitor to PAL encoders and set PAL/NTSC pin always to PAL mode.
I know that already, its that I don't use Composhit at all and don't bother with it. Its RGB all the way at my place :)
I don't have original RGB cables for MD2 or any adaptors (9-pin mini DINs are hard to find) so I had to use composhit for example...
Mida sa loed ? Nagunii aru ei saa ;)
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen

SmartOne
Very interested
Posts: 77
Joined: Sun Sep 21, 2008 5:18 am

Post by SmartOne » Mon Oct 13, 2008 5:02 pm

AamirM, I like the idea of "sound plugins" for various types of filtering and sampling options.
TmEE co.(TM) wrote:Composhit
I really wish RGB was used in the US. :(

Lord Nightmare
Interested
Posts: 19
Joined: Sun Oct 12, 2008 10:45 pm

Post by Lord Nightmare » Mon Oct 13, 2008 6:21 pm

We're trying to document the YM2612 here, correct? Wouldn't it be a better idea then to simply document the real YM2612 when run in a pal or ntsc machine, and also consequently document the two sega-made ym2612 clones when run at ntsc and pal clock rates, and just ignore the output mixing for the time being, as that is a somewhat unrelated topic?
It would be interesting to document the mixer cutoffs/lowpass/downsampling etc for all the different sega (and 3rd party clone) chipsets, but thats a job for another thread, IMHO.

Just my $.02

LN
"When life gives you zombies.... *CHA-CHIK!* ...you make zombie-ade!"

Eke
Very interested
Posts: 885
Joined: Wed Feb 28, 2007 2:57 pm
Contact:

Post by Eke » Mon Oct 13, 2008 6:28 pm

at the time being, only a few people have the knowledge/ability to test and document their findings, what we are doing are only discussion and asking technical questions

Well, that is also what I like about this board: you never know about what a thread will end talking about :D

Lord Nightmare
Interested
Posts: 19
Joined: Sun Oct 12, 2008 10:45 pm

Post by Lord Nightmare » Mon Oct 13, 2008 6:44 pm

Eke: this is true, but here comes a problem:
Unless we document each chip separately from all the others, we're going to have errors in the documentation caused by 'it sounds correct' cases where due to the fact that a real ym2612 and an old type sega ic, or a real ym2151 and a middle type sega ic, or a clone ym2612 and an old type ic or... etc interact in a way that either hides some chip output that IS present or has output which is really not from the ym2612 at all.

This is why I think for all ym2612 tests on real hardware, data should be captured as soon as it exits the dac on the ym2612 chip, as opposed to capturing it at the megadrive/genesis audio output pins, post-mixing.

This way, instead of having to juggle a whole lot of variables (ym2612 type (real or one of the two clones), ym2612 clock rate, MD/genesis cpu clock rate, MD/genesis cpu chipset/mixer type, MD/genesis console revision (since the output filters after the mixer may change), we're down to only three: ym2612 type, ym2612 clock rate (pal vs ntsc), and MD/genesis cpu clock rate (pal vs ntsc), and we can ignore the rest of the mixer stuff.
Once the three ym2612-and-clones chips are documented, then we can go back and do sine wave sweeps, etc on the mixer and different hardware revisions and messing with the VDP/sn76494 sound, to properly characterize different hardware revisions. The ym2612 is separate.

Again, this is just my opinion, based on other stuff I've worked on.

LN
"When life gives you zombies.... *CHA-CHIK!* ...you make zombie-ade!"

Eke
Very interested
Posts: 885
Joined: Wed Feb 28, 2007 2:57 pm
Contact:

Post by Eke » Mon Oct 13, 2008 7:14 pm

:lol:
As I said, we were only discussing way to improve the accuracy of emulator outputs and this end up discussing hardware filtering and mixing, nothing more

Don't worry, I'm sure Nemesis (or other technical people willing to do the same thing) knows well what they need to test and how exactly they have to test it :wink:

Arbee
Interested
Posts: 16
Joined: Sat Aug 02, 2008 5:35 pm
Location: USA
Contact:

Post by Arbee » Mon Oct 13, 2008 7:18 pm

LN: well, this board is about the Genesis/MD, so the filters on the back end do matter. (If schematics exist, they'd probably be fairly easy to hook up in MAME with the discrete audio subsystem). I can't think of any cases where the filter would somehow give Nemesis false results anyway.

I do agree 100% with Snake regarding 2612 knockoffs: the real 2612 and other bits of a model 1 Genesis/MD should always be the default setting. It's of course fun to discover and emulate how the clones and ASICs differ, but they're not what the composers intended the games to sound like.

Post Reply