Advanced Gravis

My experience with the Gravis UltraSound

(guest post from Frank Sapone)

gravlogo

Sometime around 1992, Advanced Gravis teamed up with Forte/E-Tek to design a wavetable synthesis card around the ICS11614 IC. This card offered 32 channels, 14 channels @ 44khz and more channels would start dividing down in sound quality until you got to 32 channels at ~19khz. The mixing was done on-board which saved precious CPU cycles in the days of 286 and 386. The card originally advertised sound blaster support, but reading usenet posts from these days you can tell a lot of people were agitated that it was through a TSR, SBOS, that had hit or miss support and sometimes sounded better or worse than the FM because SBOS mixed it all into stereo.

I found out about these mythical cards a few years ago. A buddy went along with me to the local flea market out in the country-side of York, PA and we found a fellow who was trying to sell some P2-era laptops with USB wifi dongles and Windows XP loaded laptops for $100(!). I started talking with this gentleman and eventually convinced him to let me take a trip to his house and see what other stuff he may have. I took home a healthy share of various SB clones (mostly of the ESS variety, but a few Yamahas were in there as well) and some S3 Virge cards all for free. I built a computer with some of these parts, enough to play Doom and Heretic and started hitting up vogons and was reading some fanboism on the Gravis UltraSound cards. Where did I hear that name before? Oh, yes, in my mid-late 90s days of Doom I remember the setup.exe listed this card as an option and so did Duke3D and some other games I used to play quite frequently.

I did a lot of research on the card. Reading about how it used wavetable synthesis instead of FM. Basically, you can upload real MIDI-like patches to the cards RAM to get exceptional sound quality out of these older games and this also opens the window to creating your own patches if you wanted to tweak the sound of the songs.

Ultrasound Classic

Ultrasound Classic

Fast forward a couple of years later, I finally broke down and bought a GUS Classic v2.4 on ebay for $60. Unfortunately, it didn’t work out of the box. Failing to detect the card every single time, even if I removed everything from the computer and even disabled everything in the BIOS, including the FDC, Serial and Parallel ports. I got a refund, but a few days later I noticed some resistor had a broken leg and I soldered this and it started working! Immediately I loaded up Doom and the music sounded so much better than my SB or any of it’s clones.

Doom

Doom

Enjoying the sound, I started loading up other titles I played a lot back then that I remembered supporting this card: Descent, Heretic, Duke3D, Quake 1. I got a taste of some infamous Gravis issues when it came time to load up any Build engine title (Duke3D, Blood, SW, etc.) and Rise of the Triad. The music sounded great, but the digital voices had some weird clicks and somewhat static-like sound at the end of their samples. More research revealed that the GUS was known for this with those particular titles, and a ìsimpleî workaround is to get an SB card coexisting in the same box.

I amazingly got the SB and GUS living in the same machine after a few hours of fiddling around with some jumpers and tweaking autoexec.bat. Originally, I used one of those stereo to stereo cables. Running line out of the SB to the line in of the GUS, but the GUS’ mixer ìcolouredî the sound of the line in and mic in with entirely way too much bass. I made a cable that ran from line out of the SB16 to the CD-In of the GUS and it sounded excellent. I even found a way to keep my SB working in Win98SE this since it was known that the GUS had shitty support for the Win9x family (more on this later).

There are some shortcomings of the classic cards, the main being the Win9x drivers have no DirectSound support, only software emulation and usenet says that this had unpredictable results. Another annoying thing was no volume mixer(!), they expected you to hook this card up to powered speakers or ideally an amplifier. The v3.7 revision has a volume mixer but had problems with flip flopped stereo (whoops!) and v3.74 (the final GUS classic) fixed this problem. For those curious, for the most part revision versions don’t have bug fixes in their firmware, they just started finding ways to shrink the number of ICs on board. The exception to this was the v3.7 and v3.74 adding the volume mixer. GUS MAX v1.7 apparently had some sort of DMA or IRQ bug (forget these specifics) according to usenet, v1.8 fixed this problem and v2.1 is a v1.8 but lower component count and everything is now soldered on instead of sockets.

Other gotchas include: sound clicking and corruption on High-DMA, sometimes you can resolve this by setting 16-bit delay transactions but not all motherboards have this option and some just won’t work either way. Doubling up on the baseport, i.e. 220 also steals 320. Gravis claims you need to set the GUS and SB Emu IRQ to different values but they can be the same usually and have no problems. Same with the Playback and Recording DMA, unless you want full-duplex. If you’re just gaming it’s irrelevant.

Ultrasound MAX box

Ultrasound MAX box

