Introduction

This is going to be a repository for my findings as I start to pull apart the original You Don’t Know Jack game engine (as first seen in 1995).

The games use a combination of audio and basic animation, but run on low spec PCs and the early Power Macs. All the data is stored in a special archive format (srf), which looks like it can embed the audio and video with a good compression rate.

So far, here’s what I know about the SRF setup (as posted to http://wiki.xentax.com/index.php?title=You_Dont_Know_Jack )

Format Specifications

char {4}   - Header (srf1)
uint32 {4}   - Archive Size

// for each file

uint32 {4}   – File Size (including these two 4-byte fields)
char {4}     – File Type/Extension (32 terminated)
byte {X}     – File Data

Essentially, each file has a header that points to all of the resources, which store the name, size and offset of the file in question, permitting separate streams to be recorded in the same file. It’s like a standard Mac resource file, but grouped by type, and shorn of attributes (since these are read only).

So far I’ve noticed three filetypes stores – a simple text string, a file format similar to the “snd ” or .sfil format for Macs, and something that looks vaguely like a quicktime RLE animation. As a Windows user, .sfil is hard to work with, so I’m currently looking into converters (I know the newer Quicktime for OSX no longer supports it). In my next post I’ll dig into more detail for these files.

Introduction