VOGONS


First post, by jheronimus

User metadata
Rank Oldbie
Rank
Oldbie

Hi, all

Last week I've finally got myself a Gravis Ultrasound Classic in the form of Primax Soundstorm Wave (a late clone for the European market). I'm extremely excited about this card, so I wanted to make a perfect build for it. Here's what I needed:

- enough horsepower for any game that can use GUS in any form (so, fast enough for all late DOS games);
- several ISA slots. If this build ends up growing on me, I'll expand my sound options with other cards;
- something special.

Initially, I planned on a build with my Asus TX97-E (Socket 7, ATX) and Pentium MMX 233. I've been troubleshooting this board for more than a week and I still can't use MMX on it — looks like something is wrong with the VRM. So here is what I came up with:

7X28Rzym.jpg

- Intel VS440FX motherboard with Pentium Pro and 32MB RAM. Attached a fan from one of my Slot 1 CPUs;
- Tseng ET6000 (no extra RAM yet, unfortunately);
- Primax Soundstorm Wave M16B;
- obligatory 3COM 3C905 NIC card.

Now, this feels like a somewhat period-correct 1996 build! So now we're moving into a very special territory: 1996 is the year I've started gaming on my father's 486DX2 laptop. No sound, no CD-ROM, no network capability. This machine, on the other hand, would be the absolute high-end of what could be possible in 1996. Just imagine a 6-year old kid playing Fortnite on a 24-core Xeon and you can see what this machine would be like for me back then. Hence, the "overcompensation" part of this post's title. But let's move on.

I'm a sucker for nice cases, and I've had this one for a while:

8pqlLHJm.jpg

It's an 1998 early ATX tower case that I got with a Slot 1 Supermicro motherboard. Now, I can't identify the brand, but it kind of feels like one step above generic InWin cases. I mean, just look at these ridiculously over-engineered slot covers:

IFer2pym.jpg

Someone thought that just screwing the thing in wouldn't be enough — you really need a whole bunch of clips! The internal layout is somewhat typical for early ATX, a bit cramped:

LhXGSlRm.jpg

The PSU lies directly above the motherboard, obstructing the CPU. Luckily, I don't have a wide array of Socket 8 CPUs, so it's unlikely that I'm going to mess around with the CPU.

The biggest issue, of course, is the yellowing. For some reason, this case has 4 or 5 different hues of yellow, which, frankly, drives me mad. So, let's make my first attempt at retrobrighting ever!

JADUYTlm.jpg
FVvtggRm.jpg?1

This is honestly the most potent peroxide solution I could find in any of the beauty salons. Luckily, it's already cream-like. I've covered the entire faceplate of the case and put it on my balcony for some sweet, sweet UV light. Around 8 hours later this is what I've got:

0pTrvdIm.jpg

