Previous Page

by Nisto at 9:44 PM EDT on April 22, 2019
I wrote a tool to allow exporting individual PSFs per sample (isolated):

https://github.com/Nisto/psfisolate/releases

It's still a little rough around the edges and won't automatically detect where
sample data is located, so the sound data offset needs to be entered manually.
I hope to be able to simplify this, but it's difficult - I'll keep trying.

In the case of Crash Team Racing, run the program with these arguments:
psfisolate filename.psf 0x9000

Some important things to note:

It does not yet support miniPSF (which CTR is, technically); this means that,
if additional samples are loaded from separate PSFLIBs, those will still play.
To be on the safe side, you can convert the PSF set to standard self-contained
PSFs (this would be necessary for the "Intro", "Map" and "Dingo Canyon" themes)
beforehand using this Python script:

https://github.com/Nisto/unminipsf

If you do convert to standard PSFs, change the sound data offset to 0xC1000:
psfisolate filename.psf 0xC1000

Finally: if something comes out silent, it most likely means the respective
sample wasn't played. psfisolate has no knowledge of which samples are utilized
or not, so just skip those. There are a lot of samples that are not used in some
cases. For instance, the first 38 samples of Crash Cove are never played.

For posterity's sake, here's what I found out about the Crash Team Racing PSF set:

* the PSF driver is badly patched, so only PSF players that are forgiving or "aware" of this rip should actually play it
* sequence data is stored at ~ 0x800C8200
* soundbank is stored at ~ 0x800D0000
* kart.hwl is stored at ~ 0x800C0CA4
* the sequence data contains a table of instrument attributes (including volume), near the top
* the table preceding the sample data contains 16-bit indexes which maps into the first kart.hwl table
* indexes maps to sample sizes, in the same order the sample data is stored, so indexes cannot be changed unless respective sizes are the same
* kart.hwl structure / binary template for 010 Editor (w/ some guesses and probably incorrect info)

Previous Page
Go to Page 0 1

Search this thread

Show all threads

Reply to this thread:

User Name Tags:

bold: [b]bold[/b]
italics: [i]italics[/i]
emphasis: [em]emphasis[/em]
underline: [u]underline[/u]
small: [small]small[/small]
Link: [url=http://www.google.com]Link[/url]

[img=https://www.hcs64.com/images/mm1.png]
Password
Subject
Message

HCS Forum Index
Halley's Comet Software
forum source