Watch on YouTube: https://www.youtube.com/watch?v=z4NYW5GQ3vc

PicoGUS - The $50 / €65 / £58 Sound Card That Only Does Everything

Introduction

The PicoGUS is a modern ISA sound card for old PCs that uses a Raspberry Pi RP2040 to emulate a Gravis UltraSound, SoundBlaster 2.0, AdLib, MPU-401 (with intelligent mode), Tandy, CMS, USB joysticks and more!

Script

These days, we pretty much take it for granted that our computers can make sound - whether we’re watching a YouTube video, listening to music or playing a game, our laptops, tablets and phones all have built in speakers, and of course our desktop or tower PCs, whatever form they might take nowadays, can be hooked up to Bluetooth headphones, or a full surround sound system, or a TV, or what have you.

But that wasn’t always the case - way back in 1981, IBM released the original 5150 PC, the first DOS based PC, and indeed the whole reason that PCs throughout the 90s were described as “IBM compatible” - and this machine only had very basic audio capabilities in the form of a single speaker, which could only output very, very simple beeps and boops.

But, thanks to the growing popularity of the PC as a gaming platform in the mid to late 80s, it wasn’t long until hardware manufacturers started to come up with their own solutions for enhanced audio in the form of the Sound Card. These add in cards would slot into a 8 bit proto-ISA slot, or indeed the full blown 16 bit ISA slots in these early PCs, and add far more sophisticated audio capabilities - and some early examples of these included the AdLib card, the Gravis UltraSound, and perhaps the best known, the Creative SoundBlaster range, among, of course, many others.

Now, the cool thing about these early sound cards is that they all had their own unique approaches, and as a result, their own very distinct sounds - and that makes them of particular interest to anyone who’s at all interested in the history of PC gaming, and how those games actually sounded back in the day on the original hardware - the trouble being that those cards were very rare, even back in the day they were very very expensive and not a lot of them have survived so if you want to check out what those games sounded like, on that hardware, it can be a very expensive hobby indeed - and that’s why modern day projects like the PicoGUS came about. This is a Raspberry Pi RP2040 based card, which you can slot into one of these old PCs, and through the magic of software you can switch it into various different modes, allowing it to emulate a lot of these early sound cards, and give you a very authentic sounding experience indeed.

And so, I think it’s about time that we finally take a look at the PicoGUS, with the help of my 486 PC here, of course, and see what it’s all about.

But first, I’d just like to say a very quick thank you to this video’s sponsor, PCBWay.com. Now, you’re probably already familiar with PCBWay thanks to their 10 years of experience in the PCB fabrication business - but did you know that they’ve also started offering complementary services, such as CNC machining, injection moulding, and 3D printing? So if any of those services are a requirement for your next project, please do check out the link down in the description to PCBWay.com - and a big thank you to PCBWay for sponsoring this video.

Okay, so before we can stick this in our PC at the back there, we need to get the firmware up to date because it is under very active development and there’s also some software that we need to install on that PC as well, which thankfully is going to be quite easy in our case because I have a CompactFlash card in there, but before we get ahead of ourselves, let’s check out this firmware, and to download that, we need to go to the PicoGUS github page just here - and while we’re here, just before we do update that firmware, this is a great opportunity to have a look at what the PicoGUS actually has to offer - so this is ISA sound card emulation on the Raspberry Pi Pico’s RP2040 microcontroller, and the PicoGUS can emulate the Gravis UltraSound, the GUS, the primary focus of the PicoGUS, hence the name.

Yep, GUS stands for Gravis UltraSound if you weren’t familiar with that particular piece of terminology.

It can emulate the SoundBlaster 2.0 and indeed the AdLib which used the Yamaha OPL2 chip, iconic sound chip from back in the day. It can emulate an MPU-401 with Intelligent Mode and we will take a look at that a bit later on in the video because that is kind of one of the more impressive features of the PicoGUS - it allows you to use it with an MT-32 or another external MIDI device like the Roland SoundCanvas to really get the most out of these DOS games.

It can emulate the Tandy 3 voice mode from those old Tandy PCs, the CMS - the Creative Music System / Game Blaster - which of course was the predecessor to the SoundBlaster sound cards, and it can also emulate a Game Port joystick if you plug in a USB game controller.

It will actually present itself to the PC and to those games as a game port joystick - so a really useful card, particularly for the price as well, very impressive stuff.

…and just continuing down the page, of course we have a little note here that this is in perpetual beta - it is under very active development, new features being added all of the time, which is fantastic to see - and we have some links here to buy a PicoGUS as well from retailers in the US, the EU and the UK. Of course, these links will also be down in the description of this video, as well as a link to this GitHub page and anything else that’s relevant to this project.

And of course, being open source hardware, you can also build your own PicoGUS if you like - so there are a couple of different revisions of this, but yeah, there’s a build guide and you can download all of the files that you require to get that fabricated at your favourite PCB fabrication house. But we are here at the moment to download the firmware so let’s go and do that - and that should be over on the releases page.

…and as mentioned, this is under very active development, so the latest release is only a month or so old, from December 2024, and we just need to scroll down to the bottom and download the zip file here, which contains the firmware for the card itself, and the software that we need to copy over to our CompactFlash card in this case - and as you can see there really isn’t much in this zip package, just four files in this case, and only really two that are of interest to us: we’ve got the experimental NE2K WiFi firmware on there, that’s just a bit of an experiment - to be honest, I’m not going to be looking at that in this video and it’s not really something that’s kind of practical for day-to-day use, but still very cool to see and a nice little bonus for owners of this card.

There’s the PGUSINIT.EXE file, which needs to be copied over to the PC that this is gonna be running on because this is used to initialize the card and switch it between the various different modes - and for our purposes here, the file that we are interested in is the uf2 file, which is this one. This is our firmware file - and the process for updating the firmware is very, very simple indeed - so just hold down this bootsel button at the bottom of the card and plug this in using a Micro USB cable in this case - and then this will pop up as a mass storage device.

Of course, compatible with your Windows, Linux and Mac systems, I’m just using a Windows 10 system here to demo this - and if we just switch over to this drive, which is mounted as drive E in this case, we just need to copy that uf2 file across, and once it finishes copying, the card will reboot - and that’s it! Firmware updated.

Finally, with that firmware updated, there is just one more thing to do, which is to copy the software across to our PC. I’m not going to show that in this video because it is very well covered by the configuration and setup guide here, and of course, this will be linked down in the description as well. But one thing to pay attention to is that you will potentially need to change the IRQ and DMA on this card, as per a classic sound card back in the day. To be honest, I left it on the defaults, which I think is IRQ5 and DMA1, and it worked perfectly fine.

Pretty much the standard for a SoundBlaster card anyway - and the other section in here that I wanted to draw your attention to is the Gravis UltraSound mode, because as per the real Gravis UltraSound card, there is some software that does need to be set up on the PC, and there are full instructions here on how to modify your AUTOEXEC.BAT file and where to actually put these files, but the UltraSound mode won’t work if you don’t copy these files across.

Just something to be aware of and again, will be linked down in the usual places.

…and here we go! So I’ve already configured the software side of things - so as you can see, we do have some references at the bottom here to the PicoGUS. We can see that it is successfully running that latest 2.2.0 firmware, which is great to see - and there’s also this line here, “Rebooting to firmware: GUS” and I will show you why that comes up in a second.

That’s actually triggered by a line in the AUTOEXEC.BAT file - so the - sorry, I am terrible at typing and talking at the same time. There we go - so AUTOEXEC.BAT, obviously the file that runs automatically when DOS first starts up - I probably don’t need to explain that to you - but there’s a load of stuff in here to do with various bits of hardware and things that I’ve used in this machine over the years but the important section is this bottom part - and this is new.

Now, I found this on a website somewhere, and I will link to that down in the description but essentially we just have our configuration stuff here for the SoundBlaster and the Gravis UltraSound side of things.

So this top line is the SoundBlaster environment variable line, which just sets the port, which is set to 220, the IRQ to 5, the DMA channel to 1, and the type, type 3 specifically for the PicoGUS, apparently.

We have the next line down, which is just setting the MIDI configuration for that mode as well. Now, the next two lines were actually new on me, because I don’t have any experience at all with the Gravis UltraSound. But, the next one down, this ULTRASND=240, that’s essentially the equivalent of that SoundBlaster, that SET BLASTER environment variable there so it just sets the port and the DMA channel and stuff - and the next one down is very important, this is ULTRADIR=C:\ULTRASND - of course you can put it in whatever directory you like, that’s just the default one. But that is that driver package that we downloaded from the GitHub page earlier.

