2011-09-25

The 7th Guest (DOS) in Windows XP

Having recently received a copy of The 7th Guest from a relative cleaning out their attic, I've finally found time to give it a try. Now back in the day, this game had a serious reputation as being absolutely terrifying, so I've no idea what to expect. It's funny how the era of FMV completely ran out of steam. Was it the sheer cost of filming? The materials costs (I remember playing Wing Commander IV on 6 CDs, which seemed like madness at the time). Lack of interest? In any event, it's a little ironic that now that we're approaching photo-realistic in-game rendering, we seem to be going back to cinema-styles as a means of story-telling for games.

So my initial problem is going to be getting it to run in Windows XP. I have a copy of Windows 7 on my desktop, but my trusty laptop still runs WinXP (it has a Vista licence on the back, but lets not go there ... ). Looks as though it's fully supported by DOSBox, which is helpful; an abortive attempt to run the installer using cmd.exe got me errors due to having too many partitions, and my CD drive not being D:. For convenience, I've ripped the CDs to .isos, since I've no interest in carrying them around.

It's kind of funny going back to 1993-era BBSes (mirrors, obviously) looking for patches, seeing FILE_ID.DIZ and the like. There are a few guides to getting this game to work in WinXP, but I wanted to chip in my own experience.

It looks as though the game was patched a few times, and there are three initial "graphics" patches, and other "version" patches. First off, the graphics patches, distributed separately as: T7GF3A.zip, T7GF3B.zipand later combined into T7GFIX3.zip.

Perhaps T7GFA and B were released separately, but I don't have those details. What's important though is to figure out what's actually required for a fully-patched install of the game.

Conclusion: You do not need T7GF3A.zip or T7GF3B.zip, which some other sites seem to think should be installed before the T7GFIX3 contents. The only major difference is save.z, but this is probably also in the 1.30 patcher. You should still install the contents of T7GFIX3.zip.

