WYSE Unix Virtualized

(this is a guest post from Tenox)

wyseunix

WYSE Unix Virtualization Challenge has been officially won by Mihai Gaitos of hawk.ro. He received $100 prize via PayPal. Congratulations!

WYSE Unix has now been virtualized and can run in Qemu via Curses mode, or modified Bochs due to character map issues and vanilla VirtualBox!

wyse_on_bochswyse_on_vboxMihai has posted some gory details of the installation challenges on his website.

Ready to run image with modified Bochs binary for Linux is available here.
VirtualBox OVA file available here.

For hard core fanatics, the system comes with SLIP/slattach so you should be able to network it much like Dell Unix.

Special thanks to:
Andrew Gong for finding a tape image on eBay
Al Kossow of bitsavers.org for recovering the tape image
Michal Necasek for patching up the original floppy disk image

 

Porting Quake II to MS-DOS pt5 – 3DFX, GameSpy, Quake 2, and The Universe

The following is a guest post / wrap-up of the Q2DOS adventure by [HCI]Mara’akate.q2dos_3dfx_4
In the last update sezero and I([HCI]Mara’akate) tied up most loose ends with regards to Q2DOS.  Specifically: adding in DXE support for mods and cleaning up some code from the early efforts.  During this time, a forum user by the name of ggorts (strogg spelled backwards!) mentioned the possibility of using an old Mesa version with 3DFX support in DOS. I worked on separating the ref_soft from being statically linked into a DXE form and sezero cleaned up any potential problems there.

I mentioned the possibility of attempting the Mesa port to sezero and he thought it was probably a wasted effort and thought making a ref_glide depending only on glide3x.dxe would be a better way to go with less overhead.  I started some initial work on it but quickly abandoned this side-project as I have no real glide (or even OpenGL) knowledge and didn’t have enough time on my hands to play around with it.

Around this time, we also separated the GameSpy browser code into a separate DXE for potential legal issues.  The GameSpy code was publicly released, but never officially GPL’d.  Using this method, other port authors could link against a gamespy.dll to add in the browser capabilities that connect to my GameSpy master server emulator (see QDOS branch for source code to that particular project).

Ggorts also came up with some code for us to be able to finally use the banked modes and Mode-X 320×240.  Though 320×240 Mode-X seems to have some issues with certain emulator configurations, for the most part it works OK.  This also helped us to get some ASM rendering code in from Q1 and help clean up the original mess that was the SVGA driver; a lot of unused code from Q1 was removed and sezero found a clever way to send the video modes list between the game binary and renderer DXE.

In any event, one night I figured I’d take a stab at trying to get Mesa working in Q2DOS.  Checking out the Mesa3d FTP and researching the various changelogs it appears as if Mesa 5 series was the last true effort with Mesa 6.4.x series being the last maintained version with 3DFX specific code.  I got everything to compile but ran into hard-lock issues no matter what I attempted.  During this time, ggorts found out some various small, but now obvious issues. Including increasing the stack size to 1MB and he hard-coded the ref_gl to only work in 640×480.  It took a lot of pleading but eventually he released his source with a static compile for Voodoo 1 cards only as he was testing this on emulators like DOSBox with glide support and PCem dev branch.

I worked on cleaning up the source and he produced some glide3x libraries for me for Voodoo 2 and Voodoo 5 as these were the only cards I personally owned.  Imagine my surprise as I first loaded it up and it actually worked!  And it was smooth with no rendering issues!

q2dos_3dfx_3

At this point, sezero became involved and worked very hard to clean up the Mesa compile issues, including various scary warnings and helped to update us to the final glide3x commit pushed to the development branch and Mesa v6.4.3 which was an unreleased maintenance update for Mesa v6.4.2.

It was a long journey to get the code all working together just right, and a big thanks goes out to the early Mesa crew including Brian Paul, Daniel Borca, and “KoolSmoky” and the mysterious ggorts fellow who pushed hard for this feature.

