I’ve interrupting my planned post to make this one, as this potentially has an effect on that post. Yesterday after my post about additional titles went live, one of my readers, who wishes to remain anonymous, gifted me with a substantial array of PIC game assets for various MicroProse titles (spanning 1988-1994) to help me further catalogue which games use which variants, and to identify any more variants or sub-variants. To that reader I say thank you, what you provided is sure to be helpful, as we are about to find out.
The hoard
While I already had several of the titles, which we have covered, many of the titles in the collection I did not have. Our friend specifically extracted PIC, SPR, and PAL files as we have identified those to be PIC, or PIC related. A few of the titles did n0t have their file dates preserved, so for those I’ve used the release date.
F-14 Fleet Defender – 1994(already covered)F-15 Strike Eagle II – 1989(already covered)F-15 Strike Eagle III – 1992(already covered)F-19 Stealth Fighter – 1988(already covered)F-117A Stealth Fighter – 1991(already covered)- Fields of Glory – 1993
- Gunship 2000 – 1991
- Hyperspeed – 1990
- Knights of the Sky – 1990 (release date)
- Lightspeed – 1990
- Pirates! Gold – 1993 (release date)
Sid Meier’s Civilization – 1991(already covered)- Sid Meier’s Colonization – 1994
- Sid Meier’s Covert Action – 1990
Sid Meier’s Railroad Tycoon – 1990(already covered)Silent Service II – 1990(already covered)- Special Forces – 1992
- Sword of the Samurai – 1989 (release date)
- Magic: The Gathering – 1997 (release date)
As with the previous times, we will go through the titles in chronological order. Though we will only cover off on the ones we have not discussed already.
Sword of the Samurai (1989)
This title is a little odd in the sense that it was released in 1989, and has only a single PIC file exposed, though the title has several CAT files, and I imagine other graphics assets are enclosed there. The format for the one file we see is actually our PIC90 format, which is a year earlier than we originally logged this variant at. So we may need to consider renaming PIC90 to PIC89 to reflect this earlier release date. Also interesting is that the one exposed PIC file is actually dated 1980, 2 years before MicroProse officially existed!

-rw-r--r-- 6351 28 Feb 1980 ICONS.PIC
'ICONS.PIC': PIC90: Type: f Image: 320x200 0x0b: max-bits: 11
Knights of the Sky (1990)

Knights brings another twist to our naming. It is clearly using our PIC91 format, but the release date was in 1990, again a yer before we have seen it. Unfortunately this archive does not hold the original dates, and searching online, the dates were of the archival time, and not the original files. So we may see a whole shift in our naming, pushing both the ’90 and ’91 variants to a year earlier. Also notable is the two unknown block types, though we have seen E0 before, and have a good idea what it may be. C0 is new, and I have not had a chance to look at it yet. though based on size, perhaps similar in function to E0.
'MAPB.PIC': PIC91:
Palette: Start: 0 End 255 (Len: 770)
Unknown: 'E0' (Len: 258)
Unknown: 'C0' (Len: 258)
Image: 320x200 0x0b: max-bits: 11 (Len: 1210)
Sid Meier’s Covert Action (May 1990)
Covert Action falls back into the pattern we had previously established, no real surprises here. The files all appear to be the PIC90 variant, mostly with the Type F data, that we figured out in my last post.

'WIRETAP.PIC': PIC90: Type: f Image: 320x200 0x0b: max-bits: 11
'BOARD.PIC': PIC90: Type: 7 Image: 320x200 0x0b: max-bits: 11
Hyperspeed (Jul 1990)

