SWOTL HomePage  SWOTL-CD Win95 HowTo
by Doug Crowe

This file was posted on the Compu$erve Flight Simulator Forum. I have converted it to HTML for easier readbility. -=DAH=- 1997-02-17
1998-03-26: See also SWOTL CD-ROM FAQ provided by Richard Muth's The SWOTL Web Site Home Page.

HOW TO RUN SWOTL FROM WIN 95

Wow! What a bummer! SWOTL CD doesn't run from WIN 95. Why?, Well MindScape appearently came up with some way out in left field method (Hah. Hah. they used documented DOS features and utilitys) to attach the CD drive to the "data disk" using APPEND.EXE. I suspect that their intention was to guarantee that the SWOTL CD was in the drive too, shades of copy protection schemes of bygone eras.

Well, being an old style hacker I decided that MindScapes answer of "No Fix" wasn't good enough for me. So I did some poking.

When SWOTL.BAT is run from the CD it calls a program called CDGAMES.EXE. I do not know exactly what it does, but it appears to create a file on the data disk (mine is C:) C:\LUCAS\SWOTL\TASK.BAT.

TASK.BAT is what actually runs SWOTL.EXE, which must be the game. The first thing TASK.BAT does is check that DOS'S error level has been set to 2. (CDGAMES.EXE must do this). This stops inquisitive morons from running the program. Before TASK.BAT runs SWOTL.EXE (with lots of arcane options) it runs APPEND.EXE 3 times. The first time is "APPEND /x" This turns APPEND on (which means DOS searches in an "append list" for data files.) Then it calls "APPEND D:\LUCAS\SWOTL\empty" where D: is my CD drive letter. This tells APPEND.EXE to search there (D:\LUCAS|SWOTL|EMPTY) for data files. (A data file is a file that a program trys to open). Check out your CD, there is an empty empty there, or is it? TASK.BAT then calls "APPEND > APPEND'S.$$$". This is supposed to put the just created list of appended directorys "D:\LUCAS\SWOTL\empty;" as a text string into a file called APPEND'S.$$$. Finally it calls the program SWOTL.EXE after checking for it's existance.

O.K, now you wonder... I legitimatly own SWOTL CD, it's in the drive, so WTH? Well, from what I can tell APPEND.EXE limps in DOS 7.0 (WIN 95). It is a TSR (Terminate and Stay Resident) program. The first time it is invoked it appears to load and do what it is told. After that any command line invocation gets you "APPEND ALREADY LOADED" (I knew that). So TASK.BAT calls APPEND /x to turn it on, THE DEFAULT STATE! and APPEND.EXE forever after says "APPEND ALREADY INSTALLED". Now I suppose that the way that APPEND.EXE works in WIN 95 isn't really MindScapes fault, is it? But every thing else with this crazy scheme sure is!

How to fix. Appearently APPEND.EXE still does what it is supposed to do, except not from the command line. I wrote a new batch file called RUNLUFT.BAT. I will explain each line, line by line.

Line 1: SETVER

This installs another great DOS TSR idea. SETVER lies to programs in its list, and tells them that the current DOS version is whatever is in SETVER's list for that particular program. SETVER.EXE is in the WINDOWS directory, and right out of the box it tells APPEND.EXE that it's 6.20. My path includes C:\WINDOWS, so I do not need to include that part.

Line 2: C:\util\append D:\LUCAS\SWOTL\empty;

C:\util is where I put my 6.20 DOS APPEND.EXE. The rest if this command is copied right from TASK.BAT. Since I cut right to the chase, and only call APPEND.EXE once, it behaves.

Line 3: copy APPEND'S.BAK *.$$$

This is what convinced me that MindScape is playing copy protection games. TASK.BAT creates a file called APPEND'S.$$$ which has the output from the command APPEND. The command APPEND is supposed to make APPEND.EXE see that it is already installed and then write out the appended directory list. Instead APPEND just says "APPEND ALREADY INSTALLED". Well the string "D:\LUCAS\SWOTL\empty;" is what is supposed to be in APPEND'S.$$$.

SWOTL.EXE erases APPEND'S.$$$, so it has to be re created every time. APPEND won't do it, so we have to. Further more, the program CDGAMES.EXE recreates TASK.BAT every time. So it looks to me like they tried to come up with some half-baked DOS method of forcing CDGAMES.EXE to run, and it appears to have some way of checking that is is on a CD drive. The bottom line is that they have forced that CD to be there.

Line 4: SWOTL V S 5 Y N Y 1008

The planes, The planes! Copied right from my task.bat. The V is VGA, I think. I have no idea what anything else is. (They relate to sound, joystick, etc. The final number is the size of the replay cache. JGF)

