vgmspec151.txt ?
where?
Technical discussion about the VGM format, and all the software you need to handle VGM files.
Moderator: Staff
vgmspec151.txt ?
I'm looking for vgmspec151.txt for comparison purposes to later VGM specs (particularly header size). Anyone here still have a copy of it?
- RichterEX2 Offline
- Posts: 191
- Joined: 2012-03-30, 9:28:37
- Location: Georgia, USA
http://www.smspower.org/forums/download.php?id=2234
There ya go.
There ya go.
I would say use the 1.60 spec, since the 1.51 spec had at least 6 revisions that I could find. When I opened the 1.60 spec, I discovered that even the latest 1.51 revision in that thread (http://www.smspower.org/forums/viewtopic.php?t=11965) seemed incomplete.
You can find the 1.60 spec here: http://www.smspower.org/uploads/Music/vgmspec160.txt
Also, according to eh 1.60 spec, the 1.51 spec has a header size of 0x80.
Edit: Also be sure to get a file that matches the spec you are using. Shinobi (Arcade) seems to have the size 0x40 header from an early v1.51, while MegaRace (PC/DOS) seems to have the full 0x80 header.
You can find the 1.60 spec here: http://www.smspower.org/uploads/Music/vgmspec160.txt
Also, according to eh 1.60 spec, the 1.51 spec has a header size of 0x80.
Edit: Also be sure to get a file that matches the spec you are using. Shinobi (Arcade) seems to have the size 0x40 header from an early v1.51, while MegaRace (PC/DOS) seems to have the full 0x80 header.
Last edited by snakemeat on 2012-06-05, 5:28:10, edited 1 time in total.
- ValleyBell Offline
- Posts: 4785
- Joined: 2011-12-01, 20:20:07
- Location: Germany
Wow ... That must be the first revision of vgm spec 1.51 I released ever.
Actually I released a new v1.51 spec almost everytime I updated something.
I recommend to use the v1.60 spec instead. The only difference between 1.51 final and 1.60 are the DAC Stream commands and the PCM RAM writes for the RF5Cxx chips.
I'll sort my stuff and upload the final 1.51 spec to SMSPower. (I found 3 different revisions, too.)
About the header size: In vgm spec. 1.51 I made this rule:
v1.51 VGMs with a header size of 0x40 bytes are valid. Shinobi (Arcade) uses only the YM2151, so it doesn't need any header data past 0x40.
MegaRace on the other side uses the YM3812 chip, whose header value is at 0x50, so its header must have at least 0x54 bytes.
Actually I released a new v1.51 spec almost everytime I updated something.
I recommend to use the v1.60 spec instead. The only difference between 1.51 final and 1.60 are the DAC Stream commands and the PCM RAM writes for the RF5Cxx chips.
I'll sort my stuff and upload the final 1.51 spec to SMSPower. (I found 3 different revisions, too.)
About the header size: In vgm spec. 1.51 I made this rule:
Code: Select all
- The header must have at least 64 bytes. If the VGM data starts at an offset
that is lower than 0x80, all overlapping header values will be zero.
MegaRace on the other side uses the YM3812 chip, whose header value is at 0x50, so its header must have at least 0x54 bytes.
Which VGM packs are actually set to v1.51 (and preferably links to them)?
Regarding versioning and such, it's almost a certainty that I'd be programming either one or both of two possible outcomes from processing a VGM thru the new VGMTool - keep the version the same, or update the version and resulting header to the next highest "stable" version (for pre-1.50 non-YM2612 this will almost certainly result in an update to 1.50, for post-1.50 and pre-1.50 YM2151 it'll likely update to 1.60 or 1.61 until 1.70 is finalized even tho VB sent me a preliminary copy of it). This will be the primary reason for me collecting the various versions of VGM spec, and I'll almost certainly add some sort of checkbox toggle to choose the processing behavior.
The hard part will be processing the rest of a VGM file acc. to version updating, eg optimization of YM2612 DAC data and such.
Regarding versioning and such, it's almost a certainty that I'd be programming either one or both of two possible outcomes from processing a VGM thru the new VGMTool - keep the version the same, or update the version and resulting header to the next highest "stable" version (for pre-1.50 non-YM2612 this will almost certainly result in an update to 1.50, for post-1.50 and pre-1.50 YM2151 it'll likely update to 1.60 or 1.61 until 1.70 is finalized even tho VB sent me a preliminary copy of it). This will be the primary reason for me collecting the various versions of VGM spec, and I'll almost certainly add some sort of checkbox toggle to choose the processing behavior.
The hard part will be processing the rest of a VGM file acc. to version updating, eg optimization of YM2612 DAC data and such.
- ValleyBell Offline
- Posts: 4785
- Joined: 2011-12-01, 20:20:07
- Location: Germany
Almost all VGM packs without tables should be v1.51. (A few of them are 1.60.)
For new packs I minimize the version of every VGM by running vgm_ptch over it when repacking, so new YM2151 VGMs have always v1.50, for example.
btw: I recommend to check the source of vgm_ptch and the functions that do MinHeader and MinVer.
I'm sure you can find them useful.
For new packs I minimize the version of every VGM by running vgm_ptch over it when repacking, so new YM2151 VGMs have always v1.50, for example.
btw: I recommend to check the source of vgm_ptch and the functions that do MinHeader and MinVer.
I'm sure you can find them useful.
"without tables" - I'm confused what you mean by this; are you referring to the info table that most of the approved submission threads have on this forum?ValleyBell wrote:Almost all VGM packs without tables should be v1.51. (A few of them are 1.60.)
For new packs I minimize the version of every VGM by running vgm_ptch over it when repacking, so new YM2151 VGMs have always v1.50, for example.
btw: I recommend to check the source of vgm_ptch and the functions that do MinHeader and MinVer.
I'm sure you can find them useful.
"vgm_ptch" - Is that short for "patch" ? It's one of the few tools not listed in your VGMTools readme. Also, if a YM2151 VGM were to also have a post-1.50 chip (eg, the OKIM6295), would vgm_ptch leave it as a 1.60 VGM?
Thanks, I overlooked that info. That really clears it up then.ValleyBell wrote: About the header size: In vgm spec. 1.51 I made this rule:Code: Select all
- The header must have at least 64 bytes. If the VGM data starts at an offset that is lower than 0x80, all overlapping header values will be zero.
- ValleyBell Offline
- Posts: 4785
- Joined: 2011-12-01, 20:20:07
- Location: Germany
Yes, I mean the info table. All newer packs have one, all older packs (that are made before vgmrips startet) don't.neologix wrote:"without tables"
Yes, that's short for "patch". It's actual homepage is here, but I haven't updated that one in ages.neologix wrote:"vgm_ptch"
Yes, for a YM2151 + OKIM6295 VGM it would leave the version at 1.61.neologix wrote:Also, if a YM2151 VGM were to also have a post-1.50 chip (eg, the OKIM6295), would vgm_ptch leave it as a 1.60 VGM?