Now, I know this is not perfect, but I was still impressed (I've never done this before). I've made a close-up shot because the difference isn't really noticeable in real life. I wanted to make another attempt today, but we got a really cloudy Sunday. Okay, moving on.

ebbDjMbm.jpg

Here is what the system looks like with everything in place. I've added an 8GB Seagate hard drive and a quad speed Mitsumi drive. The faceplate was designed for an 8x Mitsumi drive which uses the same layout as my quad speed. The issue, however, is that this drive can't read CD-R disks. Well, looks like I need to find the 24x Mitsumi drive from the same model line!

Here is the end result after installing Windows 95 and all of the drivers:

8P0PpNwm.jpg

Admittedly, Tseng wasn't the best choice for GUS demos — Second Reality actually gave me weird artifacts. Besides, ET6000 seems to give a pretty dark picture in DOS games — even though Windows looks perfectly normal.

So, this build is now complete, but here are some of the things I need to do:

- figure out GUS. This card really doesn't like Windows. The Win9x drivers suck. The software is extremely complicated. Frankly, I feel like you'd have to really want to use a GUS back in the day — it just takes so much effort. But I really like the way GUS sounds in some games;
- make some benchmarks on the PPro. A recent discussion reminded me of the whole "PPro is slower than Pentium in DOS games" thing. This is not my first PPro build, and frankly, to me PPro always felt at least on par with Pentium, if not faster;
- make some upgrades. Get a 24x Mitsumi drive. Add a SB-compatible card. Maybe replace Tseng with S3 or Matrox?
- finish the retrobriting process on the faceplate.

MR BIOS catalog
Unicore catalog

Reply 2 of 13, by jheronimus

User metadata
Rank Oldbie
Rank
Oldbie

Okay, had entirely too much fun with GUS yesterday.

AGLTdmtm.jpg

First, I've downloaded all the demos and MOD tracks from the official GUS disk. Pentium Pro and Tseng is definitely an overkill for 1993-1994 productions, but around 90% of stuff works. I mostly don't like 90s electronic music but somehow I can appreciate tracker stuff. These things seem pretty impressive to me, especially when I remember that they were meant to run on a 486 machine and downloaded over a crappy dial-up connection.

I mean, look at this track. 160 kb and it's a full 3 minute song with some sampled vocals. A floppy disk can hold an album of songs like that.

Okay, I won't bore you with links to Second Reality, Crystal Dream or other well-known demos because I'm pretty sure everyone with a GUS-compatible device has seen all this stuff, but I'm still impressed after experiencing all this for the first time on real hardware. I didn't have Internet in the 90s, but this is what I suppose people had instead of YouTube and SoundCloud? I know this analogy might make people cringe, but I mean, Napster and MP3 revolution was still years away, so it seems to me that mods should have been a legit way of getting new music without leaving your house.

Next step were the WADs. I've downloaded the gusgonna.wad that fixes broken instrument mapping in all Doom games on Gravis. You know all these cheerful bells on the first level of Doom 2? Gone! It kinda puzzles me that id Software couldn't fix GUS support themselves, but I know that DMX library was a mess overall and it's one of the few things in Doom that weren't open sourced because id Software didn't write the code.

I think I've put this link in the original post, but Heart of the Hive from Icarus: Alien Vanguard is one of my favorite game soundtracks on GUS so far. Here you can hear the difference that gusgonna makes.

For some reason I've never played a lot of 3rd party WADs, so I feel like I'm going to spend some time of them now. Alien Vanguard doesn't seem like anything special in terms of gameplay or level design, but the soundtrack is really cool. Unlike the original Doom music it largely doesn't try to "imitate" rock music or real instruments (like a guitar, for instance), so it actually sounds less "karaoke" to me if that makes sense. I wonder what MIDI hardware did the MusIcarus use to write these tracks because it doesn't seem like a regular Roland Sound Canvas production.

Next step would probably to go through Top-100 WADs. I'm mostly interested in total conversions, but there seems to be a lot of great stuff here.

So yeah, somehow messing with GUS resulted in a trip into the Internet subculture of the 90s, and I really liked it.

Last edited by jheronimus on 2019-05-07, 22:37. Edited 1 time in total.

MR BIOS catalog
Unicore catalog

Reply 3 of 13, by Scali

User metadata
Rank l33t
Rank
l33t
jheronimus wrote:

This card really doesn't like Windows. The Win9x drivers suck. The software is extremely complicated. Frankly, I feel like you'd have to really want to use a GUS back in the day — it just takes so much effort.

The problem is that the Sound Blaster Pro set the standard for what a sound card should be in Windows.
The GUS is completely different. For starters, it does not have a regular DAC for digital audio playback (you have to stream data through one of the instruments of the wavetable synth). Also, it has a RAM-based wavetable synthesizer. You can use it to play MIDI files, but the patches need to be loaded for the MIDI file, which is something that is quite unique for the GUS.

There are various later GUS models that work better in Windows.
For example, the GUS MAX adds a standard ADC and DAC, so sample playback works the way Windows expects it.
The GUS Extreme combines an ESS AudioDrive with a GUS, which means you can use the ESS AudioDrive as a 'conventional' Windows audio device, with OPL3 support and a standard ADC/DAC, and use the GUS wavetable synth as optional.
The GUS P&P uses the AMD InterWave, which has 1mb of patches in ROM, so it can be used like a 'standard' MIDI synthesizer, and the rest of the chip was also designed with Windows in mind.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 4 of 13, by Scali

User metadata
Rank l33t
Rank
l33t
jheronimus wrote:

I didn't have Internet in the 90s, but this is what I suppose people had instead of YouTube and SoundCloud? I know this analogy might make people cringe, but I mean, Napster and MP3 revolution was still years away, so it seems to me that mods should have been a legit way of getting new music without leaving your house.

Yea I suppose.
I was into the demoscene myself, but even friends who were not really into the scene, but did have a soundcard, would have some MOD players on their machine, and often at least a few demos (Second Reality and Crystal Dream II were very wellknown). They would also swap music and demos a bit.
I had a modem myself, and I would occasionally dial into a BBS to download MODs and demos.
They would also occasionally be included on cover floppy disks or CD-ROMs with computer magazines.
There were even CD-ROMs of collections of MODs and other tracker music available in computer shops. I bought one of those at one point.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 5 of 13, by jheronimus

User metadata
Rank Oldbie
Rank
Oldbie

Hi, Scali, glad to see you! I've been reading your blog for a while now 😀

Well, my first experience with GUS was actually PnP Pro under Windows 95 and I can't say it worked any better. But of course I realise that it's not just the issues with software, but also me being totally unfamiliar with how GUS works. This is why I wanted a more basic device with better compatibility (which is why I picked a GUS Classic clone).

I've thought about making a pure DOS machine to mess around with Primax, but my priority was to get enough performance in any game that supports the card. Besides, Primax seems to work fine in DOS mode of Win95. I'm yet to try stuff like Mega-Em and Ultramid, though — and I'll need some sort of memory manager for that.

MR BIOS catalog
Unicore catalog

Reply 6 of 13, by jheronimus

User metadata
Rank Oldbie
Rank
Oldbie

Spend a second evening with GUS stuff. Basically, I ended up doing two things.

First, I've reconfigured Windows. Now it starts into DOS, with QEMM managing memory (I like its fast reboot feature quite a lot), UNIVBE for better VGA performance and other additions like ctmouse, 4DOS and CD-ROM drivers.

I've finally become really comfortable with DOS mode of Win95 and it occured to me that there is a simple way to deal with Win95 issues with GUS: I just don't need to set it up under Win95. I'll probably add a Soundblaster clone anyways, so I really don't need GUS working in Windows. Demos and other stuff are better off under DOS anyways.

Second, I've followed this guide to "properly" install GUS drivers under DOS. I do appreciate how straightforward it is, but it really made me chuckle at times.

What would be an obvious way to install some drivers? Get 4.11 drivers, install them.

What does the guide suggest I do? Get 4.10 drivers, use the "restore" option followed by the "install" option. Get 4.11 update files, use the "restore" option followed by the "install" option. Why? Apparently, you get a full installation that way. Same goes for ProPatches Lite: install 1.50 then install 1.61.

Another funny thing. Remember how Star Control 2 was one of the first games with native GUS support? Yea, but if you try to launch it, it'll freeze instantly. How do you fix that? By disabling the second IRQ, of course!

Don't get me wrong, I thoroughly enjoy the whole thing (and I've actually learned a lot in these two days), but I can't stop getting amused by these "quirks".

