Is decent quality BGM possible with SFX in SGDK?

SGDK only sub forum

Moderator: Stef

Stef
Very interested
Posts: 3131
Joined: Thu Nov 30, 2006 9:46 pm
Location: France - Sevres
Contact:

Post by Stef » Sun Oct 19, 2014 4:31 pm

Yeah i think i will go with the solution of "manual" PSG channel reservation. For instance you always reserve PSG channel 3 for SFX and use others channel for music, i think that's an acceptable compromise :)

About the VGM format, indeed it is quite difficult to handle them correctly, the version 1.60 added crazy things about PCM. It's very useful for file size of course but ugly in term of interpretation compared to older format.
I think the VGM format is quite broken when it comes to PCM data and should have taken PCM in account really sooner and in a clever way.
Let's say for instance having PCM sample definition :
- id
- type (8 bits)
- length
- data
Then having simple commands as :
- playPCM(sample id, channel, sample rate)
- stopPCM(channel)

But unfortunately it's not as simple even with format 1.6 or above :-/

Also in my case, when i say my driver will play VGM file, it's not entirely true. What i do is that i take a VGM file as input, i optimize it and transform it in my own format (let's say XGM), all this will be done with my rescomp SGDK tool (currently i only have a java converter for prototyping). When i say i optimize the VGM file, actually i transform any old VGM format in 1.60 to use the new PCM commands, i also collapse all wait command in frame wait. This means my "VGM" driver is frame based for timing so any VGM having sub frame timing can be incorrectly converted but for music composition i believe the frame is enough as base timing (1/60 or 1/50 of second).

Stef
Very interested
Posts: 3131
Joined: Thu Nov 30, 2006 9:46 pm
Location: France - Sevres
Contact:

Post by Stef » Sun Nov 23, 2014 8:51 pm


Post Reply