To recap, Q2DOS from the last time we talked now has:

  • 3DFX Rendering with Mesa v6.4.3 for all Voodoo cards.
  • Separated renderer so it is no longer statically linked.
  • GameSpy is now a DXE.
  • WAV streaming, which is practically free as opposed to the OGG format.

q2dos_3dfx_1
q2dos_3dfx_8

We are about at the end of our Q2DOS journey.  A few odds and ends with Mesa and Voodoo 5 SLI issues remain (though nothing too show stopping) and there’s a small wishlist of some unnecessary features but it’s come a long way from the initial null driver effort!

q2dos_3dfx_2*Neozeed

I have to say it is simply incredible to see how Q2DOS went from a very primitive ‘wow it works’ port to a full featured port.  Simply amazing!

For those who missed the adventure it starts in Part 1, continued in Part 2, Part 3 and Part 4.

modern.ie Virtual Machines

(this is a guest post by Tenox)

Ran across this curiosity today: Microsoft Edge Dev Center provides a bunch of ready made virtual machines with different versions of IE web browser. But they can be used for different purposes if you need to quickly spin up a specific version of Windows quickly.

http://dev.modern.ie/tools/vms/windows/

This is whats available:

modeirnie1Different hypervisor type images on Windows, Mac and Linux are available:

modeirnie3Very handy stuff. This is beloved Windows XP after it booted first time:
modeirnie2Very handy and not only for browser testing.

There also is a Remote IE which opens IE window straight from Azure. I wonder what are implications of it for censorship in some countries as well as piracy etc.

VenturComm Venix/86 on MESS/MAME

(This is a guest post by Tenox)

This is follow up to a previously posted challenge to virtualize VenturComm Venix/86 so that it can be run on a modern machine under an emulator. The competition was a huge success and the rest of this post is an entry by the winner – Jim Carpenter. Enjoy!

Install MAME/MESS 0.164 and get the “at386” machine running. Standard issue ROMs.

Create a new hard drive image with “chdman createhd -chs 615,4,17 -c none -o hd.chd“. This is only 20MB. You can certainly use larger drives but make them a standard type, something that is a defined drive type in the BIOS. I’d stay away from user defined types.

Start the emulator, configure the first floppy drive to be DD and the second to be HD. Restart so it takes effect. Attach XFER.IMG to the first floppy and your hard drive image to the hard drive. Restart again. (Venix uses the BIOS for *everything*. So if you attach without rebooting, chances are the BIOS missed your hard drive which means Venix won’t see it either.)

Go into the BIOS and configured the floppy and hard disk types. The command above creates a type 2 drive:venix1Save and exit and let it reboot.

We wish to prepare the winchester hard disk:
venix2 Continue reading

My experience with the Gravis UltraSound Part 2: Synergy ViperMax / Gravis UltraSound Extreme

(guest post from Frank Sapone)

ViperMAX_PCB

Synergy ViperMax / Gravis UltraSound Extreme

A few months ago I made a guest-post about my personal experiences with the
Gravis UltraSound cards.  In this article I mentioned there were a few variants
besides the standard GUS “Classic”, MAX, and PnP series.  I was unable to
comment on the other cards since I did not own them.  Well, that all changed
a few weeks ago when I contacted someone who wrote some pack-in software that
was included with most GUS cards and surprisingly he still had all his cards.
Even better, he was willing to give them to me!

One of the cards I received was the Synergy ViperMax.  I have read some usenet
posts and have talked to other people who were active in the demoscene in the
mid-90s and apparently this card was originally designed by STB and then STB
produced their own card that has an ESS1688 chipset (for SB Pro compatibility
and better Windows drivers) and the GF1 chipset (the IC that makes the GUS
it’s own).  How true is this story?  I have no clue, as I have never seen an
STB variant of this card, but I have seen STB GUS PnP (the AMD Interwave
version) as Compaq OEM clones for sale occasionally.