MY TASK.BAT (FYI it is useless in WIN 95)

 @echo off
 if not errorlevel 2 goto done
 if errorlevel 3 goto done
 C:\TEMP\append /x
 C:\TEMP\append D:\LUCAS\SWOTL\empty;
 if not exist SWOTL.EXE goto fail
 append >append's.$$$
 SWOTL.EXE V S 5 Y N Y 1008
 C:\TEMP\append ; C:
 cd \ 
 :done D:
 cd \
 goto exit :fail
 echo REDIRECTED EXEC FAILED -- "SWOTL.EXE" 
 CD="D:\LUCAS\SWOTL\empty;"
 DD="C:\LUCAS\SWOTL" 
 PD="V S 5 Y N Y 1008" 
 :exit
MY RUNLUFT.BAT (Lots simpler, after all we know it's there, don't we)
 setver
 C:\util\append D:\LUCAS\SWOTL\empty;
 copy append's.bak *.$$$
 SWOTL.EXE V S 5 Y N Y 1008
MY APPEND'S.BAK
 D:\LUCAS\SWOTL\EMPTY;
The exact steps that I took to run SWOTL.
  1. (You don't have to do it this way). I installed WIN 95 on a virgin hard drive. It had been FDISKED and FORMATED /S with DOS 6.20. It did not copy my DOS directory. I only installed enough stuff to get my CD DRIVE running under DOS 6.20. I then installed WIN 95, letting it sniff out my WIN 3.1 install disk after it couldn't find WIN 3.1 on the hard drive.
  2. (You can skip this part) 4 weeks later a friend mentioned that SWOTL, one of our favorite games didn't play under WIN 95.
  3. Installed SWOTL, told it to put every thing on the hard drive. (C: is my data disk) in SWOTL parlance.
  4. It didnt work!
  5. Messed around for a couple of nights.
  6. (You can start here) Wrote RUNLUFT.BAT in C:\LUCAS\SWOTL. Wrote APPEND'S.BAK in C:\LUCAS\SWOTL. Copied APPEND.EXE, JOIN.COM from my DOS 6.20 backup to C:\UTIL, a place in my WIN 95 path. Also copied c:\windows\subst.exe to c:\util too, but it probably isn't necessary. I think SWOTL only uses APPEND.EXE.
  7. Created a shortcut to C:\LUCAS\SWOTL\RUNLUFT.BAT. The SCREEN PROPERTY is FULL SCREEN. The program PROPERTYS are Cmd Ln: C:\LUCAS\SWOTL\RUNLUFT.BAT. Working C:\LUCAS\SWOTL. Everything else is default, auto, etc.
  8. When I double click the short cut the game starts. Not the CDSHELL that asks you about historical notes, and all that. I suppose that they are lost with this method. When I leave the game I get a message about my pop application is ready, and I can hit CNTRL-C when finished. (WOW!) I hit CNTRL C and I am back to WIN 95. (Never really left!)
  9. I am not a sophisticated SWOTL player, so I don't know if all the campaign features work, but I bet that they do. My favorite mission is shooting down ME262's as they take off!
Doug Crowe, 72411.115@compuserve.com
1997-02-24: Doug has provided me with this addenda ... latest postings closest to top. :-)

Dec 12, 1996

