Breaking Eggs And Making Omelettes

Topics On Multimedia Technology and Reverse Engineering



March 31st, 2007 by Multimedia Mike

I found out that the Nintendo 64 version of Capcom’s timeless Resident Evil 2 features FMV. This is amazing given that that the game is cartridge-based and only has 64 megabytes of data. According to some reports I have read, the N64 version had essentially the same FMV content as the the original PlayStation version had (which came on 2 CDs and had dedicated FMV decoding hardware at it disposal).

I’m sure I’m not the only person to wonder how this N64 FMV works.

Further, I read that the Neo Geo version of the 1994 remake of Double Dragon featured a FMV clip from the hilariously absurd 1994 movie. Naturally, I’m curious how that video was stored. I believe the Neo Geo was another strictly tile-based console which would have required vector quantization.

Posted in Game Hacking | 3 Comments »

3 Responses

  1. yoshi314 Says:

    wipeout64 on N64 had almost all the soundtrack [didn’t check how many songs were in the n64 version] from psx version stored in the cardridge. that’s also pretty impressive.

  2. Ian Farquhar Says:

    Firstly, you’ve got to remember that the N64 had two processors. In addition to the R4300i, the RSP was a R4000 CPU with 128-bit vector extensions to the ISA. The main processor offloaded 3D calculations, media processing etc. to the RSP, mostly using microcode that SGI developed. The SDK did have MP3 microcode, so I’m guessing that’s how they encoded it in wipeout64.

    As for how they did FMV on the N64, Gamasutra has a technical overview, which goes into some detail, and even includes some RSP source code which does the YCbCr to N64 frame buffer conversion:

    Just a couple of interesting facts: their compression data budget was 25,165,824 bytes, and the ended up using MPEG with a 1:165 compression ratio, plus lots of post-processing to make it look good.

    It’s a very cool article.

  3. VAG Says:

    Very catchy story, indeed. Though, nothing special regarding actual compression. Just plain mpeg.