By and large, I agree with my colleague Malke.
See if DosBox works - it's good at this kind of thing. You can download it
from here:
http://dosbox.sourceforge.net/download.php?main=1
Just be aware that DosBox is not supported by Microsoft; if you have
problems using it, you can't ring Microsoft (or Dell) for help.
Your next oprion would probably be virtualisation. Microsoft provides a free
add-on utility for Windows called "Virtual PC". You can download it from
here:
http://www.microsoft.com/windows/products/winfamily/virtualpc/default.mspx
Virtual PC lets you run a "virtual" DOS or Windows ME PC, in a window on
your Vista Desktop. It looks like a complete PC, but in a window on your
Vista desktop. You can run your application on DOS or Windows ME in this
virtual PC, where it should continue to run pretty much as it did on your
real ME machine. VMWare is a similar solution, which works well; however, it
is extra-cost software which you need to purchase from VMWare Corp.
The ideal solution would be to contact the supplier of your DOS-based
application, and see if they have a new version which is compatible with
Vista. But I suspect this is quite an old and specialised app - maybe the
guys who wrote it aren't around any more. I don't recognise the FMT files,
I'm not sure what app it would be.
By way of some background - there were many different ways to produce sound
on a DOS PC. The exact reason why your app only makes a soft beep on Vista
would depend on exactly how it was programmed, way back when it was written.
As you saw, a plain DOS "beep" function continues to work fine on Vista, eg
when you echo the beep character (Control-G). It was also possible in DOS to
makes sounds with various frequencies and durations, by low-level "assembly
language" programming. Instead of making a plain beep (like a Ctrl-G), the
application would open the PC's speaker for a certain number of ticks of the
PC's internal timer chip. The production of sound was thus highly dependent
on the specific hardware the machine was running on; different CPU speeds
could change the resulting sound. Well, most DOS applications like thios
were designed to run on typical DOS hardware: with a CPU speed of 4.77 MHz
to 25 MHz. Most PCs today run between one hundred and one thousand times
faster than that (eg, in the range 1GHz to 3.4GHz). So programs which made
assumptions about CPU speed are going to behave differently on this new
hardware. I suspect this is what is happening in your application - it still
makes a beep, but at a higher frequency and reduced duration (hence it
sounds softer) - because a thousand CPU cycles goes past in a fraction of
time it used to take, on older machines. If this theory is correct, then the
problem isn't really a bug or shortcoming in Vista itself - just a
limitation of the original DOS app, whose assumptions about the world are no
longer correct. But DosBox specifically tries to compensate for this kind of
problem, because many old DOS games are also affected this way. So it's a
good place to start.
Hope it helps, good luck!