To do the comparison yourself, do the following (but it's not necessary)
$ for i in T7GFIX3 T7GF3A T7GF3B ; do 
  mkdir -p $i ; cd $i ; unzip ../$i ; cd .. ; 
done
You might notice that both T7GF3A.zip and T7GF3B.zip contain versions of INSTALL.EXE and V.EXE, but a quick Simple File Verification with your tool of choice will tell you that they're the same.
$ cksfv T7GF3*/INSTALL.EXE T7GF3*/V.EXE
; Generated by cksfv v1.3.14 on 2011-09-25 at 12:49.16
; Project web site: http://www.iki.fi/shd/foss/cksfv/
;
;        23473  14:19.44 1993-08-10 T7GF3A/V.EXE
;        23473  14:19.44 1993-08-10 T7GF3B/V.EXE
;        43704  18:55.52 1993-07-23 T7GF3A/INSTALL.EXE
;        43704  18:55.52 1993-07-23 T7GF3B/INSTALL.EXE
T7GF3A/V.EXE 8E727A9E
T7GF3B/V.EXE 8E727A9E
T7GF3A/INSTALL.EXE 4033D8EE
T7GF3B/INSTALL.EXE 4033D8EE
Now let's see if there's any difference between the combined patches and the released combined version.
$ diff -r T7GF3combo T7GFIX3
Only in T7GF3combo/: README.TXT
Only in T7GF3combo/: READTHIS.NOW
Only in T7GF3combo/: SAVE.Z
Only in T7GF3combo/: T7G.BAT
Only in T7GF3combo/: T7GDEMO.BAT
Only in T7GFIX3/: T7GFIX3.TXT
Files T7GF3combo//V.EXE and T7GFIX3//V.EXE differ
So lets take a look at the differences. README.TXT is a copy of the original Readme which shipped with the game, and READTHIS.NOW is an advert for the BBS which must have hosted the files at some point. (If you haven't seen the excellent BBS: The Documentary, then go and get hold of a copy and learn something new about internet history. I'll put a copy of the BBS advert at the bottom of this post.

T7GFIX3.TXT announces a new version of V.EXE which "only requires 450K of memory". We'll bear this in mind later.

So that leaves the batch files, which contain:
$ cat T7GF3combo/T7G.BAT
@v !
$ cat T7GF3combo/T7GDEMO.BAT
@v @

So they both call v.exe, one passing arguments, the other dropping them(? I'm not going to spend any time looking up what they actually do, I have no interest in learning Dos / Batch )
On to SAVE.Z, which only exists in the separate version of the patching. I don't know what its function is. I know that later patches enable "Open House" mode, which allows access to all the puzzles but without the Adventure aspect of the game. Perhaps this is an early release of this, that they left out of the combined patch(?) Here are the contents:
$ hexedit T7GF3combo/SAVE.Z # for lack of a better tool
$ # (copy and paste the contents ...)
00000000   11 12 1F 22  24 15 14 10  17 11 1D 15  F4 00 00 00  00 00 00 00  00 00 00 00  ..."$........
... which doesn't mean much to me.
This leaves two versions of V.EXE, on top of the one installed direct from the CD. For reference, I'll include the output of my VERSION.BAT which, if it does what it claims, is a pretty nifty idea that many other games could have done with (I may also update the article with details of the post-patch install's version of v.exe).
$ cmd
C:\Games\7thguest> version
WELCOME TO THE 7TH GUEST
European Version 1.2
C:\Games\7thguest> exit
$ cksfv /cygdrive/c/Games/7thguest/V.EXE T7GF3combo/V.EXE T7GFIX3/V.EXE
; Generated by cksfv v1.3.14 on 2011-09-25 at 14:15.27
; Project web site: http://www.iki.fi/shd/foss/cksfv/
;
;        21473  16:55.28 1993-05-20 /cygdrive/c/Games/7thguest/V.EXE
;        23473  12:45.34 2011-09-25 T7GF3combo/V.EXE
;        23425  14:44.28 1993-07-21 T7GFIX3/V.EXE
/cygdrive/c/Games/7thguest/V.EXE C7D27409
T7GF3combo/V.EXE 8E727A9E
T7GFIX3/V.EXE 6FD2868B
$ ls -la  /cygdrive/c/Games/7thguest/V.EXE T7GF3A/V.EXE T7GF3B/V.EXE T7GFIX3/V.EXE
-rwxrwxrwx 1 broadhej None 21473 May 20  1993 /cygdrive/c/Games/7thguest/V.EXE
-rw-r--r-- 1 broadhej None 23473 Aug 10  1993 T7GF3A/V.EXE
-rw-r--r-- 1 broadhej None 23473 Aug 10  1993 T7GF3B/V.EXE
-rw-r--r-- 1 broadhej None 23425 Jul 21  1993 T7GFIX3/V.EXE
So the separately packaged patch actually has a different binary, with the combined patch having the newer version.
So there we have it -- the only effective difference between installing the separate patches first, and then the later release is that you end up with Save.z. I don't know what it does, but I'm willing to guess that it's Open House mode which the later 1.30 patch will install anyway.

Here's the ad for the BBS.
$ cat T7GF3combo/READTHIS.NOW
   ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
   º P-80 Has been online full      ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
   º      time since HALLOWEEN      º  !!! P-80 SYSTEMS !!! º
   º      ---------1980--------     º       ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
   º      _____________________     º       º If you would like to order   º
   º      110 Baud Through 57,600   º       º THE HACKER CHRONICLES CD or  º
   º      U.S. Robotics Courrier    ÌÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍ» you would like to  º
   º      Multiline HST/Dual/V.all  º Data:50000+Filesº Join the P-80 BBS! º
   º                                º                 º                    º
   º      24 Hrs US. Eastern Time   º  Fun For All    º Call:              º
   º      All Files=Virus Prescan   º  All For Fun.   º 304-744-2253 BBS   º
   ÈÍÍËÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ                 º                    º
      º Call today º  * * * * * * * * * * * * * * * * º                    º
      º and take a º  Multi Laser Disk system with a  ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍͼ
      º trip with  º  combined logical storage of overº We are one of  º
      º   out a    º  15,000 Megabytes (15 Gigabytes) º the first ten  º
      º  suitcase  ÈÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍͼ BBS's in the   º
      º                      º             º U.S. to go online. ^*^    º
      º Fax on Dial-Back!    º             º Sysop: Scan Man    \_/    º
      ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ             ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