You are here

Running Legacy Software Under Windows XP

PC Musician
Published January 2004
By Martin Walker

Running Legacy Software Under Windows XP

Do you have elderly Windows or MS-DOS software that refuses to run under Windows XP? If so, there may still be a way to get it working.

When Windows XP was first released, it was already compatible with a wide range of hardware and software applications, largely because Microsoft and various third-party developers had been working together to ensure the widest possible customer uptake of the OS. However, this compatibility mainly applied to the most popular third-party products, including (naturally) Microsoft's own range, leaving a huge number of other software applications and hardware peripherals in limbo.

To be supported under any new operating system, hardware nearly always needs new drivers, so it's extremely important to wait until these have been written before installing Windows XP. Many people upgraded their PCs to Windows XP immediately it was released and discovered the hard way that some peripherals (particularly soundcards, scanners, and printers) simply didn't work at all, and either returned to their previous version of Windows, or rushed out to buy replacement hardware that did work.

Older applications stood a rather better chance of running under Windows XP than hardware, but it was still a bit of a lottery — some were found to work perfectly well, while others crashed, or even refused to run at all. However, Windows XP had another trick up its sleeve, in the shape of its Program Compatibility Mode, a function first seen in the Windows 2000 Service Pack 2, but rather more versatile in its latest incarnation. This mode allows older applications to think that they were running on a previous Windows version, which can solve a lot of problems.

The Current Situation

Two years on, the vast majority of soundcards now have stable and efficient XP drivers, and most of the major music applications have been updated to new versions that incorporate XP compatibility, while other more recent releases, such as Steinberg's Cubase SX have been written from the ground up to suit Windows XP. However, some musicians, while attracted to the new features of Windows XP, are still perfectly happy with the feature set and performance of their existing software, and don't want to fork out for updated versions, especially if they include a lot of new and (for them) largely unwanted features. Others may have older music software that's still vital to their studio, but whose developers have gone out of business, leaving no prospect of an XP update.

So how can you find out whether any of your software might cause problems with XP? Firstly, Microsoft have a database of hardware and software that has been declared compatible (www.microsoft.com/Windows/catalog), although it's by no means exhaustive, particularly in the case of music products. The soundcard section is almost exclusively devoted to Creative products, for instance, while the Digital Video, Audio, and Animation section contains none of the most popular music software.

If you have a program that causes you problems running under Windows XP, the Program Compatibility Wizard provides a selection of modes that emulate various previous versions of Windows.If you have a program that causes you problems running under Windows XP, the Program Compatibility Wizard provides a selection of modes that emulate various previous versions of Windows.Microsoft do also provide the Upgrade Advisor (a free 32Mb download). This tool will scan your hardware and software for possible conflicts, but it isn't infallible — particularly, it seems, with scanners and software-based modems, often declaring them incompatible when in reality they're working well. The Upgrade Advisor is also supplied on the Windows XP CD-ROM, and runs automatically as part of the Setup routine if you decide to upgrade an existing version of Windows. It can also be run on demand: just click the 'Check System Compatibility' option on the 'Welcome to Microsoft Windows' page that appears after you insert the XP CD-ROM into your drive or run its Setup.exe file.

What about applications not covered by Microsoft's list? Well, all Windows software released in the last couple of years will almost certainly be XP-compatible. When it comes to software released before Summer 2001 and not subsequently updated, many helpful developers have posted a simple assurance on their web site that all will be well if their software is run under XP, or offer specific instructions on the best way to proceed, even if an update isn't likely. You may even be able to download a small 'fix' or 'patch' file that, once run, will render the original application completely XP-compatible. An example is the patch supplied by Gary Gregson for his popular XGedit utility, which cures minor graphic corruption when running under Windows 2000 and XP. Yamaha have a similar patch DLL file for their XGworks 2.0 application, to let it run under Windows XP.

It may be that no reassurances or instructions relating to your software of choice are visible, and there are no suitable updates. Or perhaps you're absolutely determined to stick with the current version of the application rather than indulge in a payable upgrade, even if there is one available. If so, you may be lucky: it's quite possible that you won't experience problems when installing and running the application in question under XP. Of the problems that can occur, some may be immediately obvious, such as a Setup or Install routine that refuses to run (although sometimes such problems can be cured in a PC with multiple user accounts by logging back on as Administrator, or by logging off any other users except the account that will install the program).

Once a program has been installed, or if you've upgraded to XP 'over the top' , leaving existing applications in place, other obvious signs that something is wrong are your PC locking up every time you try to launch a particular application, or aborting immediately with an error message. The PC might work some of the time but still crash occasionally, or it might soldier on but with MIDI or audio timing problems. In all such cases it's well worth trying XP's Program Compatibility Mode. It isn't a cure for every Windows fault with older programs, but during my researches I discovered many issues that it can deal with.

Hardware Incompatibility Problems

Program Compatibility modes can only deal with some software problems, and they don't attempt to resolve those relating to hardware. After all, this is the province of the hardware driver, and therefore up to to the individual hardware manufacturer. You should visit the web sites of all hardware expansion card manufacturers to download the latest XP drivers for your devices, including soundcards, graphic cards, modems, network cards, and so on. Further drivers will be required for any hardware devices that plug into the serial or parallel ports, such as MIDI interfaces, printers, scanners, and modems. Although XP does provide USB audio drivers, you may need an XP patch file to get the best results from USB 2.0 audio peripherals.

However, if one of your favourite hardware devices doesn't have an XP driver, don't bin it or abandon XP as an option just yet, since there may be another way to get it to work. Try an Internet search using the device name and 'XP drivers' to see if there's any other information available, particularly from user groups. For instance, I'm still using an old Agfa Snapscan 1212P scanner, bought in 1999, with a parallel port connection. While Agfa claim that XP drivers will never be written for it, I discovered claims by users that the Windows 2000 Beta drivers will work under Windows XP, albeit with a few caveats. For the few times I use my scanner I'm happy to work around these, and it certainly beats throwing away a perfectly good piece of hardware!

What Compatibility Mode Does

Windows NT, 2000 and XP Home and Professional all run off a 32-bit kernel, which does away with the 16-bit DOS layer used by Windows 95, 98, and ME. The kernel is the first part of the operating system to load into memory. It contains the core routines that provide the basic services for all other parts of the operating system. Compatibility Mode is designed to help when running 'legacy' applications — those that were originally designed for a previous version of Windows. These can include 32-bit applications designed for Windows 9x, NT, or 2000, plus 16-bit applications originally destined for operating systems as old as Windows 3.1 or MS-DOS.

Although many such legacy applications will run perfectly well under Windows XP without any tweaking at all, others check for the required version of Windows during their startup routines and abort if they don't find it, or check for the existence of specific system files that have long since been superseded, throwing up a cryptic error message when they are not found.

So, just as Windows 98/ME had options to fool older programs into thinking that a version of MS-DOS was running, Windows XP's Compatibility Mode provides a more comprehensive way to do the same thing for XP, without actually running any of the older code. Do note that utilities such as hard drive editors, defragmenters, some CD-burning programs, virus-detection utilities, backup and other system programs that require low-level access to previous versions of Windows should not be used with Compatibility mode. You might scramble your drive contents if you do this.

The End Of DLL Hell

Vital system files are stored by Windows XP in its system folder, but may also exist as duplicates in the WinSxS folder (see main text), and in individual application folders, so different versions can co-exist. As you can see, the different instances may also vary considerably in size.Vital system files are stored by Windows XP in its system folder, but may also exist as duplicates in the WinSxS folder (see main text), and in individual application folders, so different versions can co-exist. As you can see, the different instances may also vary considerably in size.Some problems with older applications can't be solved simply by using Compatibility Mode, including those caused because an 'over the top' Windows XP install has left old versions of system files in the shared system folder. In the past, Windows 98 suffered from quite a few problems caused by different versions of common DLL (Dynamic Link Library) files. Placing such commonly used system files into a single folder saved lots of drive space, but installing an elderly application could result in an older version of a shared system file overwriting the current one, causing other applications to fail or Windows itself to crash. Windows 2000 and ME both had Windows File Protection to prevent the modification of core system DLLs, while allowing individual applications to use their own private versions of these files.

Windows XP goes further, by introducing 'shared assemblies' consisting of a group of resources, including DLLs, stored in the WinSxS (Windows Side by Side) folder, plus 'private assemblies' that are stored in the application's own folder. If an older application relies on an old DLL but a newer version already exists, Windows XP will spot this and divert calls to the older version, as necessary, while leaving the newer version in place for other applications.

Many older applications, such as Cubase VST, rely on 16-bit DLL files which, under Windows 98/ME would probably be found in the Windows/System folder. If you're upgrading to XP it's important that you completely un-install such programs, and then re-install them again after the changeover. These applications will then still think they are installing any system file versions they need, but XP will be managing the process and will not let them overwrite vital system files. Reinstalling should also ensure that information stored in the old Win.ini and System.ini files is correctly copied into the new Windows XP Registry. Then, when the applications are run, they can either use their own private versions of system files, safely stored within the application's own folder, or the required shared version from the Windows SxS folder, without interfering with the newer system files used by most XP applications.

How will you know if the applications you want to run use 16-bit DLL files? Some developers will tell you on their web sites, but if you can't find out, and in the case of large music apps, it might be wise to uninstall and reinstall as a matter of course, just to be sure.

How To Use Compatibility Mode

You can use XP's compatibility options with any application on your drive (with the above caveats). It's also possible to choose an application on a CD-ROM or floppy disk to run in compatibility mode, which might be handy for a one-off session, although the settings will be forgotten as soon as you exit the application.

The safest way to proceed (particularly on the first few occasions) is via the Program Compatibility Wizard, whose shortcut you should find in the Accessories section of your Start Menu. This will guide you carefully through the process, helping you make the most suitable decisions by testing them on the target application to find out which emulation works best. First you decide whether to choose from a list of programs currently installed on your hard drive, or one on the current disk in the CD-ROM drive, or to locate the program manually by browsing through your drive's folders.

Sometimes a problem application may give the game away with a message like this, making the choice of compatibility mode easy, although in many cases you'll have to do the detective work yourself.Sometimes a problem application may give the game away with a message like this, making the choice of compatibility mode easy, although in many cases you'll have to do the detective work yourself.Once you've chosen, clicking on the Next button takes you to a screen where you can choose the operating system under which the application was originally designed to run. The choices will be Windows 95, Windows 98/ME, Windows NT 4.0 (Service Pack 5), or Windows 2000. The subsequent page provides various display settings where you can choose to run your application in 256 colours or in 640 x 480-pixel screen resolution, both of which can be useful with some older games and educational programs that will only run properly in 640 x 480 x 256 mode. The lowest screen resolution offered by Windows XP is normally 800 x 600 with 16-bit colour, so Compatibility Mode is the only way to force lower values to apply. You can also 'Disable visual themes' on this page, a step that can overcome problems with some applications that insist on dealing wth graphics in a non-standard way.

Finally, you get to test your compatibility settings. Assuming you don't get an error message, the program you've chosen to check will be launched for you to try out. As soon as you've confirmed whether or not it works properly, you can exit it and return to the Compatibility Wizard, either to confirm the settings, try again with different ones, or abandon the attempt.

If you already know the most likely compatibility settings for a particular application, a rather quicker way to proceed in XP is to right-click either on the app's main EXE file (if you know in which folder this can be found) or (more easily) right-click on its shortcut in the Start menu or the desktop and select the Properties option. The third tabbed page of Properties is 'Compatibility', and here you'll find all the settings in one place — there's a tick-box for Compatibility Mode, and once this is ticked a further drop-down menu becomes available, where you choose the operating system, and below this the display settings.

Older Music Programs With Windows XP

In many cases, if an application is Windows 2000 compatible it will also work under XP, although there are no guarantees. Elderly plug-ins and VST Instruments should also nearly always work fine; any problems relating to these are likely to be due to the host application, or possibly the version of DirectX that you're using, in the case of DX plug-ins. The only plug-in related software that does apparently cause problems is early versions of Autotune.

Running Legacy Software Under Windows XPI intended to post an extensive list here of older versions of music applications that would run under Windows XP, but found it extremely difficult to get any definitive answers. Most developers automatically recommend that users update to the latest version of their applications, and any information on the compatibility of older versions tends to disappear from their web site once a newer version appears that directly supports XP. Moreover, Microsoft's Windows Catalogue only covers newer applications that fully support XP, and although there are hundreds of posts on music related forums, featuring user queries and anecdotal advice on getting ancient music software to run under XP, very few can unfortunately be substantiated, particularly when issues such as the tightness of MIDI or audio timing are involved.

My most successful find was www.ntcompatible.com, which (despite its name) provides a user-supplied compatibility list for a huge range of hardware and software running under Windows NT 4.0, 2000, and XP, sometimes with explanatory notes (click on Show in the relevant Details column). Plenty of music software is covered, including elderly Cakewalk and Steinberg applications.