At some point, I was hungry for more, wanting to try out the later GUS models like the MAX, ACE, and PnP. Particularly the GUS MAX because it included the volume mixer, had a special Crystal CODEC chip for 16-bit recording (was released late in GUS classics life as a daughterboard but it is very rare), the CODEC chip allowed for Windows Sound System, but the port is non-standard (gotcha!) and a special SBOS, MAXSBOS, takes advantage of the CODEC chip as well, and finally some CD-ROM support on board but I was uninterested in that since most of you know how much of a nightmare it is to get that shit working properly. Back to ebay, found a fellow selling a boxed GUS MAX for $100. I didn’t have the total cash on me at the time and it was buy-it-now. Considering the card was fairly hard to find, at least from what I researched at the time, I contacted the guy about paying half now and the other half in a few days. He agreed, and asked that I send it as a gift via paypal. Long story short, he never sent it, stopped replying to my emails and since it was sent as a ìgiftî I had no recourse through ebay or paypal. Learn that lesson when dealing online everyone! Always offer to pay a little extra for the processing fee if they claim this is why they want it set as a gift!

Bummed out, I found another classic, this time a v2.7 and well what do you know, this one doesn’t work either! Tried for 3 days all kinds of things. Cleaning the entire board off with electrical contact cleaner, reseating the contacts on the socketed chips, reflowing solder joints, replacing capacitors, but nothing ever brought it back to life. A year or two later, I found another GUS MAX for sale on ebay, purchased it immediately and it did not work. I tried it in 3 separate PCs and got no results. It always just said baseport UNAVAIALBLE FOR ULTRASOUND for whatever baseport I set it to. However, it wasn’t a total loss. On a whim, I took the GF1 IC from this MAX and placed it in the broken v2.7 classic and it made this card live again.

I setup daily searches for ebay to alert me immediately of any GUS developments appearing. If you’re new to the whole Gravis thing you’ll see theres a guy in Hungary who always has overpriced ones for sale and is unwilling to budge on price. If you check out his feedback you will see that he has been selling GUS cards of all flavours since at least 2010(!) almost monthly. Months and months went by with no MAX showing up and when one finally did it went for way more than I was willing to spend especially with the track record of 2 (almost 3) DOA cards that required soldering and intense cleaning to live again. If you’re planning to experiment with GUS cards be sure the card was tested recently, if you get the typical responses of not having an ISA PC around any more to test it, get the card cheaply and be certain that they will honour the return policy if it does not work.

MAX 2.1 board

MAX 2.1 board

Finally, after a couple of years I did some networking and found some fellow demosceners with GUS MAXes for the price of shipping. I’m waiting on my v2.1, but received two v1.8s. The first one did not work at all, would never detect properly. Tried the usual suspects of cleaning it up, reseating, rocking the caps a little back and forth to make sure everything was making contact, etc. The second one, actually detected the card saying UNAVAIALBLE FOR ULTRASOUND yet again, but this time after I disabled my FDC, Serial and Parallel ports it worked! Excited, I loaded up the usual games and all worked great and the CODEC chip’s mixer program worked properly. Now, I was read to add the SB16 back in but now no matter what base port I would select it always complained it was unavailable, yet again! At some point I got it working sort of but then it wouldn’t let me set any DMA properly in the setup utility. Enough of this nonsense, I thought, I have a few socket 7 towers not being used.

I popped it in to a P1 166MHZ living by itself. Now we can try out that special MAXSBOS!… and unfortunately it doesn’t sound better than SBOS, in fact it sounds worse! And yes, I tried a separate IRQ for SB emulation and low-DMA, high-DMA, making sure the CD-ROM baseport doesn’t conflict with GUS’ baseport and I have 1MB RAM onboard that is 70ns.

At this point I should stop and mention a few other gotchas on these MAX cards. The GUS ìdoublesî up on the baseport. i.e. if you set 220 it will also grab 320. The CD-ROM baseport on these cards will be set, even if you disable the rest of the CD-ROM interface. So make sure you don’t have the CD-ROM set to the same or else it will always complain it’s unavailable for ultrasound in the setup utility. And yes, you just have to remove the IRQ and DMA jumpers on the card and put the jumper on the CD-ROM disable. Panasonic enable jumper appears to make no difference regards to enabling parts of the CD-ROM circuit, unless of course you planned on using the CD-ROM interface. I’m assuming most of you out there won’t be. You also need 70ns rated (or better) 256kx4 chip. The MAX has 512kb RAM on board but you NEED 1MB on any GUS card to get great results or live with missing instruments and all kinds of funnies happening to you. The CODEC also uses some baseport, but this is software selectable so you should have no serious problem there.

