Sunday, October 23, 2016

Reasons for Owning a Gravis Ultrasound - Sound Quality Comparisons

It is an unfortunate fact of PC retro gaming that the Gravis Ultrasound cards are very expensive to buy off the second-hand market and the auction sites.  You may ask why should I want one, my Sound Blaster and my Roland does the trick for me.

For most games, you would be correct, the GUS is not especially impressive.  Some games, like anything using the DOOM engine, mix all the digital audio in software and then send the result to the sound card.  This eliminates one of the most important advantages of the GUS, mixing multiple streams in hardware at reasonable bit-sizes and frequencies.  In this instance, the GUS is no better than a Sound Blaster 16.  In benchmarks, it is actually worse than a SB16.

But for other games, the GUS can have a distinct advantage.  In these games, all audio, music, speech and sound effects, is digitally generated and mixed.  The Sound Blasters must mix this audio in software, but the GUS mixes it in hardware.  The result is always a higher quality sound from the GUS than an SB, even if the SB is a Pro, 16 or AWE model.




Here is a list of known games which take advantage of the GUS's hardware mixing :

Archon Ultra
Crusader: No Remorse
Crusader: No Regret
Death Rally
Epic Pinball
Extreme Pinball
Jazz Jackrabbit (including CD-ROM and Holiday episodes)
The Lemmings Chronicles
One Must Fall 2097
Pinball Arcade (includes special versions of Pinball Dreams & Pinball Dreams 2)
Pinball Fantasies
Pinball Illusions
Silverball
Star Control II
Turrican 2
Zone 66

I have decided to record a sample of the output from my GUS ACE and my SB Pro 1.0 from my 486DX2/66 computer.  The settings I found to work the best with these games is SET ULTRASND=240,6,7,11,5.  This sets the Base Address to 240, the playback DMA channel to 6, the recording DMA channel to 7, the GUS IRQ to 11 and the Sound Blaster/MIDI IRQ to 5.  These are the settings to which the card is initialized with ULTRINIT when the system boots into DOS.

Some games will have skips or lag in the GUS playback if the ISA bus speed is set to the default, 8.25MHz, but setting it to 7.19MHz in the BIOS seems to eliminate most problems.  Setting it to 6.6MHz is required for smooth playback in the DOOM games and One Must Fall 2097.  Other people get their Utrasounds working fine without needing separate DMA and IRQ settings or lowering the bus speed.  I do not know if this is an issue particular to the ACE or to the SiS motherboard chipset (SiS 85C471 + 85C407) I am using.

The first game here is Star Control II, which is one of the first games really to support the GUS.  One of the most obvious benefits of the GUS over the SB is stereo support.  SC2 only supports the basic Sound Blaster, it has no specific support for the Pro or the 16.  Sometimes, SC2 on my computer with the music or a sound effect being played back by the GUS will hang, giving a very unpleasant machine-gun like noise.  Disabling and reenabling the sound and music fixes the problem.





Next comes Epic Pinball, where the GUS shows a clear improvement over the SB Pro.  For this game, I let the demo run from the title screen, which gives a demonstration of the Android table.  There is support for stereo sound effects, namely the sound of the flippers, on both the GUS and the SB Pro.  The ACE 1.0 has the stereo channels reversed compared to other GUS cards, so I used a pair of RCA to minijack cables to correct this issue.  The SB Pro also has the stereo channels reversed, but the switched cable above fixes the issue.







Third in my list is One Must Fall 2097.  This game sounds really rough on the Sound Blaster, as it was being recorded as broadcast through an AM radio station.  Both Epic Pinball and One Must Fall were published by Epic MegaGames, but each were developed by third parties.  They may share sound drivers, because both drivers have the same quality settings for the Sound Blaster options.  I choose the High Quality (486DX/50) settings.  The Maximum Quality settings suggests a Pentium and I wanted to give a 486-quality experience.









Finally, we have Pinball Fantasies.  Pinball Fantasies has given me the least amount of trouble with the GUS for all the games.  The quality difference between the GUS and the SB Pro is not quite as pronounced.  Unlike Epic Pinball, there is no stereo sound effect for the flippers.  Pinball Fantasies supports full digital audio through the PC Speaker and the Covox Speech Thing, whereas you only get typical PC speaker sound effects from Epic Pinball.  I have added recordings for the PC Speaker and Covox, demonstrating the best you can get with some very crude hardware on a 486DX2/66.












In conclusion, despite all the wrestling and the setup you have to do with a GUS, I think most people would find the overall improvement in audio quality to be worth it.  Of course, I haven't even mentioned the DOS demos.  The GUS was the bedrock of the DOS demoscene, and if you have one you are good to go for just about any demo except really early demos like Crystal Dream and Copper. Not all DOS demos support the Sound Blaster, and many classic demos like Unreal and Second Reality that support both are not going to sound as good as they would with a GUS.

15 comments:

Raifield said...

The samples you've selected are great for comparisons since they're essentially the same tune with some differences. However, Zone 66 has two completely different sound tracks, one for GUS and one for everything else, neither of which share similarities, if my memory is correct.

Great Hierophant said...

I consider myself very familiar or at least reasonably familiar with the games I sampled. I only played Zone 66 for the first time the other day and I didn't get far into it. I did not know that it has a separate sound track for the non-GUS cards. It wouldn't have been a very good comparison for this article!

