Category Archives: Open Source Multimedia

News regarding open source multimedia projects.

gcfuse

I’m taking useless academic exercises to new heights. I wrote a utility called gcfuse that allows you to mount filesystems replicated, one way or another, from Nintendo GameCube DVDs.


Nintendo GameCube

What on earth for? I’ve heard tales of strange and wonderful FMV formats on those petite GameCube DVDs and I just had to know for myself. One game I’m playing right now is Metroid Prime, which has visuals that certainly appear to be pre-rendered multimedia files. Let’s find out:

$ gcfs metroidprime.gcm gcm/

$ ls gcm/
Audio         Metroid4.pak  NESemu.rel    SlideShow.PAK   metroid5.pak
AudioGrp.pak  Metroid6.pak  NESemuD.rel   TestAnim.Pak    opening.bnr
GGuiSys.pak   Metroid7.pak  NESemuP.rel   Tweaks.Pak
Metroid1.pak  Metroid8.pak  NoARAM.pak    Video
Metroid2.pak  MidiData.pak  SamGunFx.pak  client_pad.bin
Metroid3.pak  MiscData.pak  SamusGun.pak  default.dol

$ ls gcm/Video/
00_first_start.thp            08_GBA_fileselect.thp  attract9.thp
01_startloop.thp              AfterCredits.thp       creditBG.thp
[...]

Right away, a new multimedia format– THP. The GC-Linux project already has documentation about this MJPEG-like format. Samples, of course, are available for your inspection.

Cyberia c93

Thanks to VAG for reverse engineering and documenting yet another game-related multimedia format, this one even older than most. It’s a format with the extension .c93 that was used in the DOS game Cyberia published by Interplay. The game was also published for the Sony PlayStation, Sega Saturn, and 3DO. I wager that the first 2 ports made use of each respective console’s standard APIs while there is an outside chance that the 3DO version used this same format.


Cyberia Title Screen
Screenshot courtesy of MobyGames

According to my master spreadsheet, I have, not 1, but 2 copies of Cyberia in my collection. I’m sure there’s a funny story behind that. They’re on the queue of several dozens of games yet to peruse. Anyway, there are samples available and VAG has the complete specs written up here. This looks like another great entry-level format if any aspiring new multimedia hackers wish to try implementing support for FFmpeg.

QuickTime Docs

I have long desired to create better documentation for my favorite multimedia container format, Apple QuickTime. Now I am finally using the MultimediaWiki as a vehicle for that task. Up to now, the Apple QuickTime page has been a poorly organized mess of random notes I have jotted down over the years. However, tonight, I figured out how to use MediaWiki templates in order to create an alphabetical reference of all useful QuickTime atoms. Each atom links to the atoms that it can contain, and that contains it. Each still needs to be documented and there are undoubtedly a bunch more (useful) atoms missing. But I think this is a promising start.

Googling for “quicktime atom reference” currently turns up an atom reference @ Apple.com. It’s 404, though.