Wednesday, January 25, 2017

A Challenger for the Sound Card Crown : The Pro Audio Spectrum 16


In 1991, Creative Labs was prospering quite well with its Sound Blaster card.  Its enhanced features and reasonable price had knocked the Adlib off the hill.  But a company called Mediavision released the Pro Audio Spectrum card in May of that year.  The Pro Audio Spectrum was not only Adlib compatible but had a second Adlib FM sound chip for stereo music.  It also had a joystick port and MIDI interface, but it supported higher digital playback and recording rates (8-bit 44.1KHz in stereo) compared to the Sound Blaster.  It also required fewer jumpers to select hardware resources.  It was shielded to block electrical noise and hard drive motors that can interfere with the audio output.  It listened to the bus to emulate a PC Speaker.  Creative caught up with the Sound Blaster Pro in November of 1991, essentially duplicating most of the new features of the PAS but retaining the increasingly-important compatibility with the original Sound Blaster.  The Sound Blaster Pro was not shielded and was totally via jumpers.

The PAS did not have any Sound Blaster compatibility, it was only compatible with an Adlib card.  While it sold decently, it was not enough to be a Sound Blaster-killer.  In fact, Mediavision also released a card called the Thunder Board which was Sound Blaster 1.5/DSP v2.00 compatible and could be installed alongside a PAS to support digital Sound Blaster audio.

Today it is not easy to find and usually very expensive when one shows up on the secondary market.  The Sound Blaster Pro (1.0) can essentially do almost everything a PAS can.  While the SB Pro 1.0 is not cheap, it is more common and commands a lower price than the original PAS.  But it was Mediavision's next big card that proved to be Creative Labs' most significant challenge in the sound card market space.


Released in May of 1992, the Pro Audio Spectrum 16 was essentially Mediavision's greatest threat.  While Creative was content to refresh the dual OPL2 chip SB Pro with an OPL3 chip on the SB Pro 2.0, Mediavision went much further.  The PAS16 supports CD-audio quality recording and playback at 16-bit/44.1KHz.  The joystick port is speed sensitive.  There was a standard high quality SCSI interface for a CD-ROM drive.  The PAS16 incorporated the Thunderboard chip for SB2.0 compatibility.  It was almost completely jumperless.  Creative Labs again played catchup with the Sound Blaster 16, which more-or-less matched the PAS16 in its higher end configuration.

Unlike Creative's cards, which can usually work without drivers, every Pro Audio Spectrum requires the loading of a driver to work.  Without the driver, the card will not even work as an Adlib card.  The driver is called MVSOUND.SYS and is loaded in config.sys.  I used the driver package here, https://www.vogonsdrivers.com/getfile.php?fileid=198&menustate=0, which contains an install program.  Between the native PAS and the emulated SB, you will have to sacrifice 2 IRQs and 2 DMAs to the card.  You must select a 16-bit DMA channel for 16-bit PAS audio recording and playback.  Some games, like Privateer only properly support a PAS using an 8-bit DMA.  See here for a list of games with IRQ/DMA restrictions : http://www.vogons.org/viewtopic.php?t=27943#p281521

There are a couple of caveats about using the PAS16.  The first is to turn off DMA sharing as shown in the following diagram :



DMA sharing just does not work on the ISA bus and is one more way to break programs.  The second is to use the mixer program to set the card's volume levels appropriately.  This card can be noisier than you might expect, turning off unused inputs and outputs will help quite a bit to cut down on the noise.  The mixer is completely incompatible with the mixer of the SB Pro and later SB cards.  The third is to avoid using the MPU-401 compatible MIDI interface.  While the PAS16 has its own native MIDI interface, which was not widely supported, the MVD-101 D and higher revision chips also supported UART MPU-401 and eliminated the need to select the I/O addresses for the Sound Blaster.  Unfortunately, the UART MPU-401 has hanging note issues worse than any Sound Blaster.

The MVSOUND.SYS driver has the following settings in the CONFIG.SYS :

DEVICE=C:\PAS16\MVSOUND.SYS d:5 i:7 s:1,220,1,5 m:0 j:1

The "d:5 i:7" variables set the PAS16 IRQ and DMA.  The PAS16 can use any DMA channel except 4 and IRQ 2,3,5,7,10,11,12 or 15.
The s:1,220,1,5 set the Sound Blaster emulation, with a s:0 disabling it.  The 220,1,5 designate the Sound Blaster I/O address, DMA and IRQ.   The I/O addresses supported are 220,230 or 240, the IRQs are 2,3,5,7 but the only DMA that is fully compatible is 1.
"m:0" disables the MPU-401 emulation, the I/O addresses supported are 330 and 300, the IRQs supported are 2,3,5,7.
"j:1" enables the joystick port

The Sound Blaster emulation uses essentially the same chip DSP as the Thunderboard.  The DSP is still reported as 2.00.  This means that you can expect no better than 8-bit/22KHz playback, just like a Sound Blaster 1.5.  The Thunderboard supported recording at 8-bit/22KHz whereas the SB 1.5 only supported up to 12KHz.  It also supported playback at up to 22KHz for the ADPCM modes whereas the Sound Blaster could only do about 12KHz.

