Yearly Archives: 2007

Sega CD Ripper

I’ve started to plunder my stash of Sega CD games for my Gaming Pathology project. To run the games with the Gens emulator under Windows it is necessary to either install ASPI drivers for accessing the game CD-ROMs in a particular manner, or rip the data and audio tracks into a particular filename sequence in order to play them directly from the hard disk. Since I couldn’t make the former work on my new machine, I proceeded with the latter option.


Sega CD unit

Gens wants the data track, i.e. ISO-9660 CD-ROM filesystem, as ‘title.iso’. Any redbook CD audio tracks after the data track need to be in the same directory, compressed as MP3, and named as ‘title 02.mp3’…’title nn.mp3’. After performing the process more or less manually for Revengers of Vengeance (I automated some parts, but had to manually rename the files in the end, and RoV has 44 audio tracks), I wrote a Python script to help me with other games (and I’m not very good at Python yet but I like these opportunities to learn).

There might be other ways, better ways, but this is my new way. The script relies on cdparanoia and LAME (oh, and dd and rm). I didn’t know any program to query a CD to learn how many audio tracks it had (except my own hacked up program and I didn’t feel like leveraging it), so I just perform a rip loop until cdparanoia returns an error. LAME is instructed to encode at its ‘insane’ profile, sparing no bitrate. Syntax is ‘./rip-sega-cd.py “game title”‘ which will produce an ISO file and a series of MP3 files if redbook audio is present:

$ ./rip-sega-cd.py "Revengers Of Vengeance"
ripping Revengers Of Vengeance
ripping data track...
/bin/dd if=/dev/cdrom of="Revengers Of Vengeance.iso"

ripping audio tracks...
/usr/bin/cdparanoia --quiet 2
/usr/bin/lame --quiet --preset insane cdda.wav "Revengers Of Vengeance 02.mp3"
/bin/rm cdda.wav

[...repeated for each redbook CD audio track...]

SoC Application Deadline

The deadline for students to submit an application to Google’s Summer of Code, 2007 Edition looms. Tomorrow, March 24th, is it. If you are interested in participating in FFmpeg for the SoC, go here to apply. The FFmpeg project does have the qualification requirement this year. However, that does not need to be done by tomorrow. You still have about 2 weeks to complete that.

Update: As noted by Monsieur Swain in the comments, the deadline Google has extended the application deadline to March 26th.

Covox ADPCM

Trixter, who’s interested in even older multimedia formats than I am, has unearthed utilities to compress special ADPCM variants used by the Covox Sound Master. The formats include 2-, 3- and 4-bit ADPCM formats. For anyone interested in trying to reverse engineer the details of these obscure formats (and I know you’re out there), check out this directory at the samples site. It has PCM samples compressed in the various formats along with the DOS-based compression utility used. Also, there is a programming library that has C code to interface to a binary library module that handles the meat of the codec operations.

Happy RE’ing.

SoC Multimedia

I became curious how many other multimedia-related open source projects were competing with FFmpeg for students in Google’s Summer of Code 2007. There is quite an assortment of 3D modelers, audio editors and players, and games on the list. Among them: