Back to the Piano Education Home Page

Music and the Home Computer: Old Music Software On New Computers

by John M. Zeigler, Ph.D.

Rio Rancho, NM USA

any of us have older software for DOS, Windows 3.1 or Windows 95 that we like a lot or into which we have inputted a great deal of data. Replacing this software with a newer version designed to run on more modern computers with the latest operating system may not be desirable or even possible. In several cases, some of the best piano and music training software is no longer even available in versions compatible with new operating systems, because the manufacturer of the original version is no longer in business (e.g. Musicware, JumpMusic, Software Toolworks, etc.). Given these problems, those of us with favorite old software packages may be in trouble figuring out how to get these no longer marketed products to work on the latest and greatest computer. In this article, we'll briefly explore a bit of the history of computers and operating systems and then talk about some general strategies for working around problems running old software. I offer, in advance, apologies for the many (over) simplifications I'll make in describing the history and characteristics of various operating systems. The intent here is not to present a detailed technical history of PC computing and operating systems, but to provide the reader with enough information to understand why some programs don't work in modern operating systems and how certain general strategies can be used to try to get them to work.

Top of page! Music and the Home Computer Main | Multimedia Music Appreciation and Entertainment Software | Music Teaching and Learning Software | Creating Sound and Music on the PC | An Introduction to Digital Music | Learning to Play | Piano Education Home

 

keyinfo.gif (1045 bytes)Windows, PC-DOS, MS-DOS and various other registered trademarked names used in this article are owned by the corporations indicated. These names are used for identification purposes only herein.

The IBM-PC and DOS

When introduced in 1981, the IBM-PC came with a 16-bit 8088 Intel processor (i.e. a processor in which data are manipulated by the processor in 16-bit binary "chunks") and a corresponding 16-bit operating system called "PC-DOS" (for "disk operating system"), produced by Microsoft. Although the operating system is a kind of software, it has a special privileged role. It provides the connection between all other software applications written for that operating system and the hardware. It controls disk formatting, writing and reading from disks, copying and deleting files, and a literal host of other relatively "low-level" functions. Although PC-DOS, later renamed by Microsoft "MS-DOS," went through at least six major versions, with additions and improvements along the way, it still retained its fundamental character as a 16-bit "real mode", command line driven system. The "real mode" part of that signifies that DOS programs can address memory and hardware directly (addressing "real" physical memory locations and hardware address "ports"), with relatively little control by the operating system of these critical functions. The result was that one program could overwrite memory or device parameters in use by another program (including DOS itself) and crash the whole system. Unfortunately, such direct memory and hardware addressing gave much greater speeds, so any demanding DOS program (including virtually all music-related software and games) almost invariably used these instability-producing programming methods. The other major disadvantage of DOS systems was that they could only "see" 640 KB of memory directly and had to perform all their functions in that memory (the famous "640K limit"). Any more memory beyond that could only be accessed slowly and inefficiently by "paging" memory above the limit into addresses within the limit (using an "expanded memory manager").

Protected Mode Processors and Operating Systems

In the middle '80's, Intel introduced the 80286 processor, first used in the IBM PC-AT. This processor had the capability to run in so-called "protected mode," in which the processor could take over control of memory and hardware accesses from software programs, thereby preventing them from overwriting each other's code. At the time, this characteristic was little used, since so much software was DOS software written to use "real mode." However, the 80286 protected mode could address a much larger amount of memory than the 640 K of DOS. With the introduction of the 80386 chip a few years later, however, the advantages of greater memory access capability became inescapably apparent. Also, the 80386 could run in 32-bit protected mode, thereby speeding up computing dramatically. What was needed was a protected mode operating system that could really use those advantages.

16-bit Windows

The Microsoft Windows "operating environment" had been around for a number of years, as a kind of overlay for DOS that produced an attractive and more intuitive graphical environment in an otherwise basically command line-driven system. However, in 1990, Microsoft released Windows 3.0, which, for the first time could run in protected mode and use all the memory which protected mode made available. This was still a 16-bit operating system and still had to maintain ability for DOS programs to run in real mode, so it wasn't a "pure" protected mode operating system. A year later, when version 3.1 was released and rapidly adopted worldwide, Windows 3.1 became the new computing paradigm for Intel PC computing. Of course, since Windows 3.1 had to maintain compatibility with DOS applications, the real mode parts of it still remained and still led to frequent "crashes."