Now I go on to try this bad boy out in Win98SE with the special DirectSound enabled drivers. When you install the Gravis GF1 (non PnP) series drivers it will tell you that you have to install the card as a non-PnP device and restart, then manually set the DMA, IRQ, Baseport in the advanced properties for the card. This is fairly trivial if you’re used to DOS, but for newbies just keep it in mind. Another gotcha here is that the drivers will blank out your SET ULTRASND= and SET ULTRA16(for MAX users)= in your autoexec.bat after the reboot so write these values down. I believe this was done on purpose since most people auto loaded SBOS or MEGAEM (the other SB emulator they had) and this conflicts with Windows big time. The drivers do work and the sound quality is fine, but the biggest issue I’ve had is that sndvol32.exe never loads now. You can not adjust the volume or disable the mic-in and line-in and you really should as every card I’ve owned the recording inputs pick up a lot of interference. Moving the mouse and the HDD just all come through your speakers. I haven’t tried Windows 95 yet, maybe the mixer works okay there? At some point I’ll post an update and let internet-land know.

Gravis Ultrasound ACE

Gravis Ultrasound ACE

SoundBuddy 1.0 prototype

SoundBuddy 1.0 prototype

I don’t own these cards, but will mention them for clarity. The GUS ACE (internally referred to as the Sound Buddy) is simply a GUS Classic without the recording capabilities or the gameport. It was meant to be a supplement to a sound blaster or similar clone. You simply run the line out of this card to your line in of your SB16 (or maybe it’s vice-versa? Correct me if need be). You have to update your ultrinit to the last known version because there’s a bug in the official drivers(!) that does not disable the nonexistant gameport and it will steal your other sound cards gameport cause conflicts. For those who need the fix, GUS0047.ZIP. At one point, Gravis struck a deal with AMD to make an enhanced chip, called the InterWave which had GUS support and allows 8MB of samples (16MB apparently if you solder some stuff, but I have yet to see any pictures or even a textfile on this hack). Pouet.net sceners say that it has problems with long loops so some demos may sound wrong. IWSBOS is based from MAXSBOS so I assume it probably sounds just as bad compared to the final revision of SBOS. Usenet posts of users crying that the Win9x drivers are awful too, but again, I don’t own this card so I’m only just passing on what I have heard. Feel free to prove me wrong in the comments.

ViperMAX board

ViperMAX board

Other weirdo cards included the Synergy ViperMAX, which is basically a GUS with an ESS chip for SB compatibility. In theory, this means you should get decent Win9x support through the ESS. These cards are kind of rare now. I have yet to see one appear in the US. But, fellow Pouet.net users have found them across the EU so maybe they are common there. There were some other OEM variants, most similar in design to the ViperMAX. Check out Wikipedia for information on those if you really must know more.

My final thoughts on this long (still not quite yet over) journey is that the GUS Classic is a fun card for breathing some life into the soundtracks of older id and apogee titles with a few silly hang ups on getting it to work initially. The MAX did not live up to its mythical hype with the mixer, special CODEC chip, and Win9x drivers. These cards appear to be very delicate because I have had 3 out of 5 cards DOA and required fooling around to get them to work again. Even though 2 MAX cards still do not work no matter what I’ve tried. Expect to buy more than one to get a working card. The ideal setup would be to get a GUS Classic or ACE and get that to coexist with an SB or compatible clone. I can’t comment on the ViperMAX as I have not located one yet.

Gravis Ultrasound MAX 2.3 prototype

Gravis Ultrasound MAX 2.3 prototype

As much frustration these cards have brought me, they still sound nice when they work! But, it really does make a lot of sense why they are rare today. It is quite aggravating to get one working properly!

All of this would be useless without some samples of what a GUS sounds like, all samples were recorded at 44,100Hz, …

DOOM e1m1


DOOM e2m6


DOOM e2m8


DOOM e3m1


DOOM e3m2

Chex Quest

Chex Quest

Chex Quest montagé

I’ve never heard of Chex Quest.  I guess because at the time, 1996 I wasn’t that big on kids cereal.  But as it turns out, Digital Café had been selected by WatersMolitor, care of Ralston Foods to create something for this new fangled digital age to get kids to eat Chex.

You can of course read all about it on wiki, or one of the many fan pages & forums..

So yeah, it’s Ultimate DOOM, done as a total conversion.  All licensed from iD in the days before Quake.

Unlike DOOM, and it’s feel for ultra-violence, you just zap green slime things back to their home dimension while you try to free your Chex people things.  I guess this shouldn’t be surprising, remember there is that horrid ‘Super 3d Noah’s Ark‘ thing that is built around Wolfenstein 3D.