Specifically the Gravis UltraSound version 1.4 driver files. Now, you don’t need to run the setup that comes with that, and in fact it is advised not to run the setup that comes with that. Just drop the files into the directory and point it to the right place and it should all work - and finally this bottom line is just the PicoGUS initialization program, so this is just setting the card into GUS mode, Gravis UltraSound mode, so I’ve just put this in the AUTOEXEC.BAT, but you can change it at any point, it doesn’t really matter which mode you set it to on boot. But I wanted to demo the Gravis UltraSound side of things specifically because that’s a card that I don’t really have much experience with - and of course, as you might expect, as per the original hardware as well, you will need to go into the setup utilities for your various games and things.

This is Ultimate Doom version 1.9, it should probably look quite familiar - and of course you need to change the sound card settings in here to use the correct type of card - so I’ve already been in and changed this to Gravis UltraSound, but there really aren’t that many settings at all to do with the Gravis UltraSound, that’s literally it: it picks those up from that environment variable that we set in the AUTOEXEC.BAT file as well - so let’s see how this sounds in Doom.

…and here we go - so this is Doom running on the Gravis UltraSound card - and to be honest, I have been playing this a little bit and I don’t think that the sound effects sound particularly different at all to the SoundBlaster version - of course, it is just sampled sound effects - and perhaps they’re a little bit lower bitrate, a little bit lower quality, but not all that noticeable.

The music, I do think, sounds quite a bit different on some of the tracks specifically - and what I will do is I will find, or I will record some examples of the music running on the Gravis UltraSound card - that’s not really the focus of this video, of course, the focus of this is just to show the PicoGUS working, but I thought that was quite interesting. But as you can see, it just works, it doesn’t really take all that much setup, and working great in Doom!

And this is a fantastic opportunity to show how to actually switch between the different modes - so, you can just run the PicoGUS PGUSINIT program, and we just go to /mode, and we can set that to SoundBlaster mode, and then on the fly it literally just reboots the card into SoundBlaster mode, and of course, as before, we need to go into setup, change the actual game to use that.

So we go to SoundBlaster, port 220, SoundBlaster, port 220, IRQ 5, DMA 1, and we’ll go for 8 sound effects to mix, and we can fire up Doom with the SoundBlaster card - and there we go, that is Doom, literally in a matter of seconds, restarted using a SoundBlaster card - and I don’t think, you know, no matter how quick you are at tearing down a PC and swapping out cards, I don’t think anyone could physically swap from a Gravis UltraSound to a SoundBlaster in that short of a space of time.

So, yeah, quite interesting! Of course I think the quality and the latency and stuff like that just playing with some of these games is indistinguishable from the actual real hardware based on my experience so very much a big thumbs up from me based on my preliminary testing with Doom but yeah maybe the maybe it’s time to check out some of the more interesting things that the PicoGUS can do.

This little box of tricks here is called the Roland MT-32 and it’s a MIDI sound module - so it uses the MIDI standard, the Musical Instrument Digital Interface, which is just kind of a communication standard that allows computers and instruments to control each other in various ways. Still a standard that is used today, and this module dates back to 1987 - and what this can do is make all sorts of fantastical noises that PC sound cards of the time couldn’t do - and this is controlled by MIDI, as mentioned - so it uses the standard MIDI connector on the back - and as we can see, we have a cable here for that, which just looks like this - that plugs into the back there - and then this plugs into this adapter here, which goes into a 3.5mm plug that goes into the back of the PicoGUS - so I will plug this in in a second but one thing that I do need to explain about how this MT-32 module works is that this was controlled by an extra piece of hardware called the MPU-401, and they’re quite rare nowadays. They’re quite expensive, very difficult to get hold of - and one thing that the MPU-401 supports is something called Intelligent Mode which allows extra communication between the computer and the module to kind of shape those sounds in specific ways - and the sound cards of the time did support that to some extent but there are all sorts of issues with the various implementations of that.

But the good news is that the PicoGUS, of course, hence I’m talking about it now in this video, does support MPU-401 Intelligent Mode, it does emulate that and it does an absolutely brilliant job of it - so that’s what I’m going to demo now with this MT-32, going to get this hooked up and the game that people tend to use to demo this is Monkey Island - not very original I know - but I will show you what Monkey Island sounds like through this wonderful module because hey, it sounds great!