32-bit Windows

In 1995, Microsoft released the first version of 32-bit Windows, Windows 95. Windows 95, like its predecessors, had to maintain compatibility with 16-bit Windows and DOS applications. Even though it was a 32-bit operating system, parts of the "kernel" (the most "basic" part of the operating system) still used 16-bit instructions and still allowed real mode operation, again for compatibility. It has been hotly argued in some computing circles whether Windows 95 and its successors, Windows 98 and Windows Me, are "really" 32-bit protected mode systems, given the 16-bit core functions and the still ubiquitous (though less frequent than earlier versions) crashes which occurred with systems running these operating systems.

Windows NT, 2000 and XP

The key to gaining better operating system and application stability was to remove the ability for DOS and Windows applications to address memory and hardware directly. This was one of many important new aspects of the philosophy behind Windows NT and successors Windows 2000 and XP. This was done successfully (although some who have seen the infamous "blue screen of death" too often in these operating systems might argue that point) in these "business" operating systems, but at the price of making many DOS-based games and multimedia music applications inoperable. While all will run DOS applications, any such applications that directly address hardware would not run at all in Windows NT (which, unfortunately, included almost all games and many piano software applications like the Miracle Piano Teaching System). DOS programs could be run in "separate memory spaces" in these operating systems, which effectively wall off any misbehaving DOS or 16-bit Windows program from bringing the whole system down, but at the price of compatibility, particularly in NT.

Getting Old Software to Run

The purpose for this long dissertation on the fundamentals of operating systems and hardware is to provide the reader a basis for understanding the major reasons for the failure of older software to run properly in newer operating systems. First and foremost of these is attempts by the software to directly access memory and hardware resources. Of course, you can't rewrite the program, and, as is often the case, the manufacturer of the software either is no longer in business or doesn't support it anymore, so you can't get any tech support. Windows NT, 2000 and XP all allow you to run the program in a "separate memory space," as indicated above. To do this, go to the program shortcut, right click on it to bring up the context menu, choose Properties and select the Shortcut tab. Click on the Advanced ... button. Check the Run in separate memory space box, then OK out of all these windows and try it. This may or may not allow the program to run, but at least should "limit the damage" if the program crashes.

With the introduction of Windows 2000, a new feature was added: the so-called "compatibility mode," installed by default in Windows XP and readily enabled in Windows 2000 (for instructions, see Microsoft Knowledge Base article 279792 - HOW TO: Enable Application Compatibility-Mode Technology in Windows 2000 SP2 and SP3). By using compatibility mode, one can cause Windows 2000 and XP to operate somewhat like ("emulate") earlier versions of 32-bit Windows (Windows 95, Windows 98, and Windows Me), but not 16-bit Windows. Thus, if you have a program which ran fine in an earlier version of Windows, but won't do so in 2000 or XP, you can use compatibility mode to have the operating system provide an environment more like that of the Windows version under which it ran properly.

Compatibility mode is accessed in similar ways in both 2000 and XP. Go to your program shortcut, right click on it, and select Properties from the popup menu. This will bring up a tabbed display. Go to the Compatibility tab and check the Compatibility mode box. Choose the compatibility mode from the drop-down menu. Generally, you'll want to choose either the latest version of the operating system that you know the program worked with or, if the program is really old, choose Windows 95. Then click on OK to exit this. Now try to run the program. With luck, you may now have it working. There is even a program compatibility Wizard available in XP to help you with this process. You can run the Wizard from Control Panel. Compatibility mode does not guarantee that your errant program will run properly, but it will give you a fighting chance. As they say, "if at first you don't succeed, try, try again." If one compatibility mode doesn't work right, try another.

