by Home Fries
While this wiki primarily covers Total Air War, we would be remiss in not addressing EF2000, the predecessor of F-22 ADF/TAW. This article will briefly touch on some of the different versions of EF2000, then discuss how to get EF2000 to run on a current Windows system.
The Different Versions of EF2000 v2.0
Without going into too much history, EF2000 was originally written in DOS for the high end 486 and the Pentium I processor. Following the initial release, enhancements to the original package were released in Europe (including Super EF2000, which was designed for Windows 95). In 1997, DID released EF2000 v2.0 in the USA, which was a package that included the European enhancements integrated onto one CD.
Unfortunately, the enhancements were not integrated into the same install. There are four versions of EF2000 v2.0 on the CD:
- DOS Version with graphics enhanced for the Rendition chipset
- DOS Version with graphics enhanced for the 3DFX chipset
- Windows 95 version that was unaccelerated (Directdraw only)
- DOS Version without graphics enhancements (TACTCOM)
Of these versions, only the Windows 95 version is independently compatible with a modern (XP or later) Windows operating system.
EF2000 v2.0 uses a 16 bit Windows Installer for the Windows 95 and 3DFX/Rendition versions of EF2000. Since it is a 16 bit installer, it is incompatible with 64 bit versions of Windows.
If you have a 64 bit version of Windows, be sure to read Installing DID Games on 64 bit Windows for further details.
Note that TACTCOM uses a DOS installer and can be installed to your PC from within DOSBox.
The Ideal Solution: EF2000 Reloaded
Developments of late have made it possible to run the 3DFX version of EF2000 in DOSBox. The solution is packaged as EF2000 Reloaded, and includes a front end for configuring and launching your DOSBox sessions. The EF2000 Reloaded version of DOSBox is specially coded for EF2000. It emulates the 3DFX chipset and renders the image in OpenGL, thereby allowing 3DFX graphics quality, windows controllers, IPX emulation over TCP/IP, and OS compatibility, currently supporting most desktop resolutions. Additionally, TrackIR users can enable the VFX1 headset in EF2000 in order to enable head tracking in the game using Enhanced mode! Finally, any required CPU slowdown is integrated into DOSBox itself, so there is no need to use an external slowdown solution. This also means that you get smooth play in 64 bit Windows without expending any appreciable effort.
You must have the following options set in your DOSBox Conf file (either the master file or userconf file):
[sdl] fullscreen=false fulldouble=false output=opengl [dosbox] memsize=48 scaler=none [pci] voodoo=opengl [mixer] rate=22050 [sblaster] oplrate=22050 [speaker] pcrate=22050 tandyrate=22050 [joystick] joysticktype=ch timed=false swap34=true buttonwrap=false [ipx] ipx=true
You can change your windows resolution, output or voodoo settings if need be, and you can even change the rate settings to 44100 instead of 22050. However, the rate set to 44100 is known to cause stuttering issues, especially when zoomed into a MFD, and there is no appreciable loss in sound quality by assigning the rates to 22050.
The joystick settings assume 4 axes with a hat switch. IPX is set to true by default because the IPXNET tunneling routine in DOSBox works quite well for EF2000 multiplayer sessions.
The Purist's Solution: EF2000, 3DFX and Windows 98
It has been a popular option for EF2000 purists to maintain a legacy PC with Windows 98 and a Voodoo 1 card running the 3DFX enhanced version of EF2000 for the best graphics. However, this solution is quite narrow in tolerance for deviation. Windows ME does not provide the pure DOS environment required to run the program, and any later operating system runs only in protected mode. Since EF2000 for 3DFX was not written using the Glide API, but instead makes calls directly to the 3DFX hardware, it cannot be run in protected mode, nor can a Glide wrapper be used in lieu of a Voodoo card.
For owners of a Voodoo 2 card, the following must be added to the autoexec.bat file of your EF2000 profile:
set SST_GRXCLK=90 set SST_FT_CLK_DEL=0x4 set SST_TF0_CLK_DEL=0x6 set SST_TF1_CLK_DEL=0x6 set SST_VIN_CLKDEL=0x1 set SST_VOUT_CLKDEL=0x0 set SST_TMUMEM_SIZE=2
The other potential pitfall is that not only must your controller hardware be gameport compatible, but the controller must be analog as well. The original F-16/F-22 FLCS/TQS will suffice, but FLCS/TQS owners with Bob Church's digital chipset will find themselves out of luck.
The Alternate Solution: EF2000 v2.0 for Windows 95 (aka Super EF2000)
While there is unfortunately no 3D acceleration with the Win95 version, one nice feature that this version has that the DOS versions lack is the native TCP/IP multiplayer ability. Likewise, this version of EF2000 can handle USB/digital controllers and runs smoothly in protected mode, so it's the solution of choice for people who don't wish to use DOSBox.
EF2000 will run well in Windows XP or later, though it is recommended that MIDI music be disabled. Enabling the music will not cause a crash, but may cause a procedural error/dialog box while in-game.
Getting EF2000 v2.0 for Windows 95 to work on a modern PC
While running the 3DFX version of EF2000 in DOSBox is by far the ideal solution, some of us may need to use the Windows 95 version instead. Of course, there are some headaches along the way as well (as would be expected, or else there would be no need for this article). That said, every headache is surmountable, although 64 bit users may be well advised to create a dual boot system with a 32 bit OS as well.
Given EF2000's age, it will run too fast on a modern system unless it is slowed down somehow. This section will discuss options.
For 64 bit systems, there is only one option I have found thus far, and that is the Advanced Game Loader (AGL) (can be downloaded at the top of the linked page). AGL will slow down the individual process, as opposed to the PC as a whole, so it will work with 64 bit systems. Unfortunately, the slowdown feature is not as efficient as the other options in this section, and my test results showed that the program only ran smoothly when the game ran at 1.25x normal speed. Dropping the speed to 1x (e.g. 1 second of game time in 1 second of real time) resulted in choppy gameplay.
For 32 bit systems, there are a plethora of slowdown utilities available. Turbo and [WinThrottle] are two utilities that readily come to mind, though I prefer WinThrottle because its command line parameters make it useful in a batch file. Additionally, WinThrottle is included with F-22 Total Air War 2.0 (see the !ADP folder), so if you already have TAW 2.0, you need not look any further.
The following is an example of how to use WinThrottle in a batch file for launching EF2000 for Win95:
"c:\Program Files\winThrottle\winThrottle.exe" 15 cd\DiD\EF2000\PROGRAM C:\Windows\System32\cmd.exe /C start superw pause "c:\Program Files\winThrottle\winThrottle.exe" 0
Note that I did not use the /wait parameter on the cmd.exe line, and I used the pause command on the following line. This is because superw.exe actually runs the superw.dat file (much like TAW's _f22.exe runs f22.dat), so the /wait parameter would be satisfied as soon as superw.dat loaded and superw.exe unloaded. The pause command forces you to manually reset your CPU throttle after exiting the program.
Fine Tuning Your Results (The Stopwatch Method)
Your first order of business is to find an approximate slowdown value for your system (I have found 13-15 in WinThrottle to work well on a Q6600 processor). This will be the point where the game is playable without being a slideshow. Some things might happen a bit too fast (such as panning with the hatswitch, or explosion animations), but overall the game will be smooth and controllable. This is your starting point!
If what I described is what you see, then you are likely at a speed that is slightly too fast. The way to really tell is the old fashioned stopwatch method.
In the game itself, you will see a clock at the lower left portion of the screen. Depending on whether you are playing Free Flight or Instant Action, the time will either count up as if it were an in-game clock (Free Flight), or it will count down the time left to complete the mission (Instant Action). Either way, you will want to use a stopwatch to determine how much actual time it takes to count a minute of in-game time. Your goal is to find a slowdown setting that best matches a minute of game time with a minute of real time. If one minute of game time counts down in less than a minute of real time, the game is running too fast and you need to bump up your slowdown settings. Conversely, if it takes more than a minute of real time to execute a minute of game time, you have throttled your CPU too much. If you match the ideal 1:1 setting and have a playable game, you have found your settings.
Note that you will want to run this test with the software that you will normally be using while you play EF2000. For example, if I run EF2000 with a normal load, 15 is an ideal match for me. However, if I load VAC and run it with a process priority of "Above Normal", then VAC is taking cycles away from EF2000, and I need to reduce the slowdown to 13 to achieve the same result.