The way the card handles the main I/O address assignment is interesting.  The card can automatically select one of four I/O address ranges, with the default range starting at 388H.  This is the beginning of the Adlib register.  You can use a jumper block to assign the card an ID, which affects the range it will select.  You can also use the jumper block to force the I/O 388 range.  The address ranges are 388, 384, 38C and 288.  It can accept writes to I/O 42, 43 and 61 for the PC Speaker emulation.  If the default range at 388-38B is used, it will also use addresses at : 788-78B, B88-B8B, F88-F8B, 1388-138B, 1788-178B and 1B88-1B8B.  Other default ranges will use other address ranges.

The mixer adjust program is called PAS but it looks very intimidating.  However, there is a much easier way to control the functions.  Start the mixer program as "PAS *".  This will start the GUI version of the program, allowing you to adjust settings with greater ease.  To reduce noise in your game audio playback, you should put the levels for the external connector and microphone to 0 (the leftmost position on the slider)  Then press F2 and set the recording monitor to 0 and turn off the monitor features below using the Enter key.  Finally, set all sources on the main screen to "Play Only" using the Enter key.  Save your settings with Shift + F5 and exit.  Put this command in your AUTOEXEC.BAT file : "C:\PAS16\PAS F5".  Note that MVSOUND.SYS allows you to increase, decrease and mute the volume using Ctrl + Alt U, D or M, respectively.

Sierra was a strong supporter of the PAS line.  The original PAS was noted for being the only card supporting dual OPL2 stereo FM music in Sierra's adventure games using the SCI1 engine.  However, NewRisingSun released a series of patches that allow for stereo playback on an OPL3 card such as the SBPro 2.0 and PAS16.  This makes the functionality of the original PAS mostly redundant.

The PAS16 was the first, and for a time the only card that supported 16-bit digital audio playback in Sierra's SCI1.1 games.  Sierra added 16-bit support to the Sound Blaster driver in the July 1993 and later versions of AUDBLAST.DRV.  You can find this driver in the floppy or low-resolution CD-ROM versions of Leisure Suit Larry 6 and copy it over to other games.  While the PAS16 supports stereo FM music in Sierra SCI1.1 and 2.0 games, so does the Sound Blaster Pro 2.0, 16 and AWE32/64.  Sierra had separate 8-bit and 16-bit drivers for the PAS and the PAS16, respectively, in its SCI1.1 games.  For the later SCI2 games, Sierra had three drivers, a driver for the PAS, a driver for the PAS16 that supported 8-bit playback and a driver for the PAS16 that supported 16-bit playback but required more memory.

The PAS16 does not work properly with the PAS driver found in Sierra's SCI1 games.  You won't get any sound.  I conclude that the PAS16 is not fully backwards compatible with the PAS.  The digital audio and speech will work correctly, but the music will sound wrong because the music was programmed for dual OPL2 chips, not an OPL3 chip.  SCI1 drivers require the PAS must be set to I/O 220, IRQ7 and DMA1.

SCI1 games do not offer separate driver selections for music and speech.  I would note that a few SCI1 games have a driver called MTPRO.DRV which allows you to use an MT-32 connected to an MPU-401 interface with a PAS for digital audio playback.  The MPU-401 emulation of the PAS16 can be used.  I cannot tell what kind of issues that may be apparent with MIDI playback in these games, but my cursory testing revealed none.  SCI1 drivers can be copied from game to game.

There are also rare SCI1 drivers called MT32MV.DRV and GENMIDMV.DRV.  These appear to support the MIDI Interface on the PAS, which uses a Yamaha YM3802-F chip.  As their names imply, the MT32MV will allow you to use an MT-32 or compatible connected to the MIDI port of a PAS and GENMID will allow the same for a General MIDI device connected to the MIDI port of a PAS. They will not work on the native MV101 MIDI Interface on the PAS16 or the emulated MPU-401 on the PAS16s with the rev. D MV101 chips.  This suggests that access to the MIDI Interfaces in the PAS was essentially done by direct hardware writes instead of through MVSOUND.SYS.

If a PAS or PAS16 does not work natively with a game, then the game's SB driver should.  See here for a fix for Star Control II on faster (maybe all) systems : https://groups.google.com/forum/#!search/star$20control$202$20pro$20audio$20spectrum$20no$20sound/comp.sys.ibm.pc.soundcard.games/rXM6e-_4tc8/2CO1GQIOeFQJ

The PAS16 was forward thinking in several ways.  It is unlikely that many people ever had to deal with the few jumpers that were on the card.  The card can configure itself completely in software, unlike the SB Pro, early and middle SB 16s and early AWE32s.  The MVSOUND.SYS provided a layer of hardware abstraction similar to Windows drivers.  If you want to record or playback digital audio with the PAS16, you use driver calls.  The Sound Blaster had drivers as well, but most programmers wrote directly to the card.  By requiring programmers to use the driver, they shielded the programmer from the quirks of the hardware itself.  This only went so far, programming the OPL chips was still done by register writes.