In any case, Synergy started producing this card and it’s kind of a rare
number.  Again, rumours afloat, that the guy from Synergy was coming to
demoparties and giving these away to groups that won competitions in an
effort to stir up some interest/sales.  And before Advanced Gravis all but
gave up on the sound card market they took the Synergy ViperMax cards and
simply placed stickers over the Synergy logo and card name.  Gravis also maxed
out the onboard RAM to 1MB (the ViperMax comes with 512kb by default). It is
exactly the same board, which leads me to believe Gravis may have purchased
remaining stock of the Synergy cards and unloaded them.  The UltraSound Extreme
may be even more rare than the ViperMax.  It’s hard to say as I have personally
never seen either of these cards for sale on ebay.

Keeping the GUS roots, the card is almost completely plug and play. The only
thing you must change is a jumper for CD-ROM Enable/Disable.  Like the GUS MAX
there is CD-ROM interface support.  Contrary to rumours, this card is NOT GUS
MAX compatible!  It does not contain the Crystal CS4231 CODEC chip or emulate
it.  This means no MAXSBOS and no special demos that will output 48khz (I only
know of one, The Secret Live of Mr. Black by Orange).  I feel this
misinformation was started because of the CD-ROM interface that was also unique
to the GUS MAX.  To setup your card you just run viprinit in DOS with your
appropriate SET BLASTER and SET ULTRASND variables and it configures the rest.
However, I noticed viprinit will not properly change your base address for the
ESS chipset (i.e. you want to change it from A220 to something else).  No fear,
Synergy included the ESSCFG.EXE utility as well allowing you to change the
base address.  Initial configuration is set with VSETUP.EXE from DOS.

Windows 95 installation is basically the same as the earlier cards. You
run the setup.exe and it will install the ESS drivers.  It tries to setup
some extra stuff for UltraSound as MIDI device.  And it does work just fine
but a gotcha is that the DOS stuff will break.  I never had a reason to use
GUS’ MIDI capabilities from within Windows so this wasn’t a deal breaker
for me.  After a reboot you will likely have to reconfigure your card
manually from the device manager but after that it’s smooth sailing.  And yes,
you can install the updated ESS1688 drivers with no ill-effects. However,
if there are any differences in performance I have yet to notice it. Last known
official ESS drivers for Windows 9x at http://dk.toastednet.org/GUS/drivers/WIN95/VMAX-GUS_Extreme/1688_v1087.zip

The ESS chip is really nice, it sounds very similar to the OPL3 and it has
SB PRO compatibility (take THAT SB16!).  Whats the difference?  The SB16 only
states that it’s Sound Blaster compatible, not Sound Blaster PRO compatible.
This means some earlier titles like Wolfenstein 3D will only output in mono
on the SB16.  With the ViperMax, you can hear stereo sounds again.

Wolfenstein 3-D

Wolfenstein 3-D

Someone asked me if SBOS and MegaEm work.  SBOS, no.  MegaEm, yes but with no SB emulation.  You can probably make MegaEm work with the SB emulation if you
want to play around with running ESSCFG, changing your PnP settings, updating
your BLASTER and ULTRASND variables then running viprinit.  But, you’ll need
a lot of free resources and quite frankly I fail to see a point.  If anyone
out there has pulled it off drop me a comment.

Since the card has a GF1 IC there is no comparision between the earlier GUS
cards.  They will all sound the same.  The signal-to-noise ratio is acceptable
though I haven’t measured what it truly is, but for gaming and watching some
demos it’s capable.

All in all, this is a great card.  If it was released earlier and through
Advanced Gravis they could have still been in the market.  Another nice
side effect of this card is that Windows XP has ESS1688 drivers. Just install
the cards as a non-pnp legacy device, configure manually and enjoy sound!

I made a few more rips comparing the differences between the ESS mode and GUS.
The few module files are played with XTC-Play and two of them (ATBIA3 and
Parallel Universe) are XM modules over 1MB.  XTC-Play has a way of quadrupling
the RAM usage by downsampling.  However, the modules still sound quite good
and it’s quite a thing to hear the GUS playing large high-quality modules.

