libgme / game-music-emu

Blargg's video game music emulation library, which allows audio applications to easily add playback support for the music of many classic video game consoles.
GNU Lesser General Public License v2.1
68 stars 12 forks source link

Sega Genesis VGM: Split SN76489-like PSG into channels? #29

Open Wohlstand opened 5 years ago

Wohlstand commented 5 years ago

Original report by jimbo1qaz (Bitbucket: jimbo1qaz, ).


I wrote a program called vgmsplit, to perform multi-channel rendering, by rendering the same thing many times but muting all but 1 channel each time (unfortunately a bit slow, but OK unless you enable Nuked). It contains the following code:

#!c++
for (int channel = 0; channel < gme_voice_count(emu); channel++) {
    writeChannel(channel);
}

where writeChannel is vgmsplit-specific code.

Sadly when playing a Sega Genesis .vgm file, all PSG outputs are outputted to a single wav, where gme_voice_name(emu, channel) == "PSG".

Is it possible to split Genesis PSG into 3 square and 1 noise channel?

Wohlstand commented 5 years ago

Original comment by Michael Pyne (Bitbucket: mpyne, GitHub: mpyne).


It is possible (something similar has been done for SNES SPC700) but would need someone to contribute the patch.

Wohlstand commented 5 years ago

Original comment by Michael Pyne (Bitbucket: mpyne, GitHub: mpyne).


Marking as 'patch needed', this will be beyond my expertise and time unfortunately.