Hello. I don't know where to post this to increase my chances of a response, but let's try this and see how it goes:
I'm looking at https://vgmrips.net/wiki/VGM_Specification, and I'm reading about the 0x90-0x95 commands. It mentioned "data banks". Searching around the page and across the web, I have yet to find a definition of data banks. I thought they might be the same as "data blocks", but the text saying that "multiple data blocks expand the data bank" seems to indicate they're different.
I just want to know how this stream data should be formatted, and the documentation doesn't spell out where the data being referenced actually goes. I wonder if the (well-meaning) folks who wrote this have actually tried to follow their own documentation, because I am not convinced there's enough information here. Or I'm missing something that's there that just isn't obvious to me.
Is there anyone who knows and is willing to help me understand?
VGM "data bank" help
Technical discussion about the VGM format, and all the software you need to handle VGM files.
Moderator: Staff
- ValleyBell Offline
- Posts: 1602
- Joined: 2011-12-01, 20:20:07
- Location: Germany
Re: VGM "data bank" help
Well, the way this worked was, that I wrote the VGMPlay implementation first and then later I wrote the specification based on that.
The way it works is like this:
The way it works is like this:
- a "67" command defines a data block
- multiple "67" commands of the same "data type" (in the range 0x00..0x3F) form a "data bank"
i.e. you can have one block "67 66 00" for the "kick" sample and another "67 66 00" block for the "snare" sample - command "91" assigns such a data bank to the PCM stream
- command "95" can play a specific "sample" of the assigned data bank, which equals to the contents of one "67 66 xx" command
Re: VGM "data bank" help
Thank you, this is very helpful! Questions:
1) Does it matter where the 67 commands are located, or should they always be assumed to be before the 9x commands?
2) Are there any good VGMs I can use to test this with that employ this method? The ones I've tried out don't use the 9x commands at all, or they have 9x but don't have 67/68 commands (are these corrupt??).
VB edit:: removed fullquote
1) Does it matter where the 67 commands are located, or should they always be assumed to be before the 9x commands?
2) Are there any good VGMs I can use to test this with that employ this method? The ones I've tried out don't use the 9x commands at all, or they have 9x but don't have 67/68 commands (are these corrupt??).
VB edit:: removed fullquote
- ValleyBell Offline
- Posts: 1602
- Joined: 2011-12-01, 20:20:07
- Location: Germany
Re: VGM "data bank" help
- In practise, "67" commands should always be at the beginning of the file, before the "91" command. However there is strict enforced rule that this is the case.
- You won't find any VGMs in the "MegaDrive" section that use the PCM streaming commands. Those are all using VGM v1.50 features, which keeps the jitter intact.
For "67/68" you can use Sega System 18/32 VGMs that use the RF5C68. And "Sonic CD".
For "67/9x", use one of the many Sharp X68000 VGMs that use the OKIM6258. Or "Rusty" and "Totsugeki Mix" (NEC PC-9801).