By the end of my last post we had established that the MicroProse PIC file format likely uses LZWLempel-Ziv-Welch compression, on top of RLERun-Length Encoding in order to store the image data. Today we’re going to try to write some code to read in a PIC file, LZW decompress the file, and output the raw RLE data, bringing us one step closer to seeing the image itself. In this post we’ll dig into some code on how to implement LZW decompression.
(more…)PIC File Format
Posts related to my efforts in reverse engineering the MicroProse .PIC file format used to store the visual assets for many of their PC/DOS based games in the late 1980’s and early 1990’s
Post Index
-
Welcome to the Matrix

As we left off in my last entry, we had determined that the format was not the
(more…)Pictor PC Paint
.PIC file format as I had hypothesized. One of the first things to do is to search the Internet to see what information is already known about the format. As I mentioned in my previous post, the .PIC format used with Darklands has apparently already been documented by someone, so that is likely a good starting place. The next thing to do is to look into the files we have with a hex viewer to see if there are any common elements in the files, or anything else, that stands out. This will also allow us to see if they are similar in anyway to what has already been documented with the Darklands format. Given that Darklands was released in 1992, a few years after F15-SE2 (1989), the formats could be entirely different despite sharing the same file extension. However, even if they are different, it’s reasonable to hypothesize that the files would share the same core genetics with the latter version being more evolved version of the former. That is unless MicroProse made some radical changes along the way. So let’s take a look.
