Computing.Net > Forums > Windows 2000 > DOS games in Win2k

Computer Problems? Computing.Net has over 1,000,000 posts about all things technology related! Over 90% answered within 24 hours! Click here to start participating now! Also, be sure to check out the New User Guide.

DOS games in Win2k

Reply to Message Icon

Name: Keith Tyler
Date: July 4, 2000 at 21:38:15 Pacific
Comment:

Having various issues with running old DOS games (which yes, I want to run) under Win2k.

Most common issues are that the apps can't detect the sound card. It's not possible to load DOS drivers for these under the win2k emulation, is it? (I think all.)

Other apps fail to detect the video card, and most of those refuse to run. (Sim City 2k, Siege, others)

A few just hang on run. (Colonization, Warcraft 2)

Any tips on this? I'm threatening to rollback to Win98 if I can't make them work. (This is not a serious work computer, so I'm not interested in ditching all my games, or in getting some holy grail of uberperformance. In fact, GTA runs too fast now :) )

TIA,
Kdt



Sponsored Link
Ads by Google

Response Number 1
Name: PCHOMEVN
Date: July 5, 2000 at 00:07:37 Pacific
Reply:

http://www.softsystem.co.uk/sndfx200.exe

SoundFX 2000 2.0 THE sound card emulator for DOS programs running under Windows 2000 or NT. SoundFX provides a complete emulation of a SoundBlaster 16 card. Requires Windows 2000 or NT 4 (with service pack 3 or later), a Windows supported sound card and a Pentium 90 or better.

Release notes

SoundFX 2000 is THE sound card emulator for DOS programs run on Windows 2000 or NT.

As delivered, Windows 2000 & NT provide a DOS box for running 16 and 32 bit DOS mode programs but due to their security model, direct peripheral access is denied. Most DOS multimedia titles (games) provide sound by directly accessing the sound card and as a result although many can be run under NT, until now none have been able to produce sound and hence lose a great deal of playability.

SoundFX provides a complete emulation of a SoundBlaster 16 card and hence enables old favourites such as Doom (1 & 2), Heretic, Duke Nukem (2 & 3D) etc to be run with sound under NT.

Try it
Buy it. - You can order SoundFX online from
JSI, Inc. www.jsiinc.com. Look under Catalog\Software\OperatingSystems\MultiMedia.

Version 2.00 now available

- Complete software emulation of the Adlib FM synthesiser. Ideal for sound cards like the SBLive which don't have FM synthesiser hardware, restoring music to many DOS games.

- DirectSound 3.0 for even lower overhead and better digitised effects. Good news for Impulse Tracker users with sample rates up to 44kHz now.

- MPU401/Roland emulation provides general MIDI music for best quality and lowest overhead. Now supports MIDI input for music composition software.

- Support for a standard games port providing 4 analogue & 4 digital inputs. Ideal for flight sims requiring yoke, throttle, rudder pedals and POV hat.

- Complete SoundBlaster, 2, Pro, 16, AWE32 emulation for wave effects.

- AWE32/64 emulation (registered version only, requires sound card with EMU8000 synthesiser).

--------------------------------------------------------------------------------


SoundFX 2000 is THE sound card emulator for DOS programs run under NT.
Copyright (C)1998,2000 Software Systems Consultants.

This is an evaluation version of SoundFX.

Requirements
============

You will need:
- Pentium P90 or better.
- Windows 2000 or NT4.0 (SP3) or later.
- A sound card with appropriate drivers. NB you must install the sound card
drivers under NT and verify that they are functional before using the
emulator.

Recommended:
To achieve maximum compatibility and best performance for older programs using
FM music it is recommended that a sound card with true hardware FM synthesis
(i.e. Adlib compatibility) is used, such as a SB16, AWE32 etc. PCI cards like
the SBLive do not have FM synthesiser hardware and in these cases Adlib
emulation will be necessary, so a minimum PII 350 is recommended.


Installation
============

If you have a self extracting WinZip archive (.exe) file then double click it
to expand the files into a new empty directory. If you have a ZIP archive then
use WinZip or similar to extract the files.

Logon to an account with Administative privilege and double click the file
'setup.exe'. This will install sound support for ALL 16-bit applications
(including Win16 ones) and will set default preferences in the registry. The
SoundFX control panel will then be opened to enable customisation of the sound
card emulation and runtime options.


Removal
=======

Open the control panel, open Add/Remove Programs, select SoundFX from the list
box and press Add/Remove. Note that the SoundFX control panel will not be
deleted until after the system is re-booted.


Creating a PIF file
===================

Before adding sound support to a DOS program under NT it is essential to
ensure that it functions correctly without sound. This normally requires
creating a PIF file and adjusting the properties. Most multimedia programs
have a no-sound option available in their setup or install program.

The following settings are recommended in the Properties dialog:

Memory:
Select Auto for all.
Some older DOS programs require limiting EMS and/or XMS to 8 megs.

Screen:
Select 'Window'. NT will automatically switch to full screen when required.
Some VESA aware games require 'fast ROM emulation' to be unchecked.

Misc:
Set 'idle sensitivity' to low.
Uncheck 'allow screen saver'.
Check 'always suspend'.

Program:
Some programs require COMMAND.COM. In these cases insert COMMAND.COM /c in
the 'Cmd line' field before the program name.

If a program runs slowly or just halts:
Go to the program tab, select the 'Windows NT' button and check 'Compatible
Timer Hardware Emulation'

If a program requires more conventional memory:
Go to the program tab, select the 'Windows NT' button and change 'autoexec
filename' to c:\exec.nt. Then copy c:\windows\system32\autoexec.nt to
c:\exec.nt. Edit the new file and insert a rem before each 'lh' command to
disable that facility. Some programs require DPMI so you might need to keep
dosx.


Adding sound
============

This step is only necessary if you have disabled the auto load option from the
SoundFX control panel or you wish to customise the emulator for a specific
application.

Open the program PIF file, select the program tab and edit the 'Cmd line' to
add:

ldsbvdd.com [options] xxx...

where xxx... was the original command. The new PIF will work under '95 and NT;
ldsbvdd.com only installs the sound emulator if it detects NT. The
following options can be provided to LDSBVDD.COM:

-Ax Set base address (hex)
-In Set interrupt n
-Dn Set 8-bit DMA channel
-Hn Set 16-bit DMA channel
-Px Set midi base address (hex)
-Ex Set EMU8000 address (hex)
-Tn Set sound card, 7=AWE32, 6=SB16, 4=SBProII, 3=SB2, 2=SBPro, 1=SB1.5
-Ln Set log detail level 0..9
-Fn Set FM synth cache timeout ms, 0= disable, default 16
-Bn Set maximum output latency in ms. Default is 80
-Jx Set games port base address (hex), 0= disable
-Mn Set EMU8000 synth cache timeout ms, 0= disable
-On Set Adlib access mode: 0= adlib.mid device, 1= direct access,
5000..44100 Adlib emulator sample rate

You should now enter the program's setup facility and select a soundblaster
16 or similar (it may be necessary to create a PIF file with sound support
enabled to run the setup program).

In the absence of registry configuation (normally set during installation and
by the control panel) the emulator defaults to the following hardware
configuration:

Type SoundBlaster 16
Base address 220h
Interrupt 5
8-bit DMA 1
16-bit DMA 5
MIDI base address 330h

Note that support for the AWE32 was added for registered users from version
1.08.

If you have a BLASTER environment variable defined (see control panel, system,
environment) then that will be used to override the registry settings.

BLASTER=A220 I5 D1 H5 P330 E620 T6

A - base address
I - interrupt
D - 8-bit DMA channel
H - 16-bit DMA channel
P - MIDI base
E - EMU8000 base
T - card type, 6= soundblaster 16.

If you don't have a 16-bit sound card (e.g. soundblaster Pro etc.) then ensure
T3 (SoundBlaster II) is set.

If your sound card has an Adlib compatible FM synthesiser the emulator will
use it. In this case you should enable Adlib or SoundBlaster music. If it
doesn't then select General MIDI or WaveBlaster. MIDI may be the best music
setting if you have an AWE32 or 64 or other card that supports wave synthesis.


Joysticks
=========

The emulator supports 4 analogue and 4 digital inputs. In addition the POV
(point of view) hat is mapped to button presses compatible with the righthand
POV hat of a CH virtual pilot pro yoke. NB the emulator does not support
6-axis joysticks i.e. the U & V axes are ignored.

In order to use your joystick with the emulator the following steps must be
taken:

1. Install the vendor supplied NT driver for the joystick. If you have a
Creative Labs soundblaster card then this will have been done when the sound
card drivers were installed.

2. Connect the joystick to the games port.

3. Open the joystick control panel and select the correct configuration (2/3
axis etc.) for your joystick and then calibrate it. Ensure that all axes and
buttons respond correctly before continuing.

4. Open the SoundFX control panel and ensure that the 'Games port' checkbox is
checked.

5. Start the DOS application and calibrate the joystick.

6. If you are unable to calibrate the joystick in the DOS application correctly
you should try editing the registry entry JoyMax (see below) and increase the
value to 3000 to 5000.


Problems
========

Some programs just won't work under NT, others do strange things with the sound
hardware including the use of undocumented commands. We've done our best to
cover all eventualities but if you have problems the emulator may produce a log
file (sbvdd.log) in the applications directory. If not, you can force it to
produce a log by adding a -L3 parameter between ldsbvdd.com and the program
name in the PIF 'Cmd line' property or setting the log detail level to three
from the SoundFX control panel. Send us the log and we'll hopefully provide a
remedy.

It is recommended that you don't select sound sample rates in excess of 22kHz -
the emulator and wave output driver simply seem to soak up all CPU time under
these conditions. If the sound output is choppy or echoes then reduce the
sample rate, use 8-bit data or fall-back to mono.

Ensure that the SoundFX control panel and any BLASTER environment variable
agree with the sound setup as specified to the program. This is especially
important for interrupt line and DMA channel.

If the auto load option in the SoundFX control panel is set (the default) then
the emulator is initialised for all 16-bit apps including Win16 ones (which
don't actually need it). There is a bug in the NT4 WOW code that causes an
exception when a Win16 app exits, but only the first time any Win16 app exits
with the emulator is loaded. The problem is harmless and the dialog can be
dissmissed by pressing OK. To prevent this, disable auto load from the SoundFX
control panel. You'll then have to start the emulator for each selected app as
described in 'adding sound' above.

Some programs poll the games port very frequently which can result in slow
operation if games port emulation is enabled. In these cases disable the games
port with the control panel or by loading the program with ldsbvdd.com,
specifying the -J0 option.


Registry settings
=================

The emulator reads its default configuration from the registry key:

HKEY_LOCAL_MACHINE\Software\SoftSystems\SoundFX

The keys are:

Adapter Default 0x220
IRQ Default 5
DMA8 Default 1
DMA16 Default 5
Midi Default 0x330
Type Default 6
Emu8000Base Default 0x620
AdlibFlush FM write back cache timeout in ms, default 16
AdlibDirect Default 0 - non-zero to force use of SoundFX kernel driver.
AdlibEmulation Default 8192 - Adlib emulators sample rate.
Emu8000Flush EMU8000 cache timeout in ms, default 16
DmaInterval DMA output interval in ms, default 80
JoyPort Default 0x201
JoyMin Default 100us - time for minimum position
JoyMax Default 2000us - time for maximum position
JoyInterval Default 50ms - min time between joystick readings


NT VDM interrupt problems in protected mode:
============================================

Under Windows NT the VDM maintains a virtual interrupt enable state for
each DOS box. Execution of an CLI or STI instruction causes a trap to the
emulator which then updates the virtual interrupt state. Many programs save
the interrupt state before disabling them by executing a pushf instruction.
Unfortunately due to a limitation in the Intel architecture when running a
process in protected mode at a privilege level above 0 the popf instruction
that would normally restore the interrupt state does not cause a trap and hence
the virtual interrupt state in the VDM gets out of step with what the program
expects and further virtual interrupts such as timer, mouse or sound card are
not delivered to the program. The only solution is to fix the application.
I've provided a program and batch file that works around this problem for
several common games. To use these utilities copy patch.exe and cli2nop.bat
into a directory on your path.


Compatibility
=============

DOOM
You can run DOOM fullscreen under NT without sound. To use the emulator you
need to patch DOOM. Startup a DOS command prompt in the DOOM directory and
enter:

cli2nop -2 doom.exe doomnt.exe

This will create a patched version 'doomnt.exe' leaving the original untouched.
Create a PIF file for 'doomnt.exe' as described in 'adding sound'. You should
ensure that 'Compatible timer hardware operation' is enabled. The patch enables
sound and music but the program has a tendency to freeze. Enabling music alone
is much more stable. The version tested was the 1.2 full release.

DOOM2
You can run DOOM2 fullscreen under NT with music - preferably MIDI for best
quality. To add sound effects you need to patch DOOM2. Startup a DOS command
prompt in the DOOM2 directory and enter:

cli2nop -2 doom2.exe doom2nt.exe

This will create a patched version 'doom2nt.exe' leaving the original
untouched. Create a PIF file for 'doom2nt.exe' as described in 'adding sound'.
You should ensure that 'Compatible timer hardware operation' is enabled. The
patch enables sound effects but the program has a tendency to freeze.


Duke Nukem 3D
You can run Duke Nukem 3D fullscreen under NT without sound or music. To add
music you need to patch Duke3D.exe. Startup a DOS command prompt in the DOOM
directory and enter:

cli2nop duke3d.exe duke3dnt.exe

This will create a patched version 'duke3dnt.exe' leaving the original
untouched. Create a PIF file for 'duke3dnt.exe' as described in 'adding sound'.
You should ensure that 'Compatible timer hardware operation' is enabled. The
patch enables music only. Attempting to use sound effects still causes a
freeze.

Quake
No version of Quake that we've come across will run under NT. They generally
expire with a segment violation exception. It appears that the code may be
meddling with the processor's page tables, which NT can't tolerate for security
reasons.

Quake2 & Unreal
Run fine under NT when installed for Windows. Uses DirectSound and so doesn't
need the emulator.


Upgrades
========

The evaluation version of SoundFX is time limited to 3 minutes per instance. To
order the release version, which provides games port emulation, AWE32 support
and significantly improved performance contact:

Software Systems Consultants
Tel: +44 1223 862391
e-mail: soundfx@softsystem.co.uk

Alternatively mail a personal cheque, cash or international money order for 25
GBP (39.50 USD) made payable to L.V.Rust together with your email address to:

SoundFX,
Software Systems Consultants,
6 Lode Avenue,
Waterbeach,
Cambs. CB5 9PX
United Kingdom.

and we'll forward by return the release version as a zipped e-mail attachment.
As a registered user you'll be entitled to receive all updates for the
following 12 months. Currently there are plans to add:

- Full WaveIn support for programs that use the mic and line-in facilities.
- Emulation of the Pro Audio Spectrum 16 soundcard.


Version History
===============
2.00 24-Mar-00
Added Adlib emulation.
Added MIDI input.
All PCM sound output now uses DirectSound.

1.09 18-Feb-00
Added SoundBlaster MIDI mode (non MPU401) output support.
Added DSP wave input. For the moment all data is silent.
Added DSP 0xe3 command.
Added joystick support to the eval version.
On exit FM synth properly reset to OPL2 mode.
In eval version, MIDI output warns of bad data but doesn't assert.
Fix single cycle DMA bug for Dune2.

1.08 26-Jun-99
Added AWE32 support in soundfx.sys driver.
FM synth now uses soundfx.sys driver under Win2000.
Setup checks for administrative privilege.
ldsbvdd.com sets BLASTER EV from info read from sbvdd.dll.
Control panel updated for AWE32 support.
Revised shutdown handling ensures all resources are released even on
forced quit. This fixes a problem with the MIDI driver which could
leave the device open after a forced quit and prevent further use until
a reboot.

1.07 29-Apr-99
Added games port emulation.

1.06 26-Mar-99
Included support for DSP 0xFA command for SBPro2.
Added control panel.
Added setup program.
Fix de-install bug in INF file causing VDD registry value to be
deleted.

1.05 15-Nov-98
Initialisation without registry entries fixed.

1.04 03-Nov-98
Fixed problem with DSP continue command. Wolf3d now works.
Improved compatibility in DSP command set. Xwing now works.
New method of displaying warning dialogs if devices in use

1.03 31-Oct-98
Added configuration from registry.
Added DSP direct output mode.
Added nominal support for DMA input for app's that check for this.
Revised DMA engine reduces overhead permitting 16-bit stereo @ 44kHz on
PPro200 in release build.
Reduced DMA output latency for apps that cancel sound part way thru.
Added -B switch to ldsbvdd.com to set max output latency.
Deferred device opening until needed to reduce resource usage in
non-sound apps
Added .INF file for simple installation

1.02 19-Oct-98
Added ADPCM support
Much greater compatibility

1.01 5-Oct-98
Initial release


0

Response Number 2
Name: Undo
Date: July 6, 2000 at 20:03:43 Pacific
Reply:

That was a very complete explanation and very helpful.
Thanks for you help.


0

Response Number 3
Name: lu_zero
Date: December 3, 2000 at 17:22:59 Pacific
Reply:

but the VESA also?


0

Response Number 4
Name: david osborne
Date: April 7, 2001 at 08:24:36 Pacific
Reply:

I am trying to play warcraft2 but my mouse only works in the top half of the screen does any know an answer to this. thanks for the sound help


0

Sponsored Link
Ads by Google
Reply to Message Icon

Related Posts

See More







Post Locked

This post is quite old and has been locked from receiving new replies. Please create a new posting instead.


Go to Windows 2000 Forum Home


Sponsored links

Ads by Google


Results for: DOS games in Win2k

DOS games in win2k www.computing.net/answers/windows-2000/dos-games-in-win2k/19727.html

old dos game in win2k www.computing.net/answers/windows-2000/old-dos-game-in-win2k/14664.html

Dos sound in win2k www.computing.net/answers/windows-2000/dos-sound-in-win2k-/4764.html