While the SB Pro and later SB cards have a 2-pin header on their cards to mix in PC speaker audio, the PAS and PAS16 emulate the PC Speaker using a discrete (PAS) or integrated (PAS16) 8253 timer chip.  PC Speaker sound emulation is enabled by default and it has a Realsound filter option in the mixer program to make Realsound PWM-style audio sound less distorted.  I do not like it very much because it is filtered to a far greater degree than a true PC speaker.  My friend Cloudschatze has opined that the lack of filtering for the FM chip on the PAS16 is less than ideal because the insufficient filtering adds a high-pitched whine to the audio output.

The PAS16 line was marketed with a couple of names, some of which were distinguished only by software.  There is the very rare Pro Audio Spectrum Plus, which is a cutdown version of the PAS16 without 16-bit digital recording and playback capabilities.  You may need to use jumpers to select the SB I/O addresses.  It also doesn't have the Yamaha MIDI interface of the original PAS.  Then there is the Pro Audio Spectrum Basic, which ditched the CD-ROM interface.  The Pro Audio Studio 16 uses the same card as the PAS16, but comes with voice recognition software.  Some cards come with a proprietary CD-ROM interface instead of a SCSI CD-ROM interface.  There were a few PAS16s that come with a waveblaster header, but because the MPU-401 implementation is so poor, it isn't very useful.  Later Mediavision sound cards use the Jazz 16 chipset, which is not PAS16 compatible.  If your card has an MV-101 chip on it, then it is PAS16 compatible.  You can see good quality pictures of several PAS cards here : http://www.yjfy.com/museum/sound/Media_Vison.htm

7 comments:

  1. "The PAS16 really does not work with the PAS driver found in Sierra's SCI1 games. You won't get any sound."

    I've generally found the PAS16 to be completely backwards-compatible with the PAS, as far as digital audio playback is concerned. FM is another matter, of course.

    Sierra's early PAS driver is a special case, being hard-coded with IRQ 7 and DMA 1 values. Configure the PAS16 with those settings, and you'll get both digital sound, and a strange (incorrect) playback attempt of dual-OPL2 music on an OPL3:

    http://www.symphoniae.com/elw/SQ1PAS.mp3

    ReplyDelete
    Replies
    1. The Soundman Wav was my first sound card with Win 3.11.
      Loved the sound and the music apps included.

      Delete
  2. It's been nearly 25 years, but I have memories of the PAS-16 being a supremely frustrating sound card to my 14 year old self. Trying to get IRQs arranged for the PAS-16, an NE-2000 NIC, and two serial ports going at the same time my '486 was an exercise in frustration. I ended up just buying a secondhand SoundBlaster and mothballing the PAS-16 for awhile. When I got into Linux, however, the SCSI controller on the PAS-16 proved useful, running a couple of hard disks and a DAT drive for awhile. It was handy that I already had a SCSI controller laying around in the form of the PAS-16, even if it wasn't bootable.

    ReplyDelete
  3. I have a few pictures of the Pro-Audio Spectrum Plus. I haven't tested PAS compatibility myself (card is in storage), so I've been wondering since the package claims it's compatible what MediaVision was attempting to do. I guess that's just what happens when you send duel OPL2 data to an OPL3 chip?

    I always thought it was too bad more games didn't support duel OPL2 and OPL3 actually in OPL3 mode more often; with a little care it could actually sound quite good.

    ReplyDelete
  4. Yes, even on an a (noise-wise) inferior SB Pro I, dual OPL2 sound very nice. I was literally shocked by the "dual OPL2 supremacy" post by Eric on Queststudios - especially the recording from Dragonsphere compelled me buying an SB Pro I (as the original PAS cards were not available).

    Even with the shortcomings at the driver front, PAS16 cards play in a different league than the Blasters - the output is so much cleaner than any "12-bit" SB16 can produce.

    The way Creative crushed all opposition from AdLib to Aureal is really Orwellian :(
    --------
    Jolaes76

    ReplyDelete
  5. I was just browsing through some programming guides for various sound cards to try to get a sense of what different standards existed and what was compatible with what. Specifically, I was looking at the PAS and AdLib Gold (GSS Standard) guides and noticed that both used the same default I/O ports for OPL3 control: 388h/389h for OPL2/AdLib compatibility and 38Ah/38Bh for the added OPL3 features. At a quick glance, the documented register values also looked very similar.

    Taking into account that my knowledge of low-level programming is *very* limited: might this mean that the PAS+/16 is AdLib Gold compatible and that it might for example run the OPL3 version of Dune? Or am I totally misreading that?

    ReplyDelete
  6. The thing that gets me about the Pro Audio Spectrum 16 is that as far as I have ever found it is the only card that got the digital music in Stunt Island, to the point that most people do not even seem to know that Stunt Island has anything but MIDI music available. And similarly I had no idea Stunt Island had anything BUT digitized music until one day I went to a friend's house with a disk with one of my movies and thought there was something wrong with his system, haha. No Sound Blaster or compatible I ever tried it on would play the digitized tracks, though I am not 100% sure if I ever tried a Sound Blaster 16 specifically.

    ReplyDelete