October 29th, 2006 by
Multimedia Mike
…at least, that’s what I would like to do. I bought a used Xbox game nearly 2 years ago with the intention of opening up the disc and studying the contents for interesting multimedia formats. I picked up a few more titles some months ago because I heard these games had some unique multimedia targets. Today, close to 5 years after the Xbox’s initial launch, I tried to examine the disc contents. I ran into a few problems.
I had always heard that Xbox discs have a standard DVD-video structure at the front in order to accommodate the eventuality that the disc may be placed into a standard DVD player. Sure enough, treating the disc like a DVD shows a 13-second, totally X-treme Xbox video followed by a still screen instructing the user, in several languages, to play the disc in the proper game console.
If you use standard CD/DVD system tools to study the Xbox disc, it will be reported as having 6,992 2048-byte sectors, a little over 14 megabytes of DVD-video data. This page on Xbox-Linux describes the Xbox DVD filesystem (XDVDFS) format. However, the markers discussed in that document (“MICROSOFT*XBOX*MEDIA”) do not occur in this 14-megabyte data segment. I imagine the game data starts immediately after this segment. As the document explains, the Xbox DVDs have a fraudulent TOC which tells standard DVD-ROM drives that the disc is much shorter than it actually is. Trying to seek past that point manually just results in an unceremonious EOF.
A brief perusal of BitTorrent sites reveals that many people have absolutely no trouble ripping Xbox games for the purpose of distribution. How do they do it? Apparently, by modding an Xbox, running Linux on it, logging into the Xbox, loading a game disc into the Xbox’s drive, FTP’ing to another computer, and reading the raw game sectors from the disc using the Xbox’s drive, which apparently uses a different set of rules for reading. Not being in possession of an Xbox and having no desire to invest in one at this time, I am at a bit of a loss to study these discs, unless there is a solution I am overlooking.
Based on the filesystem format doc, I am quite confident I could write a FUSE module for browsing the filesystem in short order, based largely on my gcfuse code.
Posted in Game Hacking, xbox |
2 Comments »
October 28th, 2006 by
Multimedia Mike
Behold– a printed and bound copy of the Apple QuickTIme specification. It’s okay to be jealous:

click for larger image
It’s a bit outdated (version 2.2 from April, 1996), but that only adds to its value. I found it at the top of a scrap pile at work. What fortune! I’m certain this would fetch a handsome price on eBay but I am unwilling to part with such a rare jewel. That there are no similar auctions on eBay for the purpose of price comparison is just further evidence of the manual’s rarity.
Posted in General |
2 Comments »
October 27th, 2006 by
Multimedia Mike
MPlayer recently blessed their latest 1.0 release candidate. As some readers may know, MPlayer is where I cut my teeth in practical multimedia hacking– that was 5 years ago, right about this time of year. Makes me sentimental just to think about it.

Other commitments have kept me from coming up with anything interesting for this blog. Instead, I thought I would see how well this release fulfills my original goals from when I embarked on this multimedia hacking adventure so many years ago. It runs on Linux, is free, and is open source, so all of those bases are covered. Now let’s see if it’s simple to install and can handle any file I throw at it (I’ll defer on the GUI goal for the time being).
Read the rest of this entry »
Posted in Open Source Multimedia |
13 Comments »
October 6th, 2006 by
Multimedia Mike
Poking around on a number of Nintendo GameCube games, I have found a pretty consistent mix of FMV formats. In due time, these will need to be entered into the MultimediaWiki:
- THP files seem to be the most prevalent
- H4M files have the markings of a hierarchical vector quantizer (like the letters ‘HVQ’); HVQ is also used in Sorenson Video 1 and LucasArts video
- Electronic Arts games have a VID format which has similar markings as a number of their other evolved game multimedia formats
- One game has 11,500+ Ogg Vorbis files; some of them appear to correspond via base filename to files with the extension .cib; I tend to think that these are corresponding video files
- Sofdec files, as commonly seen on Sega Dreamcast games
- DSP files, often paired as L and R files for stereo effect
- occasional BIK files
Plus, there are a number of other audio files, probably encoded with a custom ADPCM format common on GameCube games.
Posted in Game Hacking, Nintendo |
3 Comments »
October 5th, 2006 by
Multimedia Mike
Going back through some old posts, I decided to follow up on a codec named Caiman’s Video Codec For Gameboy Advance (new MultimediaWiki page). The official site has a number of movie trailers and anime clips encoded with some custom video and audio codecs. The interesting thing is that the samples are encoded as .gba files which are apparently ROM images that are able to be played in an emulator such as VisualBoyAdvance. Therefore, there are no clean multimedia container files (e.g., AVI) for study.

Unsurprisingly, very few technical details are available. The technology page brags about how tweakable the parameters are, but mentions nothing about coding algorithms. Still, it’s interesting that these A/V codecs were designed and optimized for the Gameboy Advance.
Related Post:
Posted in Nintendo |
1 Comment »
October 4th, 2006 by
Multimedia Mike
Back in 1998, I started a web project called the Internet NES Database to catalog information about games for the greatest video game console system of all time, the Nintendo Entertainment System. I reasoned that a web database needed to be searchable but I couldn’t find any literature on exactly how to create a search engine. So I sat down and thought about it and came up with a solution. I eventually refined the idea and later wrote this article about the design decisions I made but never got around to publishing it anywhere. I came across the article on my hard drive recently and figured I may as well publish it in case someone, somewhere might find it interesting.

It’s weird to think that I was building an elaborate search mechanism to index approximately 760 items (the total number of games in the database), though I had hoped to expand the database into something MobyGames-like in due time. Keep in mind that at the outset, while the data was managed in a MySQL database, the data was exposed online through a series of static HTML pages; this was 1998 and it was a little difficult and expensive to get database hosting on the internet. Thus, I could not directly query a database, and I had limited CGI scripting facilities.
Introduction
I present the approach that I took in developing a simple search engine for the Internet NES Database as well as the thinking and reasoning behind the design decisions. It’s not highly sophisticated, but if you don’t know anything about search engine operation, this should give you a starting point.
When I started developing my video game database in early 1998 I knew that it would be much more usable if it featured a search engine. I had no idea how to write a search engine. Web searches on topics such as “search engine theory” turned up thousands of pages claiming to reveal the secrets of getting high ranks in popular search engines. I realized that I was on my own. So I sat down and thought really hard about how to write a search engine.
Read the rest of this entry »
Posted in Nintendo |
2 Comments »
October 3rd, 2006 by
Multimedia Mike
First off, check out Benjamin Larsson’s new blog: Random thoughts and random numbers. Benjamin is one of the open source community’s resident experts on perceptual audio coding concepts. His blog tracks items toward that end.
When I have time, I have been working on the Hachoir project. I finally contributed a parser for the ultra-fringe Spider-Man BIN format that I discovered a few weeks ago. Hey, it’s a start. As soon as I get the hang of the architecture and Python in general I can picture myself contributing a crazy number of format parsers.
As if I don’t have enough old CD-ROM games to process, I have taken to hunting down entire lots of CD-ROM games on eBay. The strategy is working well as my first lot just arrived. Now I have 50 more games to process for my Multimedia Exploration Journal. I just hope I have the opportunity to process them sometime before a year transpires.
Posted in General |
No Comments »