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
140 stars 33 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 9 months ago

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