Ouch my eye!

Do not look at LASER with remaining eye!


Reverse Engineering

Posts related to my various reverse engineering endeavours



  • A glitch in the timeline

    Once again it appears we need to realign the naming of our PIC file formats. Luckily it’s only a small one this time around, and with it we also add a new title, or rather a port of a title to our list. This is the first time we’ve added a non PC title that supports the PIC format, though I do believe it has been used on other platforms as well. This all happened a couple of days ago so here’s how it went down.

    (more…)
  • 2-for-1 special, with a spicy side

    As summer comes to an end, it’s time to get back in the seat and start reverse engineering again. While we still have some unfinished business with several formats, I thought I’d kick things off with a new one to get back in the groove of things. This one being the CDF file format used by MicroProse with a few of their games. Now unlike many of the other formats we have looked at so far, there are tools already out in the wild for manipulating these files. Most notably those made by Paulo Morais which I’ve seen mentioned and linked to on several EAW (European Air War) themed forums. Unfortunately only the binaries seem to exist, and there is no documentation I’ve been able to find that details the format, this post will hopefully change that.

    (more…)
  • Loose ends

    Well now that the RAID data has been recovered, and a new one is up and running, we can get back to some of the regular programming around these parts. Seems with my ADD and jumping around between a number of different formats, though mostly all from MicroProse, I’ve left some loose ends of unfinished work. I think it’s time we start wrapping up those loose ends, especially with regards to the MicroProse PIC file format. This post is mostly intended as a recap of what we’ve covered so far, to see what is still outstanding.

    (more…)
  • Running on empty

    In my last post we left of having successfully decoded the PAK and EGA image formats used by Electronic Arts with 688 Attack Sub. In this post we will reverse the process allowing us to convert an input image into the format. This post will mostly concentrate on the EGA image format, as there really isn’t anything to do with the PAK image format as it was just raw image data. The EGA format is more interesting in that it uses a form of RLE compression we had not seen until this point with the formats we’ve looked at so far.

    (more…)
  • Attack of the subs

    A little diversion while I wait for parts to arrive for my RAID data recovery and rebuild. Fingers crossed we don’t end up in a whole series of reverse engineering the Drobo BeyondRaid Filesystem format. (Though that could be fun for sport, AFTER I’m back up and running) Today’s target comes as another request. This time it’s 688 Attack Sub from Electronic Arts. Looks like there are a couple of different image asset files, PAK (and an accompanying PAL file), and EGA. So let’s dig in and see how far we get.

    (more…)
  • Just when I thought I was out, they pull me back in

    After wrapping up with the SSI-IMG format yesterday, I’ve been struggling to come up with what to blog about next. My brain isn’t quite ready to jump back into the PIC format. Then I got a message…

    any chance of this amiga “.img” getting converted with your tool?

    Would love to extract the bitmap of this splash screen.

    And so the adventure begins. Just when I thought I was done with the SSI-IMG format.

    (more…)
  • The space between

    I couldn’t let it go, or at least my brain couldn’t. After decoding the SSI-IMG file format for the EGA/VGA assets I had planned to leave it at that. The dark corners of my brain, however, decided that I was going to have to decode the CGA variant as well. As a result this post will be about diving into the CGA framebuffer, and applying it to what we see in the CGA version of the IMG file format.

    (more…)
  • Thunderbolts and Lightning

    At the request of one of my readers here, I was asked to look at another graphics asset format. This time it’s the IMG format used by Strategic Simulations, Inc. (SSI) with their 1989 release of Red Lightning. I honestly don’t know much about this game, and all I have really is the one asset file that was sent for me to look at. The goal here is to be able to read and write this format, to facilitate modding of the game. With that said, let’s see what we can find out, and help make it happen for our reader.

    (more…)
  • A new sub in the barn

    Well looks like the break from the PIC file format didn’t last long. My last post we were wrapping up with the decoding of the MicroProse CAT file format when we stumbled upon what appears to be a previously unseen sub-type of the PIC89 variant of the PIC file format. I had actually suspected that this sub-type might exist, back when we were exploring the PIC89 variant (then referred to as PIC90 for reasons covered here), but had no assets to support that theory until now. Lets dig in and see what this mystery sub-type holds for us.

    (more…)
  • The CAT is out of the bag

    After practically melting my brain figuring out the LZSS compressor over the past several days, it’s time to take a break from the PIC file format for a post or two, and focus in on another file format from MicroProse. Namely the CAT file, found with games such as Silent Service II. The file seems to be some sort of archive that contains other asset files within. Lets dig in and tear it apart to see what we can learn from it.

    (more…)