In the case of Steinberg applications, Cubase SX was written with XP specifically in mind (so, conversely, there are no guarantees of its performance if you install it under Windows 98SE). However, version 5.1r1 is the only version of Cubase VST that officially runs under Windows XP. (Similarly, Wavelab 4.0 is the first version of Wavelab to officially run under XP.) While earlier versions of Cubase VST, such as V3.7, will run successfully under Windows 2000, and may install under XP, you will probably experience audio and MIDI skipping, timing problems, or other issues, whatever compatibility modes you try.

Cakewalk started their PC music software range very early on, with Cakewalk Professional 1.0 through 4.0 for DOS, before moving on to Windows versions, and then followed it with their Pro Audio range for Windows. They seem to have quickly embraced each new version of Windows as it appeared. Pro Audio 9.0 was launched with support for Windows NT 4.0 as well as 95, 98, and 98SE, but apparently also runs well under XP. Pro Audio 8.0 is also claimed to be compatible with Windows 2000 on ntcompatible.com, so it's possible that it might run under XP as well. Sonar 1.0 was optimised to run under Windows 98SE, ME, and 2000, despite few soundcards supporting the last at the time, but it will also run under XP, along with all newer versions.

Emagic's range presents a tricky situation, since further development for the PC platform stopped at Logic version 5.5.1, while the current Mac version is now at 6.3.1. However, all version 5 releases of Logic Audio are compatible with XP, and I also came across references to version 4.8 working on XP as long as you use the Windows 2000 installer CD.

MS-DOS Programs Under XP

The Windows 9x family included a 'real mode', or 16-bit MS-DOS environment, as an option, which you could access by choosing the 'restart in MS-DOS mode' option in the Shut Down Windows dialogue. This mode allowed Windows to be completely bypassed, for performing tasks such as fault-finding. However, Windows XP can only run MS-DOS programs while Windows itself is still running, since XP is not based on the MS-DOS kernel.

Despite this, you can still run most MS-DOS programs under Windows XP in largely the same way as under other versions of Windows. They can either appear in a window of their own alongside other Windows applications, or in full-screen mode as they would have originally appeared running from DOS. Toggle this display mode when the program is running by using the Alt-Enter key combination.

To alter any other aspect of operation you simply right-click over the title-bar of the running program and select Properties, where you can change such things as font size (which determines the overall size of the window). These settings are saved in a PIF (Program Information File), which is essentially a shortcut file that sets up a compatible environment in which that particular MS-DOS program can be run. Any DOS programs without a specific file will use the default settings, which are saved in the _default.pif file.