And it was a few more years (1999) until we had to deal with Columbine, and how violent video games make people kill (just like loud music, role playing games, books, and other things before that).

Terminator Rampage.

terminator rampage front

Terminator Rampage

Back in October of 1993, this cool looking game, The Terminator Rampage was released.

But sadly I had a lowly 4MB 386sx-16 with CGA, so things like this game with it’s awesome VGA graphics were an impossibility.

Even more sad at the time was that ‘primitive’ 3d games like wolfenstein 3d also required VGA.

But as we all know a few short months later, DOOM was released, and then Terminator Rampage was quickly swept off the face of the earth.

I recently came across this page,  and I thought I’d give it a shot.  The requirements are pretty ‘minimal’:

  • Minimal 386DX-25 with 4MB of Ram, VGA & 18MB of disk space
  •  Recommended 386DX-33 or 486DX-33

So I was thinking Qemu could easily run this game.  Long story short, it doesn’t work.  Turns out Rampage needs EMS.  And for whatever reasons, running emm386.exe on Qemu (I tried a handful of versions) just crash on Qemu after initialization.  Failing with stock Microsoft EMM386, I tried JEMM, which loaded, and ran it’s built in EMS diagnostics OK, but trying to run Rampage resulted in a nice crash.

Qemu crash

Qemu crash

So giving up on Qemu, I tried it on DOSBox.  It runs but it is incredibly jerky.  So I thought I’d try PCem, and see how it runs there.

So the plus side is that PCem, is able to run MS-DOS & EMM386.EXE without issues.  It only took a few minutes to install MS-DOS 5.0 and Rampage on my ‘virtual’ 486DX2/66 with 8MB, of ram, and load up Rampage to be greeted with it’s jerky motion.

Thinking its something with emulation in general I fire up Norton SI to get some PCem scores how it benches against known good samples.

pcem 8.1 386DX33 Norton SI score

386DX-33Mhz 37.4

pcem 8.1 486DX2-66 Norton SI score

486DX/2-66Mhz 136.8

pcem 8.1 WinChip90 Norton SI score

WinChip-90 186

Then comparing the scores to this handy (if not ancient) Norton Si benchmark spread we see:

Pentium 60mhz
=============
IBM Clone               P5/60              256k              187.2
w/ Premiere MB

486 DX2/66mhz
=============
Elitegroup (ECS)       iDX2/66             256k              147.3
SA486P AIO-II
INTEL CDC,SIO&DPU

386 DX 33mhz
=============
Forex 36C100 iDX/33 128k 35.9

Well now that interesting, so at a ‘raw’ CPU level, PCem is delivering on what would be classical performance.  So for the heck of it, I load up DOOM, and it runs a bit choppy on the 386, but flies on the 486 & Winchip emulation.  Now that is strange.  And just to confirm…

Terminator Rampage Box (back)

Terminator Rampage Box (back)

They really thought this would be playable on a 486 @ 33Mhz.

So how does it choke?  While going straight is ‘ok’ turning around is so utterly sluggish that there is no feeling of immersion.  It feels like you are driving an incredibly slow tank.  At the same time, the more realistic sprites, and textures serve to make it look even more unrealistic.

So what am I talking about?

Well here is a screenshot of Wolfenstein 3d on the 386DX-33 (and more than playable).

Wolfenstein 3d

Wolfenstein 3d

As you can see, there is no ceiling, and no floor textures.  The walls are all uniform height, and the textures were clearly drawn by hand, giving it a very fake and ’16bit’ feeling.  I should also add on a capable 286, this game is playable.

Terminator Rampage

Terminator Rampage

Now at first it looks like it has a lot in common with the soon to be release DOOM, with textured ceilings and floors.

Doom

Doom

Now as you can see the difference in DOOM is the 2.5D effect of there being lower areas so you can go up and down stairs (while you cannot go under them).  Also Doom introduces dynamic lighting, and better sound rendering.

While I do like Rampage’s upfront map, as you can see thought, it is very square. In a small effort to ‘speed’ up Rampage you can turn off the ceilings and floors revealing a very Wolf3d like environment.  Unfortunately the more they tried to give the world  detail, the more it well just looks flat.

No ceilings, No floors.

No ceilings, No floors.

Which kind of kills the whole thing.  Maybe they should have left out things like water fountains.

High detail sprites

High detail sprites

Then you get things like this computer setup (one of the programmers? The accountant’s lamp is a nice touch) but it’s a sprite, so as you rotate around it, you always see the same face.

Ironically it’s these high resolution background sprites that make the environment feel less real, as they make the rooms feel too open, and too sparse.

Too open, and yet too sparse