With Hyperspeed we have another title using a format ahead of it’s time, or rather when we have dated the format to. Hyperspeed is using the PIC91 variant. Clearly we will need to revisit our naming of the variants, as this is no longer an isolated case. One exception here is PLANETB.PIC, it fails to identify, so we will need to take a closer look.
'GRIMEGA.PIC': PIC91:
Palette: Start: 0 End 255 (Len: 770)
Unknown: 'E0' (Len: 258)
Unknown: 'C0' (Len: 258)
Image: 320x200 Packed 0x0b: max-bits: 11 (Len: 7170)
'PLANETB.PIC': PIC??: 7f 8a 4d 30 02 03 00 ff 00 ff 2a 00 a6 fe fd ff · · M 0 · · · · · · * · · · · ·
Taking a look at PLANETB, we can see that it should be a PIC91 file, if the M0 were in the first 2 bytes. some how some extra data has been inserted, corrupting the file. Upon further inspection we find that there are bytes missing in the palette block before the X0 image block. Clearly this is not a new variant, but rather a corrupted file.
File: PLANETB.PIC [1488 bytes]
Offset x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF Decoded Text
0000000x: 7F 8A 4D 30 02 03 00 FF 00 FF 2A 00 A6 FE FD FF · · M 0 · · · · · · * · · · · ·
0000001x: F3 FC 15 F5 14 01 15 FF 3F FE FD 18 31 FF F6 F9 · · · · · · · · ? · · · 1 · · ·
0000002x: FC 2E FC 7F FD 2A 3A 3A 27 36 36 24 32 32 21 2E · . · · · * : : ' 6 6 $ 2 2 ! .
0000003x: 2E 1E F8 FF D6 1C 26 25 18 21 21 15 1D 1D 12 19 . · · · · · & % · ! ! · · · · ·
Replacing the image with one from a clean disk image we get what we would expect, and identical to what is in Lightspeed for the same file. Comparing with the above, we can clearly see the palette data was pretty messed up.
File: PLANETB.PIC [1937 bytes]
Offset x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF Decoded Text
0000000x: 4D 30 02 03 00 FF 00 00 00 00 00 2A 00 2A 00 00 M 0 · · · · · · · · · * · * · ·
0000001x: 2A 2A 2A 00 00 00 00 00 2A 15 00 2A 2A 2A 15 15 * * * · · · · · * · · * * * · ·
0000002x: 15 15 15 3F 15 3F 15 15 3F 3F 3F 15 15 3F 15 3F · · · ? · ? · · ? ? ? · · ? · ?
0000003x: 3F 3F 15 3F 3F 3F 2E 3F 3F 2A 3A 3A 27 36 36 24 ? ? · ? ? ? . ? ? * : : ' 6 6 $
Analyzing: 'PLANETB.PIC': PIC91:
Palette: Start: 0 End 255 (Len: 770)
Unknown: 'E0' (Len: 258)
Unknown: 'C0' (Len: 258)
Image: 320x200 0x0b: max-bits: 11 (Len: 635)
Much better.
Lightspeed (Jul 1990)
Lightspeed appears to share mostly the same assets as Hyperspeed, clearly this was a 2 for 1 deal at MicroProse, as they were being developed in tandem. Regardless, just like its sibling, Lightspeed uses the PIC91 format, a year earlier than we initially thought this variant to exist. Otherwise we have nothing we haven’t already catalogued here.

'GRIMEGA.PIC': PIC91:
Palette: Start: 0 End 255 (Len: 770)
Unknown: 'E0' (Len: 258)
Unknown: 'C0' (Len: 258)
Image: 320x200 Packed 0x0b: max-bits: 11 (Len: 7170)
Gunship 2000 (Sep 1991)

Gunship is interesting in that it uses the old PIC88 format of the PIC file, despite being released in 1991, a full 2 evolutions later of the file format in time. I’m guessing that the game is based on an older engine, and they didn’t want to rewrite it to support the updated format. But otherwise there are no surprises here with this title.
Analyzing: 'APA_CPIT.PIC': PIC88: 0xf5: max-bits: 11, unpacked
Analyzing: 'KIA_CPIT.PIC': PIC88: 0xf5: max-bits: 11, unpacked
Special Forces (Feb 1992)
The PIC files here don’t seem to match anything we’ve seen so far. Looking deeper into it, the game was developed for MicroProse by “Sleepless Knights” and so I don’t think the PIC files are related to the MicroProse ones, despite having the PIC extension. Upon inspection I see no commonality with any of the variants we’ve looked at so far. So I presume this is a Sleepless Knights PIC file Format, and not the MicroProse one.