There are some (as in, many) other differences between NT, 2000, XP and earlier versions of Windows. Another important one is that Windows 2000 and XP utilize a new type of font technology, called OpenType, rather than the TrueType technology of earlier versions of Windows. Although OpenType is supposed to be "backward compatible" with TrueType, some older programs will install TrueType fonts that are not fully compatible with OpenType. There is no easy fix for this problem, which produces scrambled or blocked out characters on your screen. There are some font conversion programs available, but these are not really tools for the average home user. Of course, if you get to the point that you're talking about having to learn how to convert fonts, it may just be easier and cheaper to buy new software.

Hardware Changes

Of course, just as the operating system software has changed, there have been a virtually innumerable number of important advances in the hardware of computing. Most of these have been positive, but one has had a fairly serious impact on some programs, particularly the Miracle Piano Teaching System. This program uses an 8x14 pixel font, which has, unfortunately, been eliminated from the on-board ROM of most modern video cards. The result is "scrambled" characters on many of the Miracle menus. If you're running the DOS Miracle (or trying to), you'll almost certainly need a handy little free fix for this available in the form of an installable DOS device driver that restores 8x14 font support. You can find out more about this, as well as download the fix, at FIX8X14 - 8x14 font fixer.

The View From Windows Vista®

Vista comes in many "flavors" and two rather different versions, a 32-bit one that most people will use and a 64-bit one for "power users". The 64-bit version does not support 16-bit (i.e. DOS and Windows 3.x) software at all, so these programs will not run in 64-bit Vista. 32-bit Vista can, in principle, run this software, as well as much software written for Windows versions up through and including Windows XP. However, it is often not easy to get legacy software to run under Vista.

About 80% of "legacy" software (DOS and Windows) can be gotten to work after a fashion - if you're willing to work at it. There is no single problem with software install and operation that can be cited as preventing software from installing and running under Vista. The most prevalent problems are security-related ones and can be solved if you search Vista Help efficiently. In fact, Vista Help is often, by far, the best way of finding the necessary dialogs to allow programs to run or install. The error messages you get are often less than informative. For example, when you get messages that sound like "File Not Found" errors, they are often telling you that security settings for that file need to be changed, not that the file doesn't exist where its supposed to be.

One of the most common problems with installation and execution of Windows XP software is the need for explicit Administrator privileges to install and run it. Just being logged into an Administrator account won't be enough. Usually, these problems can be solved by starting the software manually (not from autorun) from Explorer, right-clicking the install program name and choosing Run as an Administrator from the popup menu. Some programs will also require you to set the compatibility mode to Windows XP or 2000 before you can install them properly.

Many of your legacy Windows programs (including most piano software) will work with sufficient effort, but you'll find that their Help won't work! The reason is that Microsoft, in its "wisdom", has decided to eliminate the older (i.e. a couple years ago) Help format reader (winhlp32.exe) from the Vista distribution. You can download it from the MS support site, but only if you use IE as your browser to allow Microsoft to verify that you have "genuine" Vista.

Most providers of older Windows software don't offer support for the older Windows XP versions under Vista. Often, they have eliminated all support for those versions. They have "Vista-certified" versions that they will sell you. This will cost you extra money, but if you're not a computer expert, it may save you a lot of time just to upgrade all your software.

Why Bother?

Sadly, one of the most important reasons that people with an interest in music and piano learning software should care about how to make their older software work on newer machines is that some of the best software is no longer available in updated versions. Mostly this is due to "consolidation" in the software industry (a euphemistic way of saying "business bankruptcies"). That's not to say that there isn't good, up-to-date software out there for music and piano, but the options are fewer and may not be right for everyone. I hope that this article gives you an understanding for why old software doesn't always work well with newer systems and how one can go about remedying at least some of the problems. These "fixes" aren't guaranteed to work in all cases, but they are sure better to try than throwing the software and/or hardware away!

Page created: 3/10/04
Last updated: 04/01/08
Top of page! Music and the Home Computer Main | Multimedia Music Appreciation and Entertainment Software | Music Teaching and Learning Software | Creating Sound and Music on the PC | An Introduction to Digital Music | Learning to Play | Piano Education Home

Reprinting from the Piano Education Page The Piano Education Page, Op. 8, No. 1, © Copyright 2001-2008 John M. Zeigler. Portions copyright 1995-2000 John M. Zeigler and Nancy L. Ostromencki. All rights reserved.