[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: games with sound




Well, I've finally got all of the scoop on this particular issue. I actually
got it from the people at Digispeech (makers of the Porta*Sound sound unit
for laptops). 

Doom, and some others, write to the SoundBlaster registers directly with 
the processor in "protected" mode. Basically they are using a DOS extender
(4GW) which allows them to use a full 32 bit address space.

The IBM sound blaster emulation, and the Porta*Sound sound blaster emulation
both rely on a feature of the '386 and above called "virtual mode".  In this
mode you can configure the processor to trap on I/O to individual addresses.
Both IBM and Digispeech put an interrupt handler on this trap, and add the
sound blaster I/O port (220H) to the list the processor should trap on. When
an application "writes" to the SoundBlaster, the processor traps, the
emulation code looks at what was written and then emulates the function.

Since Doom and some of the newer Sierra Online games take the system out of
virtual mode to run in, they disable this feature of the system and the
emulation code CANNOT function. 

Basically this means you will never get the kind of sound the system is
capable of out of the system with Doom because it doesn't have a register
compatible version of the SoundBlaster hardware. (Note I expect it irriates
IBM to no end that their otherwise WONDERFUL machine is screwed because they
didn't follow the hardware _exactly_ of the defacto industry standard. Its
ironic that the clone manufacturers already figured this out when they tried
to sell MS-DOS computers that ran only "well behaved" applications of which
where were about two.)

Hence the newere version of the MWave chip that is SoundBlaster register
compatible. Although a bit of hardware that decoded the I/O address and
generated an interrupt would work too.

So there is one light on the horizon but it isn't too bright at the moment.
Windows (which like these DOS extenders runs in protected mode) has good
support for audio and I've yet to find a Windows program that wanted audio
that couldn't use the TP's chip. Microsoft is attempting to create a
Windows/Games interface for fast interaction while preserving the device
driver abstraction. Their *PROTOTYPE* customer is id software and DOOM.
(there was an article on this in the San Jose Mercury News). If Microsoft
is successful in defining a standard, and if the game writers use it, then
all games from that point on will be able to use the TP750's sound. The
risk of course is that no one has ever been able to create a "Games" OS
that the games programmers didn't think "got in their way" so they went
right to the hardware.

--Chuck