MR BIOS catalog
Unicore catalog

Reply 7 of 13, by Scali

User metadata
Rank l33t
Rank
l33t
jheronimus wrote:

Another funny thing. Remember how Star Control 2 was one of the first games with native GUS support? Yea, but if you try to launch it, it'll freeze instantly. How do you fix that? By disabling the second IRQ, of course!

Yes, things like this are why DirectX in Windows 95 was such a blessing: in DOS, every developer had to implement their own drivers for all hardware. In Windows, direct hardware access was restricted to device drivers only, and applications would access hardware via the DirectX abstraction layer. All the low-level stuff such as dealing with IRQ, DMA and such was handled by a standard driver, provided by the hardware vendor, which was generally very reliable (written by the people who built the hardware).
In those days, it was often difficult to get hold of programming information. You had to contact the hardware vendor, and often had to buy the documentation and programming tools. Some things were undocumented, and not available to third-party developers at all.
As a result, people would start to reverse-engineer the hardware and software, and build their own free documentation. In the demoscene, that is how GUS and SB support was done. I wouldn't be surprised if at least some game developers also used this information, rather than the official stuff (especially since quite a few game developers came from the demoscene).

To draw a parallel, the same happened on the second generation Amiga, with the AGA chipset (models 1200 and 4000). Commodore documented the full chipset at the register level for the original Amiga. But they did not document the new AGA chipset at all. The underlying idea was the same as with DirectX: Commodore wanted application developers to only access the hardware via libraries provided by Commodore. The advantage would be (as with DirectX), that the underlying hardware could be updated/changed, while the library layer would maintain compatibility with applications.
However, developers were used to direct hardware access, and extracting the maximum performance from the hardware. So they reverse-engineered the libraries and made their own unofficial documentation.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 8 of 13, by jheronimus

User metadata
Rank Oldbie
Rank
Oldbie

Made a bunch of upgrades today.

It all started with me getting a cheap Pentium MMX machine that came with a Tseng ET6000 with a couple of socketable MDRAM chips. This presented me with a dilemma:

Untitled.jpg
Filename
Untitled.jpg
File size
1.95 MiB
Views
1282 views
File license
Fair use/fair dealing exception