Too open, and yet too sparse

It is the real paradox that in a good shooter you have lots of room, and things to duck behind, but the rooms feel too large, and look bizarre with the massive open spaces.  But it is more so a limitation of the time, with the engine being more of an improved Wolf3d engine, than taking a larger leap into being something more 2.5d or 3d like Doom (or the distant Quake).

Another thing that really bugged me was the doors.

Doom door

Doom door

In doom, the doors felt more ‘natural’ in that they weren’t super wide.

Screen Shot 2014-04-28 at 10.44.09 PM

Generic office door in Rampage

But in rampage they are stretched wide giving the impression of why you can’t turn is you are incredibly wide..

Screen Shot 2014-04-28 at 10.43.16 PM

Rampage ‘exit’ door

Even the ‘exit’ door texture still feels too wide.

I could probably get by the empty spaces, but it takes so long to turn around, and the controls feel so unnatural (they don’t even try to be a Wolf3d control-a-like) that it really feels klunky.  No matter what speed you play it at.

It really was an exercise in frustration.

Blackthorne is now freeware!

From DOS ain’t dead: the game was added to battle.net as a free download (1,2).  But you don’t need a battle.net account to download it, just get the ‘executable’ here.

Then unpack with 7zip and rename some files:

$ mv _7770311E01264484BDC66FB81E4EF650 blthorn.exe
$ mv _126448A72F4442D39DCD600746EE09F7 data.dat
$ mv _C987F762EF304955BB86AB432FF6F847 manual.pdf

I set DOSBox to run about 20,000 cycles so it’s not tooo bad.

Blackthorne

Blackthorne

Blake Stone source code released!

Blake Stone!

Blake Stone!

 

Honestly I never played Blake Stone, because as the wikipedia entry says DOOM came out a week later.  Blake is a Wolf3d variant, so I would imagine that the same build environment that can build Wolf3d can build Blake (Borland C 3.1 & TASM 3.1).

For those of you interested in this 20+ year old artifact, you can download the source code here.  And as mentioned Blake can be purchased through steam as part of the Apogee Throwback Pack.

An update to the whole thing, Marakaate has fixed the source well enough to compile!  You can read about his adventure here, and download his updated source here.  He’s also asked me to plug his BBS, marabbs.no-ip.org .. You can just telnet to the IP address.  There is some palette issues as they are compiled into the game, not read from the data files (wtf?) and have been extracted from an exe, however the starting logo is all wrong.. But the game works.

So, enjoy!

Elite Dangerous

There has been some buzz about for years (decades?) about a new Elite game.  Sure the Frontier sequels were simply amazing, but now that PC’s are far more advanced than they’ve ever been, what would Elite look like today?

 

So here is a small taste!

Unlike other video games, there has been a movement afoot of the end customer directly financing the upstart cost for projects to get them off the ground.  The idea being that people themselves may be interested in a product, and they can cut out the middle men of marketers & financiers, and do so in a mob fashion.  Kickstarter is one of many sites built for this purpose.

So I was surprised to find that David Braben (Of recent Raspberry Pi fame), had started one for the future of Elite, right here.  He is trying to raise a hefty £1,250,000 to directly fund this new version of Elite.  Right now he is £683,487 short but has 41 days to go.  I would imagine that one of the reasons of why they want to go this way, is that during the Frontier days when GameTek went bankrupt, leaving much of their distribution and marketing in the air.

Is this madness?  Maybe a tad, but the original developers behind Wing Commander managed to fun their project, Star Citizen on Kickstarter as well!

Of course here is the original pitch video:

 

And be sure to check out the projects website.

Oh yeah, and as part of my jdosbox rescue, I’ve cleaned up the Frontier Elite & First Encounters images so they work now!

Fallout New Vegas on CrossOver

it runs!

So I’ve been dying to play this on OS X for quite some time to no avail.  So after the CrossOver give away I thought I’d be set! .. I installed steam, spent forever downloading and installing Fallout to only get either a blank white screen when running in full screen mode, or a black window running in a window.

So finally messing with ‘bottle’ settings I stumbled on the ability to run a session in an ’emulated desktop’.  And with that setup with a big enough resolution, boom run it again and it works fine in a window!

Sadly I never held onto my save games so looks like I’ll be starting from scratch.

Final Fantasy VII re-released for the PC

Not to shill too hard for it, but it is for sale for 10 euros, or 8 pounds sterling..  I should hope that this 1997 classic should work on modern PCs.. Which has been a pain for anyone whos owned this when it originally came out for the PC.  Although as far as I can tell this doesn’t add anything from the original version … Other than some click to cheat thing but.. There you go.