Skip to content

Virtua Racing PCM samples ripping help

Technical discussion about the VGM format, and all the software you need to handle VGM files.

Moderator: Staff

  • random96 Offline
  • Posts: 3
  • Joined: 2025-08-27, 1:47:10

Virtua Racing PCM samples ripping help

Post by random96 »

Hello, does anybody have any information on how to properly rip the samples from Virtua Racing? I've been trying for years to no avail and I decided to finally post here and ask for help, I have tried the thing with audacity and can't help but wonder where is the start and loop point data being stored? If anyone knows or would like to help it'd be greatly appreciated, thanks in advance! :mrgreen:
  • User avatar
  • BoxCubed Offline
  • Posts: 183
  • Joined: 2021-05-08, 17:21:54

Re: Virtua Racing PCM samples ripping help

Post by BoxCubed »

If you're looking for where the start and loop data point are being stored, I believe you're better off just looking at the threads here that have research on the YMW258F, the TG100, and the YM3413. Additionally, ValleyBell's MIDI converter for OutRunners might have some insight on how and where the start and loop point data are being stored.
  • User avatar
  • ValleyBell Offline
  • Posts: 1659
  • Joined: 2011-12-01, 20:20:07
  • Location: Germany

Re: Virtua Racing PCM samples ripping help

Post by ValleyBell »

MAME's source code has a description of how the sample table works, see multipcm.cpp.

In short: At the very beginning of the ROM, there is a table with 12 bytes per sample.
bytes 0..2 = sample start file offset (+ sample type, encoded into the first byte)
bytes 3..4 = loop start, relative to the sample start
bytes 5..6 = sample size (except that the value needs to be subtracted from 0x10000 to get the actual sample size)
  • random96 Offline
  • Posts: 3
  • Joined: 2025-08-27, 1:47:10

Re: Virtua Racing PCM samples ripping help

Post by random96 »

Thanks! I will attempt to look at the ROMs with this information and will post my results as soon as I have them!
  • random96 Offline
  • Posts: 3
  • Joined: 2025-08-27, 1:47:10

Re: Virtua Racing PCM samples ripping help

Post by random96 »

ValleyBell wrote: 2025-08-28, 7:36:46 MAME's source code has a description of how the sample table works, see multipcm.cpp.

In short: At the very beginning of the ROM, there is a table with 12 bytes per sample.
bytes 0..2 = sample start file offset (+ sample type, encoded into the first byte)
bytes 3..4 = loop start, relative to the sample start
bytes 5..6 = sample size (except that the value needs to be subtracted from 0x10000 to get the actual sample size)
Thanks for the help! Me and a friend managed to make a C program that will look at the table for every MultiPCM Sound ROM you throw at it, but we're running into issues when it comes to exporting to WAV, think you could help us out or at least tell us who may be able to help us out? Thanks!

Here's a screenshot of the program in action, I hope it embeds properly :lol:
If not, here's a link: https://freeimage.host/i/untitled.f6qU67t
Image
Post Reply