I have two ET6000s (well, actually three, but the third one doesn't have any RAM). One has socketed MDRAM chips and the other has them soldered. I also have a ET6100 with two socketed chips. All of them are MD908 (1MB per chip), not MD909 (1.125MB per chip). So I've decided to switch to ET6100 and upgrade to 4 megs of RAM. AFAIK this shouldn't give me any benefit apart from being able to use higher resolutions. The issue is that ET6100 used to have issues with RAM and it showed me 1 meg of RAM instead of 2. I've removed all the chips, checked their legs and cleaned them. Now I supposedly have 4 megs of RAM. Any tool to check the video memory? I've ran a bunch of DOS graphics benchmarks with no issues though.

Okay, no I have a kickass 2D card, but I should probably get something for 3D. I've considered Voodoo 1, Voodoo 2 and ended up sticking two of those:

192391.jpg

So it's a Voodoo 2 SLI with two STB-made cards with 12 megs of RAM. I've install FastVoodoo 2 4.6 drivers and DirectX 6.1. Remedy's Final Reality benchmark can't find a hardware 3D device for some reason, but GlQuake runs beautifully. One might argue that V2 SLI is better suited for a P3 machine, but I have a V5 for that.

Finally I've decided to add an SB16-compatible card:

2019-06-09 20.12.53.jpg
Filename
2019-06-09 20.12.53.jpg
File size
1.95 MiB
Views
1282 views
File license
Fair use/fair dealing exception

It's a Vibra CT2900. It has true OPL3 (I want to run AdLib Tracker on it) and is supposed to have the cleanest sound output. Also unlike my CT2940 it has at least some jumpers (for the CD headers). I don't intend to use this card for MIDI, so I don't care about the hanging note bug.

And just like this, my DOS machine turned into a fairly powerful early Windows 9x system, capable of playing games like Quake 2, Daikatana, Half-Life and Unreal. I specifically plan to try Daikatana 1.3 with WickedGL and try out some Doom sourceports with OpenGL support.

I'm still figuring out some hardware issues:

- I've disabled GUS in Windows. It gave me weird stuttering under Quake, and I'm going to mostly use it in DOS mode anyhow. The system doesn't give me a weird resources conflict error at POST — that one didn't actually affect anything, but required pressing F1 every time I wanted to boot.
- I'm still configuring SB16 under DOS. It works great in Windows, but after a successful Diagnose.exe run I don't have any sound in DOS anymore.
- I still wonder why Final Reality won't run on Voodoo 2.

Last edited by jheronimus on 2019-06-19, 11:30. Edited 1 time in total.

MR BIOS catalog
Unicore catalog

Reply 10 of 13, by jheronimus

User metadata
Rank Oldbie
Rank
Oldbie
oeuvre wrote:

once it's all set this will be a dope build! congrats and keep up the good work mate

Thanks! I've made some progress already.

- Got SB16 to work under Win95's DOS mode. Turns out, you need not only 95dosapp package, but also CTCM. The installer doesn't work, so you just need to unpack it and modify the autoexec.bat. Wonder why they didn't include that into 95dosapp in the first place.
- Apparently, Tseng ET6100 sees all the 4 megs of RAM. I've tried switching Windows to 1600x1200@16 bit — the maximum resolution ET6100 supports. It's too small to use, but it works. Final Reality and 3DMark 99 still think I have no DirectX-capable card though.

MR BIOS catalog
Unicore catalog

Reply 11 of 13, by jheronimus

User metadata
Rank Oldbie
Rank
Oldbie

More progress:

1) apparently, FinalReality and 3DMark 99 didn't have issues with ET6100, I just needed a newer DX. I've upgraded from 6.1 to 7 and everything works now.

yI63hBlm.jpg

BTW, the "turbo" option on this motherboard basically means disabling L1 and L2 caches. This absolutely decimates the performance, down to 286 levels:

vtWfjhQm.jpg

2) 3DMark needs 64 megs of RAM, so I've upgraded the system. Since I had to open the case again, I've added a 10GB Quantum Fireball hard drive.

MR BIOS catalog
Unicore catalog

Reply 12 of 13, by badmojo

User metadata
Rank l33t
Rank
l33t
jheronimus wrote:

BTW, the "turbo" option on this motherboard basically means disabling L1 and L2 caches. This absolutely decimates the performance, down to 286 levels:

That might actually be a useful turbo function then - my experience has been that generally de-turbo doesn't slow down the machine enough, even on 486 boards.

Cool build this, excellent work.

Life? Don't talk to me about life.

Reply 13 of 13, by jheronimus

User metadata
Rank Oldbie
Rank
Oldbie
badmojo wrote:

That might actually be a useful turbo function then - my experience has been that generally de-turbo doesn't slow down the machine enough, even on 486 boards.

Thing is, turbo is present on all Intel-made Pentium boards from Batman (Pentium 60) to Tucson (TC430HX). It's also supposed to be present on this board.

In all cases it's written in manual that you should get a "25MHz AT-class performance" and I've tested that on both Batman's Revenge and Advanced/ML (430HX-based budget board) — you really get something close to 386@33 (Wing Commander works pretty nice). On AT boards like Batman's Revenge you have an actual turbo header, on ATX boards you can press Ctrl+Alt+"+"/"-".

On Pentium Pro this simply doesn't work. You have a "Turbo" option in BIOS, but the keyboard shortcut doesn't work — so, again, this just works like disabling L1 cache. Also the system becomes too slow to do anything useful. Tested it on VS440FX and AP440FX.

badmojo wrote:

Cool build this, excellent work.

Thanks a lot!

MR BIOS catalog
Unicore catalog