Three things I did learn about Zone 66 in my short experience with the game. First, it feels remarkably derivative of an unlicensed NES game called Firehawk. Second, it refuses to run with an EMM386.EXE style memory manager loaded, it complains that the system has been put in protected mode. Third, it refuses to load with HIMEM.SYS, complaining that it cannot load with an XMS manager installed. You really need a stripped AUTOEXEC.BAT and CONFIG.SYS to run this game. A few games have issues with EMM386.EXE, but this is the first I have encountered that doesn't like the relatively innocuous HIMEM>SYS.

Raifield said...

Zone 66 was programmed by a demo scene group (I think) and they delved heavily into assembly and then-obscure 386 tricks to get the game running smoothly on a 386SX, which it did. A side-effect of this was that nothing could be "in the way", no EMS, no XMS, nothing. The only way to get the thing to run at all was via a boot disk.

The game was sold on a similar model as Wolfenstein 3D, the first episode was free, then there were seven additional retail episodes, purchasable in packs of three.

One of the episodes has a crippling bug where one of the enemy installations won't register as destroyed after its gone, causing the game to never end. The workaround was to replace the episode's map file with a different one and rely on the mini-map to bomb the resulting invisible enemies.

Someone ripped the GUS and non-GUS music from the game, it can be found at http://baxpace.com/?M_page=zone66

Scali said...

Yup, to be more exact, Zone 66 was programmed by the demogroup Renaissance: http://www.pouet.net/groups.php?which=544
For their demos, they developed a special tracker which could combine 4 digital channels (like an Amiga MOD file) with 9 Adlib FM channels (OPL2).
They also used this tracker for Zone 66.
Since the GUS does not have an FM chip, it cannot play back the Adlib music. That might have been the reason to compose completely different music for the GUS.

Scali said...

You know, it's a bit ironic that games like Pinball Fantasies upstage an SB Pro really.
The PC version is literally just playing the Amiga soundtrack: https://youtu.be/7kZ-i9mGav4
That's a machine from 1985. You could buy an entire Amiga for the price of a Sound Blaster Pro back in the early 90s. And still the Amiga sounds better than the SB Pro does.
The GUS finally brought the Amiga sound quality to PC, and pushed it beyond. For even less than what you'd pay for an SB card.

ruinah said...

I remember as a kid discovering that Pinball Fantasies used .mod files for the music, so I would copy over random mods I'd downloaded into the folder and created a batch file that would rename files into the music file for the game so it'd play instead of the normal music. This usually created some unusual side effects due to the game looking for specific patterns and samples in the music for different segments. The format that Renaissance used, was that .669 or .MTM?

Scali said...

Neither, it was CDFM. They released the tracker for it only recently: http://www.pouet.net/prod.php?which=66736

Scali said...

Actually, the format is called 'DFM' (Digital+FM), I believe 'CDFM' is something like "Composer for DFM", the files are .670 or .C67.

firage said...

The One Must Fall theme is probably my favorite GUS tune. Your recording is doing something strange, though. There's quite a few instances of that bus lag I assume, and some notes seem to get eaten in mixing, at 1:04, 1:10, 1:18, 1:28, etc. :(

Great Hierophant said...

The GUS OMF skipping notes issue is a weird one. I tried lowering the bus speed to 6.6MHz and that seems to have fixed the issue. I have posted a new recording, so feel free to compare. It seems like 6.6MHz is the right bus speed for my card. I don't know if this is just my card being weird or an issue with the ACE, but I have never read anything about GUS cards being especially sensitive to bus speed.

Codringher said...

And what about Hocus Pocus?

Trixter said...

It doesn't seem fair to pit a GUS against an 8-bit card; an SB16 would have been a more fair comparison as the GUS performed IIRC 18-bit mixing internally and always output 16- or 18-bit audio.

Trixter said...

Reading the SDK, I'm wrong; the GF1 always mixes internally at 16-bit. But it also always outputs 16-bit, so my comment still stands: You should have compared the GUS with programs that support 16-bit software mixing and output on 16-bit cards. That seems more fair. In fact, since the GF1 performs linear interpolation, any game's software mixing engine that also performs linear interpolation should sound very close to the GUS (at the expense of using more CPU time, of course).

Scali said...

@Trixter: In theory a 16-bit card could sound better with software mixing. The GUS cannot maintain its 44.1 kHz when using more than 14 channels. Aside from that, software mixing could use higher internal precision and/or more advanced interpolation than just linear.

I guess the more important thing was the competitive price of the GUS at the time, and the fact that it relieved the CPU. Aside from that, despite its limitations, it just sounds very, very good (you barely even hear the gradually degrading mixing quality with more channels).

Perhaps its price made it more of a direct competitor to the SB Pro than the SB16?

Great Hierophant said...

Trixter, I believe your suggestion has merit. The object of this blog post was to show off games that were known for taking advantage of the GUS over more mainstream cards like the Sound Blaster series. I proceeded under the assumption that these games really didn't support 16-bit sound output on non-GUS cards. As shown by the new recordings, that assumed too much.

On the suggestion of Cloudschatze, I used my newly acquired (from him) Pro Audio Spectrum 16 to record these samples again. The PAS16 was using a High DMA, so it should be able to take advantage of any 16-bit playback these games may offer. I did not bother to record Star Control 2, because that game doesn't support 16-bit features on the PAS16 or SB16. In fact, I had to hex edit the game's executable to get SC2 working with the PAS16 at all, and then only as a Sound Blaster.

As for the other games, Pinball Fantasies on the PAS16 gives the GUS a serious run for its money. Epic Pinball is also very good with the PAS16, but the PAS16 has more pronounced hiss. One Must Fall still favors the GUS, although the PAS16 is much better than the SB Pro here.