'JUNG.PIC': PIC??: c4 8a 80 4a 71 08 c3 03 54 41 12 0b c2 00 45 40 · · · J q · · · T A · · · · E @
'IND.PIC': PIC??: 4a 1f 40 0d bf f2 a3 f6 01 e0 fe 1f c9 86 49 82 J · @ · · · · · · · · · · · I ·
'ARCT.PIC': PIC??: 92 45 6d c5 94 20 75 a8 1c 22 1d 6a 13 20 8c dc · E m · · u · · " · j · · ·
'DES.PIC': PIC88: 0xf7: max-bits: 9, unpacked
The Pic88 identification above is a false positive. After looking into the files I see no commonality with anything we’ve looked at so far, or even amongst the four files we have here. The file appears to be a headerless compressed blob. I may come back later to try and figure these ones out, but for now will chalk them up as not part of the MicroProse PIC lineage, as this is the only title with this “format” we’ve seen so far.
File: DES.PIC [18528 bytes]
Offset x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF Decoded Text
0000000x: F7 DF 18 C2 3D 06 F6 14 52 1F 78 60 91 92 98 74 · · · · = · · · R · x ` · · · t
0000001x: FE 9B 41 6F BF B4 00 34 96 0C FE 23 88 85 50 7F · · A o · · · 4 · · · # · · P ·
0000002x: 04 9B 06 0F 9F 08 D8 FF 61 7F D8 39 25 4B BF 9F · · · · · · · · a · · 9 % K · ·
0000003x: 8B 0B 9A 0C 02 6A 0F FA 3E 0A 80 DB C1 00 9A 84 · · · · · j · · > · · · · · · ·
Fields of Glory (Jun 1993)

Fields of Glory does not appear to be a part of the PIC format lineage either, despite using the SPR extensions for files holding sprites. From below we can clearly see that these SPR are proper sprite files, with a “SPRT” header identity tag. So at this stage in evolution sprites are not just a renamed image file, but their own entity. We don’t see any PIC files with this title, so remains to be seen what the base image asset type is. For now we won’t consider Fields of Glory to be part of the PIC file history.
'HISCORF.SPR': PIC??: 53 50 52 54 09 00 01 11 00 4d 00 00 00 23 0e 00 S P R T · · · · · M · · · # · ·
'BATTINF2.SPR': PIC??: 53 50 52 54 09 00 01 0f 00 45 00 00 00 1d 06 00 S P R T · · · · · E · · · · · ·
'BATTINF3.SPR': PIC??: 53 50 52 54 09 00 01 0f 00 45 00 00 00 b7 06 00 S P R T · · · · · E · · · · · ·
'HISCORG.SPR': PIC??: 53 50 52 54 09 00 01 11 00 4d 00 00 00 23 0e 00 S P R T · · · · · M · · · # · ·
Pirates! Gold (1993)
Pirates appears to clearly mark a departure from the PIC file format. With Pirates ZSoft PCX files are used for the main image assets, and can be opened and edited with tools like Gimp directly. The SPR files also appear to be unrelated to PIC, and likely are related to PCX somehow.

'BUYSLL1F.SPR': PIC90: Type: 6 Image: 4722x8572 0x8c: max-bits: 140
'BIGMED.SPR': PIC90: Type: 2 Image: 132x211 (Unknown Subtype)
'BUYSLL1G.SPR': PIC90: Type: 6 Image: 4702x8466 0x8c: max-bits: 140
'SHIP0.SPR': PIC??: 20 00 00 02 dc 03 7a 06 16 09 b8 0b 42 0e 52 10 · · · · · z · · · · · B · R ·
'LILFLGS.SPR': PIC90: Type: 8 Image: 11722x25370 (Unknown Subtype)
Clearly the identifications above are false, and the input is producing garbage interpretations of the data. This is understandable as our detection patterns are quite weak, especially for PIC90 and PIC88, both of which show up as false positives with Pirates. Looking at one of the files a bit closer, we can see that the data is quite ordered, but clearly not PIC, I suspect this to be some subtype of ZSoft PCX, as the remainder of the image assets are ZSoft PCX. In fact there are a number of batch files included with the game that seem to be related to converting and dithering the PCX assets to lower colour depths, including the SPR files, using the same PCX tools, so likely this SPR type is a PCX file, or variant.
File: BUYSLL1F.SPR [12442 bytes]
Offset x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF Decoded Text
0000000x: 06 00 72 12 7C 21 8C 00 30 00 0D 00 70 00 08 00 · · r · | ! · · 0 · · · p · · ·
0000001x: 0B 06 0B 0B 0B 0B 0B 0F 1C 02 0A 00 06 06 0F 0F · · · · · · · · · · · · · · · ·
0000002x: 0F 0F 0F 0F 0F 07 51 00 0A 00 06 0F 0F 0F 0F 0F · · · · · · Q · · · · · · · · ·
0000003x: 0F 06 06 07 1A 02 0C 00 0B 0F 0F 0F 0F 0F 0F 0F · · · · · · · · · · · · · · · ·
So I will discard these as not being of interest for this exercise.
Sid Meier’s Colonization (Aug 1994)

This is another title we can discard, for now, as all the data files appear to be in this “MADSPACK 2.0” format. There are no exposed PIC files, but there are PIK files, in the aforementioned format. We would need to unpack the MADSPACK format to see if there are any traditional PIC files within, but I suspect given the era of this title, MicroProse have moved away from their proprietary PIC format in favour of encapsulating commercial formats, like PCX, within a proprietary container format.
File: CCBKGD.PIK [17840 bytes]
Offset x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF Decoded Text
0000000x: 4D 41 44 53 50 41 43 4B 20 32 2E 30 1A 00 03 00 M A D S P A C K 2 . 0 · · · ·
0000001x: 01 C3 08 00 00 00 11 00 00 00 01 C3 00 FA 00 00 · · · · · · · · · · · · · · · ·
0000002x: 02 42 00 00 01 C3 00 03 00 00 ED 02 00 00 8B D9 · B · · · · · · · · · · · · · ·
0000003x: 26 C7 47 1E 0C 00 26 C7 47 22 0D 00 8B 46 0C 26 & · G · · · & · G " · · · F · &
The reason Colonization is included in the list here, is because in the collection I was given there is a single PAL file included. However, I have not been able to trace this file back to the game, as I don’t see it on another install set I found. Quite possibly an errant file in the archive. The PAL file is just palette data with no other identifying information, the only oddity is it is 1024 bytes in size and not 768 bytes, but does not appear to be an ARGB arrangement. The additional 256 bytes appear after the RGB palette data as a single block, and look to be some sort of flags marker or something, with the values being 05 or 00. The 05 seems to appear in most positions where the palette entries have been set.
Magic: The Gathering (1997)
Magic The gathering, or as commonly referred to as Shandalar, is an odd entry here. It was not part of the collection sent to me. Nor have I found any official install images to work from. Instead I found an “abandonware” repo that contained the game and assets. And curiously source code, not sure if this was an abandoned reverse engineering effort, or if the game’s source was publicly released at some point. The PIC assets found appear to use the PIC91 format.

'Art.pic': PIC91:
Palette: Start: 0 End 255 (Len: 770)
Image: 320x200 0x0b: max-bits: 11
So where does that leave us now? Well for starters, it means we need to rename our PIC90 & PIC91 formats to PIC89 & PIC90 respectively, which will be a little confusing at first. Not sure how to handle this with my historical posts just yet, but will likely add a quick note block at the top. We also have a couple of new block types in our PIC91 (now PIC90) format that will need to be explored. Given the change to the naming, I think I’ll make that my next post to tabulate the formats and the games that use them all in one place, while providing the new designations. Then we will return to our regular programming and flesh out the remaining unknown bits of PIC91. (now PIC90)
This post is part of a series of posts surrounding my reverse engineering efforts of the PIC file format that MicroProse used with their games. Specifically F-15 Strike Eagle II (Though I plan to trace the format through other titles to see if and how it changes). To read my other posts on this topic you can use this link to my archive page for the PIC File Format which will contain all my posts to date on the subject.

Leave a comment