VMAX 3D

VMAX 3D

Before I bring this article to a close, here is some ViperMax/GUS Extreme
Resources:

* Gravis UltraSound Extreme Manual: http://dk.toastednet.org/GUS/docs/EXTMAN.ZIP
* Gravis UltraSound Extreme CD ISO: http://dk.toastednet.org/GUS/ISO/GUS_EXTREME_CD.ZIP
* Synergy ViperMax CD ISO: http://dk.toastednet.org/GUS/ISO/VMAX_V10.zip

Enjoy the rips!  In a few weeks I’ll have a write up on the Gravis UltraSound
Plug and Play Pro (waiting for my RAM upgrade) and finally some last minute
thoughts and information about a few other OEM cards and the GUS ACE.

For comparison here is DOOM II Map 06


Gravis


Sound Blaster

I don’t use Windows XP very often, but when I do…

(this is a guest post by Tenox)

I recently needed to install Windows XP. Because I don’t do that very often nowadays I decided to document the “pro way” of doing it.

First you should consider getting a volume license copy of Windows XP CD because it doesn’t require activation over the internet. The process below will work with any version, but it will require activation.

Then you need to download and install nLite which lets you add SATA/AHCI, network, display, audio, drivers and customize a fully unattended installation, including the product keys, and some tweaks like autologin, themes or show extensions/hidden files in explorer. Create your own bootable XP .iso file. You should probably test it in VMware/Vbox/Qemu first to see that all the settings are to your liking and the setup prompt screens are gone.

Second you need WSUS Offline Update, version 9.2.1 (which is the LAST version supporting Windows XP). It will let you roll out your own Service Pack 4 for Windows XP, including all the updates and goodies like .NET framework, Silverlight and DirectX updates. Create your own SP4 .iso file.

Booting Windows XP from a regular USB pen drive is notoriously difficult, so this is where ISOSTICK comes handy. Put both of the iso files on to the stick, insert to the PC and watch the magic happen.

It’s quite easy to integrate the SP4 in to the boot cd itself, but then it outgrows size of a physical CD, which is not a big deal with ISOSTICK, but I don’t mind installing the updates in a second step.

Finally if you need to install apps automatically you can consider something like Ninite.

Enjoy!

Atari System V UNIX Saga – Part III – SCSI Disk Replacement

(note this is a guest post by Tenox)

In previous posts from ASV series I have explained why I got hooked on Atari System V UNIX and what I had to do to get a decent resolution out of Atari TT. Having built the VGA monitor adapter, the next challenge was to replace the internal SCSI hard disk with a flash storage of some sort. I really don’t like spinning hard disks and especial the old ones.

I have mentioned that there are two surviving ASV disk images. The better one was made out of a rather large old, loud and obnoxious Maxtor. I’m definitely not having this monstrosity inside of my beloved Atari!

Maxtor LXT340SY

Maxtor LXT340SY

 

So how can you replace an old SCSI hard disk with a modern flash device? There actually are several different ways.

If you have the money you can go industrial route, which is a SCSI disk replacement for various machinery and embedded systems produced by ReactiveData. You can buy one of these for a little over $1000 USD. The good part is that they substitute a specific real hard disk model and are exceptionally good in quality of emulation. However, spending a lot of money on my TT and TenoxVGA already, this really wasn’t an option without getting a divorce.

Another approach is to use SCSI to IDE bridge combined with IDE to CF adapter or possibly SCSI to SATA bridge and SATA SSD disk. These are widely used by Atari / Amiga / Mac 68k community. The most popular bridge come from a company called Acard. I actually had one of these at hand, AEC-7220U which I used for TOS/GEM work.

acard front

acard front

 

Did it work? As you can guess – of course it didn’t! The initial boot loader errors out unable to read disk capacity.

Atari SYS V failed to boot

Atari SYS V failed to boot

 

