Skip to content
View in the app

A better way to browse. Learn more.

ResHax

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Help us keep the site running.

Metal Gear Solid 2 - Type 1 audio

Featured Replies

Probably an old query for some, but just for my own knowledge to understand this format.  MGS2 on the PS2 has two different audio formats - type 0 is standard PSX ADPCM, but type 1 is some other format.  It looks like some sort of PCM8, with some sources saying it should be XOR'd by 0x07 first, and some saying it's IMA.  I've tried the data both raw and XOR'd but I can never get it to play correctly, trying various interleave values as well.  I might just be missing something obvious if anyone can enlighten me.

I've attached a couple of samples of these type 1 files from DEMO.DAT - they include the 16-byte header and then the raw audio data.

 

Thanks.

 

type1_samples.zip

Solved by bnnm

Seem like custom 8-bit DPCM to me. The 0x07s over data is probably a table index rather than something to be xor'd. Would be hard to figure out without reversing the exe though.

  • Author
1 hour ago, bnnm said:

Seem like custom 8-bit DPCM to me. The 0x07s over data is probably a table index rather than something to be xor'd. Would be hard to figure out without reversing the exe though.

Thanks!  It's one that's annoyed me for a while, but I could never find anything definite about that format.

I might have to resort to some extensive reversing to see what it's actually doing.

 

Poked at the decompilation a bit and seems more like a custom-but-regular pcm8, rather odd. Could probably add to TXTH later but meanwhile:

mgs2-type1-to-pcm16.py

IIRC the (old) PC version used MSADPCM and would have better quality though.

Edited by bnnm

  • Author
1 hour ago, bnnm said:

Poked at the decompilation a bit and seems more like a custom-but-regular pcm8, rather odd. Could probably add to TXTH later but meanwhile:

mgs2-type1-to-pcm16.py 652 B · 0 downloads

IIRC the (old) PC version used MSADPCM and would have better quality though.

That was quick.  Excellent stuff!  Starting to sound like it should without all the harsh background noise.

I just wanted to rip everything in playable format for completion purposes (an obsession of mine lol), as this was the only audio that I couldn't play properly.

Thanks!

 

Files seemed a bit quiet, on a closer inspection this may be doing some extra stuff with the values to get better output. I'll see if I can figure out and add to TXTH later.

  • Solution

updated vgmstream, txth:

codec = DPCM_KCEJ
sample_rate = @0x06:BE$2
channels = @0x08$1
start_offset = 0x10
num_samples = data_size

 

  • Author
29 minutes ago, bnnm said:

updated vgmstream, txth:

codec = DPCM_KCEJ
sample_rate = @0x06:BE$2
channels = @0x08$1
start_offset = 0x10
num_samples = data_size

 

Fantastic!  Works perfectly.  Thanks for adding it, it's definitely a rare format.

 

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.