Night Trap 32X video compression

Ask anything your want about the 32X Mushroom programming.

Moderator: BigEvilCorporation

Paul Jensen
Interested
Posts: 32
Joined: Mon Apr 06, 2009 4:17 pm
Location: Hiroshima, Japan

Post by Paul Jensen » Tue Jun 24, 2014 5:30 pm

I've been working on my decoder program quite a bit these days. Mostly I've been fixing little things, like adding automatic video frame rate and audio sample rate support, but I've also made some big additions. The program can now read and decode most (if not all) the videos from Prize Fighter, as well as handle/filter the multi-stream files found in Sewer Shark.

Here's the intro to Prize Fighter. I decoded it with my program and then converted it to MP4 (and also fixed the aspect ratio) with Adobe Media Encoder at 250 Kbps.

Most of the remaining data chunk types seem to be simple variations of the chunks that have already been cracked, so it should be mostly a matter of tweaking parameters and things in order to get the decoder to work with all chunk types.

matteus
Very interested
Posts: 336
Joined: Mon Feb 04, 2008 1:41 pm

Post by matteus » Tue Aug 05, 2014 12:06 pm

TascoDLX wrote:
Paul Jensen wrote:Super cool! Thanks! I can't believe we (mostly you) were able cracked the code so quickly.
No problem. To be fair, it could have been a lot more complicated if they decided to do more than just boost the colors of the Sega CD version. Luckily they settled for a relatively simple format, so it was pretty open.

Good luck on the project! :D
Sorry to hijack this thread! You mean to tell me they simply increased the colour depth on the existing Sega CD video? :D

Chilly Willy
Very interested
Posts: 2984
Joined: Fri Aug 17, 2007 9:33 pm

Post by Chilly Willy » Tue Aug 05, 2014 9:23 pm

Paul Jensen wrote:EDIT: I figured out video type $C6. I also discovered a weird quirk of type $C8: tile data in even-numbered rows (base 1) is byte-swapped for some reason. AFAICT it applied to all $C8 videos, and also to one $C6 video that I know of. The crappy thing is nothing in the headers seem to distinguish videos with byte-swapped tiles from non byte-swapped ones. I can't see why Digital Pictures would have done this. It doesn't make sense from a processing standpoint to have to swap bytes.
Didn't notice this earlier... the byte swapped version is probably due to the game being on a PC or a console with a little-endian processor first as opposed to the SegaCD/32X. You see that all the time on older games - whichever platform came first set the endianness of the data files.

Post Reply