Atari ST/TT, somewhat similarly to 68k Macs require a hard disk driver, present on the hard disk itself. There are several 3rd party implementations, some of them, like HDDRIVER maintained up to present date. Unfortunately these drivers are TOS specific and obviously don’t work with Atari Unix. The system comes with it’s own hard disk driver which seems to be obsolete and with limited hardware support.

The next step was to research and try out some other SCSI to IDE bridges in hope one would just work. And surprisingly there are several to choose from.

The second on the line was I-O Data R-IDSC21-E/R. No longer produced and supported, however still fairly popular. Usually regarded as the ultimate bridge with most fancy options bells and whistles. It has most jumpers and modes of all tested devices. For instance ATA PIO and DMA modes.  Unfortunately this didn’t help at all and same error was observed.

idsc21e

idsc21e

 

Another device tried was Yamaha v769970. This bridge was conceived to allow use IDE CDROM and Hard Disks with Yamaha samplers. No longer produced and obsolete, it’s somewhat most easy to set up, robust and stable. It’s actually my favorite bridge for day to day use, except for ASV where it just doesn’t work.

v769970

v769970

 

More recent kid on the block is an integrated SCSI2IDE + IDE2CF in one device called Aztec Monster. Recently designed and currently produced in Japan (you can buy one on eBay) is a fairly decent choice, which I recommend to every one. I had a lot of luck with these, except for ASV of course…

CF_AM_r1_1

CF_AM_r1_1

 

I also looked in to SCSI to SATA bridges, like this one, but they have additional issues, like need to convert LVD to SE on one end and SATA to IDE to CF on the other. Little bit too complex for what I wanted.

Being out of luck I started researching if it would be possible to build an open source version, which can be easily diagnosed and fixed. Doing so I found out that there in fact is one open source SCSI adapter called SCSI2SD.

SCSI2SD_V3.0_plain

SCSI2SD_V3.0_plain

 

I was bit skeptical in the beginning but then I though that being open source it can be debugged and fixed if it needs to be. So I immediately ordered one.

Once it arrived, I plugged it in, applied the image to the card and BAM! It worked! The system booted fully and worked flawlessly!

Atari Unix System V – Boot Sequence from Antoni Sawicki on Vimeo.

Going back to the hardware, there are some gotchas with SCSI2SD. First of all it’s not really SD card but rather a micro-SD. Which is not a big problem, but requires magnifying glass and tweezers to operate. Secondly even though the board looks like standard 3.5″ width, it in fact it is not! So a warning: it doesn’t fit 3.5″ hard disk slot!

photo 1

photo 1

 

When one side is placed on 3.5″ HDD holes the other leaves a gaping hole. Just doesn’t fit. Apparently you need a special 3D printed bracket to fit it together. Or a double sided tape, I recommend 3M VHB Tape. The upcoming version will feature 2.5″ sized holes, so look for this one.

Other than that SCSI2SD is flawless and it works fantastic. One feature that Mac users will appreciate:

--apple Set the vendor, product ID and revision fields to simulate an
        apple-suppled disk. Provides support for the Apple Drive Setup
        utility.

In the next article I will write about my first steps in the system post boot and then bringing it to a more or less usable state. Stay tuned!

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

Fun with Windows Timeout command…

(this is a guest post by Tenox)

I’m pretty good at finding bugs in Windows and I get a new one every couple of weeks or so. Today I found out this unbelievable gem:

So there is this (cmd.exe) command called timeout. It works roughly similar to sleep(1) under Unix. It is supposed to stop execution of a batch script for a given period of time. Example:

In reality just wishful thinking, because apparently this is not always the case. Sometimes it does and sometimes… it doesn’t.

Wait… what?

Sounds unbelievable but it appears the timeout command uses Real Time Clock for it’s sleep function. If you change the clock while timeout is running…

t2LOL 🙂

I found this because my batch scripts were stuck for rather long time when a machine would have time changed by NTP. If the change was negative the timeout command would wait x thousand seconds. When the change was positive the integer rolled and timeout stopped immediately causing avalanche of problems.

So beware to timeout eating your batch scripts…