Posted January 22, 2014
Spent a while looking at the files, figured this could be used as a starting point for other people if they're interested..
Files listed as [bytes] [filename]
2654 README.BAT
1437 BINSTALL.BAT
1437 INSTALL.BAT
27 COVERT.BAT
Original game batch files for installing (and installing from B drive), launching the game and reading the readme..
9360 TSOUND.CA
6331 ISOUND.CA
672 NSOUND.CA
18207 RSOUND.CA
16333 ASOUND.CA
Sound drivers for "tandy", "ibm", "nosound", "mt-32", "adlib". Looks like x86 code, header starts with MZ (as in, dos executable). Likely loaded as overlays.
56449 CITIES.CAT
56739 FINAL3.CAT
45473 FINAL4.CAT
CAT files appear to be file libraries (kinda like doom wad, or zip), each starting off with a dictionary followed by the actual data.
The first 2 bytes is the number of records in the file, followed by a 24 byte record.
First 12 bytes of the record is the filename (8.3, padded by zero bytes). The rest appears to be 2+2+4+4 or 4+4+4 bytes, which has to include the offset for the file, and likely contains the length of the file. As for the rest, no idea (as of yet).
012345678901234567891234
filename.extAABBCCCCDDDD
DDDD appears to be the offset.
CCCC appears to be the length.
No idea what AA, BB or AABB means; possibly checksum.
CITIES.CAT contains the city pictures. FINAL3.CAT and FINAL4.CAT contain pictures for the end-of-mission holiday scenes (laundromat, beach, etc)
2756 FONTS.CV
Assuming this contains the fonts..
1968 README.DOC
The same text that is printed by README.BAT; basically release notes.
1124 WORLD0.DTA
1124 WORLD1.DTA
1124 WORLD2.DTA
City data for the three different world maps used in the game. Fixed-length records again; the three files are the same length, and start with the two 2-byte values 0x0010 0x0010.
One city record appears to be 34 bytes long. After the 16 cities, data changes to 16 organizations with a 36 byte record size.
2448 PROSE.DTA
Some of the strings used in the middle of the game, like what your CIA contact says or your boss congratulating
you for arrest, etc.
1424 CRIME0.DTA
1108 CRIME1.DTA
1560 CRIME2.DTA
1736 CRIME3.DTA
1204 CRIME4.DTA
1468 CRIME5.DTA
1336 CRIME6.DTA
1556 CRIME7.DTA
1780 CRIME8.DTA
1468 CRIME9.DTA
1380 CRIME10.DTA
1288 CRIME11.DTA
1332 CRIME12.DTA
Data for the 12 different types of crimes. The format is similar as we've seen before; leading with two 2-byte values for number of certain records, then fixed-length records of those amounts.
First records are for the participants (48 bytes each), followed by mission events? (44 bytes). The result doesn't
match the file size, apparently there's additional records related to the items in the plot (18 bytes each).
There's doesn't seem to be a 2-byte counter for the items at the beginning of the file; maybe the items were a late addition?
23357 TEXT.DTA
Lots of the game strings. Messages, bulletins, etc.
10390 EGRAPHIC.EXE
6756 MGRAPHIC.EXE
9428 CGRAPHIC.EXE
8852 TGRAPHIC.EXE
Graphics drivers, probably loaded as overlays. (MGRAPHIC looks like the "native" as it requires least code).
C)ga, T)andy, E)ga - which leaves M)cga/vga.
7325 INTRO.EXE
Intro sequence?
51575 BUG.EXE
electronics minigame
20247 CODE.EXE
code-breaking minigame
80431 TAC.EXE
break-in minigame
29813 CHASE.EXE
car-chase minigame
7761 COVERT.EXE
980 MISC.EXE
83589 GAME.EXE
80589 FINAL.EXE
Different bits of the game. No idea what the misc.exe is for, covert.exe is probably just the launcher, and game/final cover the rest of the game.
14560 BUSTOUT.PAN
11102 RESEARCH.PAN
8838 WARNING.PAN
8232 ESCAPE.PAN
15840 BUGCAR.PAN
16268 SURNDR01.PAN
14924 OFFICEM.PAN
9952 CRYPTO.PAN
18816 BRIEFING.PAN
19418 BLDING04.PAN
7718 FOLLOWED.PAN
15750 BLDING03.PAN
7476 CAPTRD01.PAN
15030 OFFICEF.PAN
16364 BLDING02.PAN
9846 TITLE2.PAN
11180 COMM.PAN
7866 HQ.PAN
16920 BLDING01.PAN
16680 INJAIL.PAN
12228 BINOS3.PAN
11402 INTRGATE.PAN
16962 CREDITS.PAN
21710 WOUNDED.PAN
PAN files are the graphics for all of the animated sequences, starting with a PANI tag which suggests they're related to some tool not specific for this game (as game data files are tagless).
All of the files appear to contain the same first 28 bytes, most likely containing stuff like resolution. The data itself
is very likely to be compressed.
The format doesn't seem to be FLI/FLC (autodesk) or ANM (deluxe paint animator) which were popular at the time..
however, some sort of RLE scheme is likely to be in use, so that only the changed parts of the image are stored. Note how the WOUNDED animation is the largest file; the animation changes a lot of screen pixels every frame.
2263 LABS.PIC
8965 AD.PIC
11252 HOTEL.PIC
7871 GUYS3.PIC
7816 GUYS2.PIC
2568 GENDER.PIC
6688 FACESF.PIC
4222 AFRICA.PIC
6106 FACES.PIC
5896 EUROPE.PIC
6594 EQUIP2.PIC
6136 EQUIP1M.PIC
6266 EQUIP1.PIC
5062 SNEAKIN.PIC
10339 SPRITES.PIC
10370 SPRITESF.PIC
10536 STREET.PIC
3128 BOARD.PIC
4148 WIRETAP.PIC
9995 CHASE.PIC
6552 CENTRAL.PIC
4207 CARS.PIC
5793 TRAINING.PIC
2043 CAMERA.PIC
2695 BUGS.PIC
917 ICONS.PIC
The PIC files are (surprisingly) pictures, which seem to be compressed. Every file starts with a 6-byte header:
AABBCC
AA - either 0x7 or 0xF, possibly format?
BB - always 320 (horiz. resolution)
CC - always 200 (vert. resolution)
The compression scheme is likely to be some rle- or lz-based one given the age of the game (zip was "heavy" back then).
I hunted down picpac.exe that microprose released along with another game of theirs, and that uses LZW for compression. The files generated by picpac don't seem to be 1:1 with the ones in SMCA though, the header is slightly different (has more bytes before the width/height fields)
Compressing the gender selection picture (mobygames->photoshop->pcx) gives similar, but not exactly the same file sizes (~2k without options, ~3k with -8 option, 2.4k with -w2, gender.pic being ~2.5k), which suggests that
the compression might be an lzw variant.
10936 CV0.SVE
Save file(s), likely a dump of the whole game state, including your career data.
28919 PLOT.TXT
Strings for the boss (de)briefings.
6614 CLUES.TXT
Strings for the clues, like "xyz has been traced to a known blackmailer."
Files listed as [bytes] [filename]
2654 README.BAT
1437 BINSTALL.BAT
1437 INSTALL.BAT
27 COVERT.BAT
Original game batch files for installing (and installing from B drive), launching the game and reading the readme..
9360 TSOUND.CA
6331 ISOUND.CA
672 NSOUND.CA
18207 RSOUND.CA
16333 ASOUND.CA
Sound drivers for "tandy", "ibm", "nosound", "mt-32", "adlib". Looks like x86 code, header starts with MZ (as in, dos executable). Likely loaded as overlays.
56449 CITIES.CAT
56739 FINAL3.CAT
45473 FINAL4.CAT
CAT files appear to be file libraries (kinda like doom wad, or zip), each starting off with a dictionary followed by the actual data.
The first 2 bytes is the number of records in the file, followed by a 24 byte record.
First 12 bytes of the record is the filename (8.3, padded by zero bytes). The rest appears to be 2+2+4+4 or 4+4+4 bytes, which has to include the offset for the file, and likely contains the length of the file. As for the rest, no idea (as of yet).
012345678901234567891234
filename.extAABBCCCCDDDD
DDDD appears to be the offset.
CCCC appears to be the length.
No idea what AA, BB or AABB means; possibly checksum.
CITIES.CAT contains the city pictures. FINAL3.CAT and FINAL4.CAT contain pictures for the end-of-mission holiday scenes (laundromat, beach, etc)
2756 FONTS.CV
Assuming this contains the fonts..
1968 README.DOC
The same text that is printed by README.BAT; basically release notes.
1124 WORLD0.DTA
1124 WORLD1.DTA
1124 WORLD2.DTA
City data for the three different world maps used in the game. Fixed-length records again; the three files are the same length, and start with the two 2-byte values 0x0010 0x0010.
One city record appears to be 34 bytes long. After the 16 cities, data changes to 16 organizations with a 36 byte record size.
2448 PROSE.DTA
Some of the strings used in the middle of the game, like what your CIA contact says or your boss congratulating
you for arrest, etc.
1424 CRIME0.DTA
1108 CRIME1.DTA
1560 CRIME2.DTA
1736 CRIME3.DTA
1204 CRIME4.DTA
1468 CRIME5.DTA
1336 CRIME6.DTA
1556 CRIME7.DTA
1780 CRIME8.DTA
1468 CRIME9.DTA
1380 CRIME10.DTA
1288 CRIME11.DTA
1332 CRIME12.DTA
Data for the 12 different types of crimes. The format is similar as we've seen before; leading with two 2-byte values for number of certain records, then fixed-length records of those amounts.
First records are for the participants (48 bytes each), followed by mission events? (44 bytes). The result doesn't
match the file size, apparently there's additional records related to the items in the plot (18 bytes each).
There's doesn't seem to be a 2-byte counter for the items at the beginning of the file; maybe the items were a late addition?
23357 TEXT.DTA
Lots of the game strings. Messages, bulletins, etc.
10390 EGRAPHIC.EXE
6756 MGRAPHIC.EXE
9428 CGRAPHIC.EXE
8852 TGRAPHIC.EXE
Graphics drivers, probably loaded as overlays. (MGRAPHIC looks like the "native" as it requires least code).
C)ga, T)andy, E)ga - which leaves M)cga/vga.
7325 INTRO.EXE
Intro sequence?
51575 BUG.EXE
electronics minigame
20247 CODE.EXE
code-breaking minigame
80431 TAC.EXE
break-in minigame
29813 CHASE.EXE
car-chase minigame
7761 COVERT.EXE
980 MISC.EXE
83589 GAME.EXE
80589 FINAL.EXE
Different bits of the game. No idea what the misc.exe is for, covert.exe is probably just the launcher, and game/final cover the rest of the game.
14560 BUSTOUT.PAN
11102 RESEARCH.PAN
8838 WARNING.PAN
8232 ESCAPE.PAN
15840 BUGCAR.PAN
16268 SURNDR01.PAN
14924 OFFICEM.PAN
9952 CRYPTO.PAN
18816 BRIEFING.PAN
19418 BLDING04.PAN
7718 FOLLOWED.PAN
15750 BLDING03.PAN
7476 CAPTRD01.PAN
15030 OFFICEF.PAN
16364 BLDING02.PAN
9846 TITLE2.PAN
11180 COMM.PAN
7866 HQ.PAN
16920 BLDING01.PAN
16680 INJAIL.PAN
12228 BINOS3.PAN
11402 INTRGATE.PAN
16962 CREDITS.PAN
21710 WOUNDED.PAN
PAN files are the graphics for all of the animated sequences, starting with a PANI tag which suggests they're related to some tool not specific for this game (as game data files are tagless).
All of the files appear to contain the same first 28 bytes, most likely containing stuff like resolution. The data itself
is very likely to be compressed.
The format doesn't seem to be FLI/FLC (autodesk) or ANM (deluxe paint animator) which were popular at the time..
however, some sort of RLE scheme is likely to be in use, so that only the changed parts of the image are stored. Note how the WOUNDED animation is the largest file; the animation changes a lot of screen pixels every frame.
2263 LABS.PIC
8965 AD.PIC
11252 HOTEL.PIC
7871 GUYS3.PIC
7816 GUYS2.PIC
2568 GENDER.PIC
6688 FACESF.PIC
4222 AFRICA.PIC
6106 FACES.PIC
5896 EUROPE.PIC
6594 EQUIP2.PIC
6136 EQUIP1M.PIC
6266 EQUIP1.PIC
5062 SNEAKIN.PIC
10339 SPRITES.PIC
10370 SPRITESF.PIC
10536 STREET.PIC
3128 BOARD.PIC
4148 WIRETAP.PIC
9995 CHASE.PIC
6552 CENTRAL.PIC
4207 CARS.PIC
5793 TRAINING.PIC
2043 CAMERA.PIC
2695 BUGS.PIC
917 ICONS.PIC
The PIC files are (surprisingly) pictures, which seem to be compressed. Every file starts with a 6-byte header:
AABBCC
AA - either 0x7 or 0xF, possibly format?
BB - always 320 (horiz. resolution)
CC - always 200 (vert. resolution)
The compression scheme is likely to be some rle- or lz-based one given the age of the game (zip was "heavy" back then).
I hunted down picpac.exe that microprose released along with another game of theirs, and that uses LZW for compression. The files generated by picpac don't seem to be 1:1 with the ones in SMCA though, the header is slightly different (has more bytes before the width/height fields)
Compressing the gender selection picture (mobygames->photoshop->pcx) gives similar, but not exactly the same file sizes (~2k without options, ~3k with -8 option, 2.4k with -w2, gender.pic being ~2.5k), which suggests that
the compression might be an lzw variant.
10936 CV0.SVE
Save file(s), likely a dump of the whole game state, including your career data.
28919 PLOT.TXT
Strings for the boss (de)briefings.
6614 CLUES.TXT
Strings for the clues, like "xyz has been traced to a known blackmailer."
Post edited January 22, 2014 by Sol_HSA