Right-clicking on the DOS file, or its shortcut, and selecting Properties allows further customisation. In addition to the Compatibility page, you'll find several other options, including one that may prove handy for musicians. It can be accessed via the Advanced button on the Program page, where the tick-box labeled 'Compatible timer hardware emulation' may help solve some timing problems with DOS programs. Another potentially useful option is 'Fast ROM emulation' on the Screen page, which may solve screen corruption problems. On the Misc(ellaneous) page, un-ticking the 'Always suspend' box will let the DOS program carry on running when you've switched to another Windows application.

 I've been using Phillip Nickell's DOS-based FED (File Editor) for years to examine the contents of files, and it still runs perfectly well under Windows XP, in a window, with plenty of user options accessed from its Properties dialogue. I've been using Phillip Nickell's DOS-based FED (File Editor) for years to examine the contents of files, and it still runs perfectly well under Windows XP, in a window, with plenty of user options accessed from its Properties dialogue.Many older DOS-based games, and applications such as early MIDI sequencers (Cakewalk's Professional series, for example), were originally booted up with the PC in DOS mode, long before Windows ever got a look in, and completely took the PC over, configuring the RAM and hardware such as the graphics card and soundcard to its own requirements. Indeed, these programs would often cause extra lines to appear in the Autoexec.bat and Config.sys files, both of which are largely unused under Windows XP. This made such games extremely efficient, since they had total control over the PC, but very inflexible when new graphics cards or soundcards came along.

XP stores environment variables from both the above-mentioned files directly into its Registry when you install the programs in question. If you've performed an 'over the top' upgrade from Windows 98 or ME to Windows XP, to avoid having to reinstall all your applications, some may be relying on lines in these Autoexec.bat and Config.sys files to load special driver files or alter system variables. As a quick check, just open the Autoexec.bat and Config.sys files in a simple text editor, such as Notepad, and see if there are any lines in them relating to graphics or audio devices.

Since XP ignores the Autoexec.bat and Config.sys files, if you attempt to run the application it will probably abort with an error complaining of 'missing device drivers', or even reboot Windows. This may also happen with some scanners and their drivers. One solution is to uninstall the old DOS program (or old Windows 98 hardware drivers if we're talking about scanners, for example) and then run Install again. This might cure the problem, but if not, install again using Compatibility Mode. You might have to choose Windows 2000 or NT 4.0 mode to force different drivers to be installed, but then the extra lines of instruction won't be needed.

Windows NT and 2000 both prevent any program talking directly to the hardware, which tends to make them a lot more stable than Windows 95, 98 and ME, but also less compatible with older software requiring Soundblaster support or lower-resolution graphics, which particularly affected DOS-based games. Windows XP also prevents direct access, but this time it has Soundblaster emulation built into its NTDVM (NT DOS Virtual Machine) system. The NTDVM is used to run each MS-DOS application as a separate process, to protect them from each other, and from the rest of the operating system. So you may find that really old DOS games and music programs with basic Soundblaster support run under XP when they refused to do so under Windows NT or 2000.

Choppy sound (timing problems) and graphic updates when running older applications under XP may be the most difficult problems to solve, since 16-bit applications use co-operative multitasking, which means that they get their CPU time when another application has finished using it. The 32-bit applications of Windows XP use pre-emptive multi-tasking, where priorities are used to determine process interruptions. Problems with graphics may be resolved by updating your graphic drivers and installing the latest version of DirectX, although the latter may cause problems with a few music applications, so do a little checking on the forums first before taking the plunge. If timing problems persist after reinstalling, there's probably little you can do about them.

Conclusions

You're always likely to get the most stable Windows XP installation by starting with a freshly formatted partition, and many of the musicians who performed an install 'over the top' of their existing Windows partition and had problems would do well to remember this before condemning XP out of hand. However, if you've done an 'over the top' install and are still having problems with one or two applications, try uninstalling them and reinstalling from scratch. This will give XP a much better chance of dealing with references to old system files and previous entries in the Win.ini and System.ini files, and will reduce the possibility of other applications being affected by old files still floating about in the system. Start by installing them just like any other XP application. If you get any install problems, start again while running the most appropriate Program Compatibility Mode, since this may let you complete the install. Once the installation is complete, if you get any problems while running the application, such as obvious error messages or obscure crashes, try again under Compatibility Mode to see if this cures the problem.

In the case of DOS programs, there are plenty of system tweaks, as mentioned earlier, that can help to get them working satisfactorily. However, the chances are that even if such programs cause non-resolvable problems while running under XP you might still be able to get them going on a fast modern PC when it's truly running DOS, either by booting your PC from a Windows 98SE startup floppy disk, or in the absence of a floppy drive, from a bootable CD-ROM with a DOS option, such as PowerQuest's Partition Magic. The DOS command-line environment might seem primitive by comparison with Windows, but if (for example) it lets you retrieve some synth banks in a proprietary format and send them to a hardware synth via SysEx, then reboot your PC into Windows and retrieve and store the sounds using a more modern application, it's well worth the effort. Good luck!

Compatibility Mode Problems

 If you get any strange problems from an XP application with your mouse or keyboard, check that Compatibility Mode hasn't been accidentally engaged. If you get any strange problems from an XP application with your mouse or keyboard, check that Compatibility Mode hasn't been accidentally engaged.Because of the way it works, Program Compatibility mode may cause problems when used with some applications. Symptoms to watch out for include a frozen mouse pointer, unresponsive PC keyboard, various USB errors, and complete software lockups. It's also been known for similar problems to occur with applications that are perfectly capable of being run on Windows XP, but which have been accidentally set to compatibility mode. To check for this, just right-click on the application's shortcut in the Start Menu and choose Properties. Then navigate to the Compatibility page and check that the 'Run this program in compatibility mode' tick box is inactive.

By the way, if you enter Safe Mode (using the appropriate menu option after pressing the Ctrl key during a Windows 98/ME boot, or F8 during a Windows 2000/XP boot), you'll see, under the Performance tab of Device Manager, that 'Some drives are using MS-DOS compatibility'. This is nothing to do with the main topic under discussion here, and is perfectly normal in Safe Mode, since Windows reverts to using a basic set of drivers. However, if you ever see this message when running Windows normally, it probably means that your hard drive controller or drive device driver has a problem. Your best bet in this situation is to reinstall the appropriate drivers.

Published January 2004