ValleyBell / libvgm

A more modular rewrite of most components from VGMPlay. will include sub-libraries for audio output, sound emulation and VGM playback
irc://irc.digibase.ca/#vgmrips
142 stars 34 forks source link

Not supported Sega CD PCM sounds? #99

Open vitamin-caig opened 2 years ago

vitamin-caig commented 2 years ago

Hello!

Found out that Sega CD tracks sound improperly. Please check out https://vgmrips.net/packs/pack/silpheed-mega-cd

Checked also at the most recent version 8dcffa434ade3998bfbbece14

ValleyBell commented 2 years ago

What tracks sound incorrect and in which way? (specific songs would be nice and timestamps would be even nicer)

I listenened to a few of them using the current libvgm player and also vgmplay-libvgm and didn't notice anything that is obviously wrong.

vitamin-caig commented 2 years ago

Right first one "01 - IPL ~ Opening Demo.vgz" produces no sound. Maybe, I've missed some devices definitions?

ValleyBell commented 2 years ago

You need to enable "RF5C68: Gens core" for MegaCD PCM. Due to historic reasons, RF5C68 MAME is used for the "RF5C68" from the VGM spec. and RF5C68 Gens is used for the "RF5C164".

I should probably relax that requirement.

vitamin-caig commented 2 years ago

Both RF5C68 cores were used. I've disabled SNDDEV_SELECT (adding all necessary files to linkage) and tracks are working.

Looks like it's required to support minimal essential cores set to avoid linking redundant code.

vitamin-caig commented 2 years ago

Closing as invalid:)

ValleyBell commented 2 years ago

Well... I think it's not entirely invalid. Requireing both cores for everything to work is effectively undocumented behaviour.

I'll keep it open as long as this requirement is in place.

mmontag commented 11 months ago

This helped me fix a similar issue in Chip Player JS. Thanks @vitamin-caig