So, just a taster there, if you want to hear what the full Monkey Island intro sounds like on the MT-32, that will be over on my second channel, that is linked down in the description. But I thought, as a point of comparison, I would show what that sounds like on an AdLib card, which was a much more common sound card of the time - and of course, something else that the PicoGUS can emulate - so here’s that Monkey Island intro again on the AdLib card.

So you may have spotted this little connector across the top here on the PicoGUS, and this is labelled “Wavetable Header”. Now, if you’re not familiar with the concept of a wavetable card, I actually have one just here - this is the DreamBlaster X2, and I will put a link down in the description to buy one of these if you like - and what this does is it basically acts as an external MIDI device, so it adds a load of extra sounds and things to this card and there are lots and lots of DOS games that can take advantage of these cards - stuff like Doom, Duke Nukem 3D, all of the classics, just set them to Roland SoundCanvas mode or General MIDI mode and you can take advantage of all of these extra sounds, and installing one of these on this card is simply just a case of plugging it into this pin header at the top here, so I’ll just plug that in, and that’s it, job done, that can now go back into the PC.

Of course, the audio is going to be slightly different depending on which wavetable board you use - they all have their own different sets of samples and things on board - but this is just a quick demo of the Dream Blaster X2. There are various different boards available - and what I’ll do is just fire up Wacky Wheels here, one of my favourite games on the PC, an awesome kart racer from back in the day - and I’ll switch back and forth between the Gravis UltraSound, emulated by the PicoGUS, and the output from that wavetable board.

…and the final thing that I want to demo to you today in this video - if you can’t tell by the presence of this Xbox 360 controller here - is the gamepad or the joystick support, of course - so the current version of the PicoGUS does have a full size USB-A port on the back, and that supports the The Xbox 360 type controllers that use XInput, or indeed the PlayStation DualShock 4 controllers.

So, a couple of different options there, and the way that the mappings work on these is actually quite interesting, because, of course, the original PC game port supported two controllers simultaneously - so, the way that it works is that, essentially, the left hand thumbstick here and the D-pad are mapped to the first joystick, and the right hand stick here is mapped to the second joystick and of course you have all four buttons available as well so this can actually emulate a Gravis gamepad.

So first up we just need to type in the command to enable the joystick support - and of course you could put this in your AUTOEXEC.BAT but that’s essentially all you need to do to enable that - and this has booted up in Gravis UltraSound mode as well so the other thing that I need to do is to just put it into SoundBlaster mode because that’s what I’m going to be using to demo this particular game.

There we go, and the game that I’m going to be using is…

…Jazz Jackrabbit!

So I’ll just go into the joystick setup.

Do you have a Gravis gamepad? Yes.

…and then that should work.

…and of course, if you prefer, you can use the D-pad as well.

That works great, no problems at all! Now one thing that I did want to try out is, of course, because of the way that this works with the mappings you can actually use games that supported two joysticks simultaneously like flight simulators and that kind of thing - so I was having a play with Descent the other day trying to work out the best mappings for that - I haven’t quite got that right just yet, but just wanted to make you aware that that is an option and something that you can have a bit of a play about with just ‘cause it’s quite fun to play with really - so, yeah, that’s, that, that’s the USB joystick support. Such a cool little device!

So there we have it, the PicoGUS, a very interesting hardware add-on for these older PCs, I hope you’ll agree, and a very affordable and convenient way of checking out these old games and seeing how they were supposed to actually sound back in the day. If you can’t tell, I’m a really big fan of this project, and if you want to pick one up for yourself, there are some links down in the description to a few different retailers in different parts of the world, depending on where you live.

But that’s all I have for you for this video, so as always, a big thank you to my supporters on Patreon, Ko-Fi, and indeed the YouTube channel member page as well - they get videos a little bit early and also ad-free - and a big thank you to you for watching, and hopefully I’ll see you in the next one.

Support The Channel:
Patreon: https://www.patreon.com/ctrlaltrees
Ko-Fi: https://ko-fi.com/ctrlaltrees
Become a Member: https://www.youtube.com/channel/UCe7aGwKsc40TYqDJfjggeKg/join

Episode Links:
PicoGUS Project Page: https://github.com/polpo/picogus
Getting Started Guide: https://github.com/polpo/picogus/wiki/Getting-Started-with-PicoGUS-2.0

If you liked this video please consider subscribing to ctrl.alt.rees on YouTube!

« Previous: Modern AAA Gaming On A 17 Year Old Mac

Published on 14 Mar 2025 Post content: CC BY-SA 2.0 UK unless otherwise specified Get in touch!