Saturn PCM <-> WAVE converter!


Staff member
Hello guys!

I've analyzed the differences between the SEGA Saturn .PCM format and the PC .WAV format.

Now here's a beta win9x version of the

SEGA Saturn wavetools:

The Rockin'-B news

There are two ways of usage:

You got .PCM or .SND files from Saturn game CD's and want to hear it on PC.

Or you're making a homebrew Saturn game and want to include custom sounds created on PC.

Mind that this is a beta version. But there is only one file that I know of that makes problems.

What's your opinion?


The Rockin'-B


Established Member
You need WinRAR at least version 2.9 to extract. If the CRC32 of "SSwavetools_win9x_beta1.rar" you're getting is FAA02175, then the file should extract fine.
I've finaly tested your converter on a wav file. It seems to work well.

The .h you output is a int array (-128,128, as I can see), whereas I did expect a char[]. Does it matter, or are you sure char and int are the same ?

What about that file that makes problems ?

Did you test with a snd file and a saturn ? In this case, could you put the loading code somewhere (I know it is not hard, but if it's already done) ?

Thanks for your soft, anyway


Established Member
int and char are the same...that is, as long as int is a single byte
the only difference is in how you interpret the value: as a number, or as an ASCII code.

BTW, the correct range for signed bytes is -128 to 127.


Staff member

The .h file is OK, the compiler would have shown an error if it wasn't(values bigger 127).

As for loading .PCM or .SND files on Saturn, I have only tried to play sounds that where included into the binary(that's what the .h files are for). Using the SGL sample sound program it worked, but I haven't played around with the pitch settings, you have to do so for yourself.

If you got a clue how the pitch value is related to the .wav values(samplerate or what), let me hear.

And concerning .snd files: they are a concatenation of .pcm sounds. So if you're going to make a game and you're sure what sounds you use in a level, then you put all that sound together in one .snd file. You will only have to load one file once, instead of several files again and again.

Sound loading code: search the boards, there was a discussion of someone who wasn't sure if to put the sound files into main memory or sound memory. Maybe you can find code there.