Silent Hill 1 (KDT) Research by peronmls at 6:55 PM EST on December 17, 2013
Well I'm slowing figuring out Silent Hills KDT track sequence format. I have found to much but I think I got as far as I could get and maybe some more advanced can figure out more. Stuff like tempo and sequence track was found but its not enough.
Here this to help:
uint Signature 0x3154444B ("KDT1") uint Size of this file in bytes uint ??? uint # of tracks for each track: ushort Size of track in bytes for each track: byte*trackSize Track event data
Sequence data is "4B 43 45 54 (KCET)" to "FF FF 00 00" The next 4 bytes of 43 45 54 4B is the size information.
It is the flag of multi song data 4B 43 45 54 00 00 00 00 54 53 44 42 00 00 00 00 "01" 00 00 00 17 byte is a multi-song "02" or more. There is a need to change the size information by cutting out the file in this case.
Must be added if there is no header above.
This is a driver for use in Suikoden 2 Edit:remove the link
Please merged the seq + vab
The File -> open in the suikoden2.psf PSFLab File -> Import Binary Data in the The merged file of Destination address 0x80010004 File -> Save As is Save psf.
I have changed the way because there is a case to merge does not work. (Position of the VAB as they refer to the size information)
Fix driver http://www.mediafire.com/download/ranulvy4yc6e7l2/suikoden2b.zip I was made to fix the position of the VAB
File -> Import Binary Data in the 0x80010028 the data from Seq(4B 44 54 31(KDT1) to FF FF) File -> Import Binary Data in the 0x8001D7C0 the data from VAB File -> Save As is Save psf.
Edit: how to merge the command-line copy command Example: copy a.seq + b.vab c.bin
This is a sample of the header http://www.mediafire.com/download/hunmwwvyd3gjbuy/KCET.zip 4B 43 45 54 "xx xx xx xx" 54 53 44 42 "xx xx xx xx" 01 00 00 00 4B 44 54 32 "xx xx xx xx" 01 00 00 00 00 00 00 00 you need part of "xx xx xx xx" rewrites the size information in the hex editor. Specified position of size 4B 43 45 54 "xx xx xx xx" Size of 0x08 after bytes 54 53 44 42 "xx xx xx xx" Size of 0x14 after bytes 4B 44 54 32 "xx xx xx xx" Size of 0x24 after bytes is until FF FF
Because PSFlab truncates 3 bytes or less, please specify every 4 bytes. size divisible by 4, Please add 00 when you do not have enough.
If you rewrite the KCET.header File -> Import Binary Data in the 0x80010004 the data from KCET.header
Import position of VAB if you specify the size of the above. the 0x8001000C + "specified size" = "Import position"
File -> Import Binary Data in the 0x80120028 the data from Seq(4B 44 54 31(KDT1) to FF FF) File -> Import Binary Data in the 0x80148000 the data from VAB File -> Save As is Save psf.
mogikihei, the problem is not the reservation for the seq block. I have already tried manipulating the headers and the locations of the KDT/VAB inside the resulting PS-X EXE and making sure the KDT/VAB data doesn't overwrite any following bytes. I tried your uploaded revision anyway, and as I thought, it still doesn't work. I really think it must be a driver issue.
foobar2000+foo_input_vgmstream returns: Decoding failure at 0:00.000 (Unsupported format or corrupted file):