Here is a debug method that should aid in getting your SWOTL CD to run. The basic concept is to execute runluft.bat one line at a time, and check that the right DOS things happened.
  1. Start a MSDOS session (START > PROGRAMS > MS-DOS PROMPT), and change directorys to your SWOTL directory. (Usually lucas\swotl
  2. Type setver | more, watch for APPEND.EXE being set for what ever DOS version you got it from (like 5.0 or 6.2 ... etc.). (see 5: below to make sure setver is loading)
  3. Copy your APPEND'S.BAK to APPEND'S.$$$ - make sure the file is there.
  4. Type YOUR EXACT APPEND install line. Mine is now c:\util\append e:\lucas\swotl\empty. c:\util is where my append.exe file is; e: is the present drive letter for my CD (different from the exmples below).
  5. Type mem /c/p. You should see a list of all installed DOS drivers, etc. Append must be there. My DOS 6.20 APPEND uses 9040 bytes of conventional memory. If it isn't there then step 4 failed. Probably append.exe isn't where you think it is, or the version in setver is wrong, or setver isn't installed. Setver will show up too, if it is installed.
  6. If steps 2-5 check out, and you have all the syntax correct, then the game should play.
Type SWOTL.EXE V S 5 Y N Y 1008 and off you go! (If this doesn't work look in your task.bat and use the line with swotl.exe from there)

p.s. (Nobody has ever mentioned having a different command line)

Aug 20, 1996

Have gotten more inquirys about how to use my method.

The file that I mention APPEND'S.BAK is a file that you create. It has to mimic a file that append.exe would create if it operated properly under DOS 7.0. When the original TASK.BAT executes the line "C:\TEMP\APPEND D:\LUCAS\SWOTL\EMPTY" it is telling DOS (via APPEND.EXE) to search the D:\LUCAS\SWOTL\EMPTY for files that applications attempt to open. The "D:" in front of "\LUCAS\SWOTL\EMPTY" is the drive letter of your CD ROM Drive. When the original TASK.BAT executes the line "C:\TEMP\APPEND > APPEND'S.$$$", in previous DOS versions APPEND writes its report listing the APPENDED paths to the file APPEND'S.$$$. SWOTL looks for that file and then erases it. RUNLUFT.BAT mimics that feature of APPEND.EXE that no longer works by copying the file APPEND'S.BAK that you create to APPEND'S.$$$. You create APPEND'S.BAK with the correct path to your CD ROM DRIVE. A typical computer will have the CD ROM be the D: drive, and the path will be D:\LUCAS\SWOTL\EMPTY. This is shown in my examples, as I have a C: hard drive and a D: CD ROM drive.

Also not clear below, is how to set up SETVER. SETVER is a software patch to fool older programs that think you have the wrong version of DOS. Many programs check for the DOS version when they load. WIN '95 DOS is ver 7.0. Some programs will refuse to run. APPEND.EXE is one of them. WIN '95 automatically installs SETVER, and probably sets it up correctly. However if it isn't set up correctly SWOTL won't work. Here is how to check.

First READ CONFIG.TXT in your WINDOWS directory, about AUTO/NOAUTO. Make sure that you are in AUTO mode, or that your CONFIG.SYS explisitly loads SETVER.

Next, after you are sure that SETVER is loading; from WIN '95, START > PROGRAMS > MS DOS PROMPT then at the DOS PROMPT type setver | more (this won't work from START > RUN)

You will get a list of the files, and the version that SETVER reports to those programs. APPEND.EXE must be in the list, and with the correct version. If the version isn't correct type SETVER /? for instructions on how to fix it. Then I think you should restart WIN '95 (if you change the version in SETVER)

Now there has been some confusion about the inclusion of the semi colons at the end of some of the paths in my examples. I have tried both ways, and both work. For an update, of the latest files, that work (just played the game 5 minutes ago) I will use the power of windows to suck my present batch files into this text file.

RUNLUFT.BAT.

C:\util\append D:\LUCAS\SWOTL\empty
copy append's.bak *.$$$
SWOTL.EXE V S 5 Y N Y 1008
c:\util\append ;
APPEND'S.BAK
D:\LUCAS\SWOTL\EMPTY
Once again, good luck. Read below for previous details.

Feb 5, 1996

More feedback that the method works for others. In case it isn't clear below, APPEND.EXE is not part of the WIN '95 release. You have to use the version that came with your last version of DOS.

Jan 24, 1996

I have gotten feedback from others that my method worked for them. Just to add this comment. I set up runluft.bat to be in the same directory as SWOTL.EXE.

Jan 20, 1996

Below is a text file that I started posting in early Dec, 1995. It explains how I run the SWOTL CD ROM from within WIN 95, and my theorys on why it works. The basic concept is that the game is copy protected in a way that involves using an old DOS utility, APPEND.EXE which appears to mis-behave under DOS 7.0. However it does work well enough to play the game, if the way APPEND is used is modified. My method requires the use of the CD still, although it seems to me that that can be defeated. The text below is original, and there is an error. The line in RUNLUFT.BAT "setver" does not install setver, and does not need to be there. SETVER must be installed at boot up time. A default WIN '95 installation automatically loads SETVER. Read the file CONFIG.TXT in the WINDOWS directory for details. To see if you already have SETVER installed run a MSDOS prompt, and type SETVER. If it is installed you will get the list of programs that SETVER spoofs, and the version # that it reports. WIN '95 ships with an APPEND.EXE, but the other two files that SWOTL wants to install you will have to dig up out of your older DOS. I do not know if SWOTL uses them to install, it doesn't use them to run.

Good luck, if you try my idea, I would appreciate a report on if it works, or not. I am interested in perfecting this method, and may be able to be of further assistance. I can be reached at two INTERNET addresses,

72411.115@compuserve.com
dcrowe@telogy.com

"telogy.com" is better during the business week.


Dennette's Scale Models Virtual Water Holes HomePage Last update: 2002-02-18 by dennette@wiz-worx.com
<Who is this "Dennette" person?>