Old School: Producing 8-bit and 16-bit audio in DOS


There are many operating systems available nowadays, and not just the usually suspect OSes (windows, mac, linux, android).  Popularity does not determine usability; many functional operating systems remain in development (*) and are used as everyday operating systems.  There may be limitations (e.g. no multitasking) but there are also strengths (e.g. less risk of malware operating in the background).

As an everyday OS, DOS lacks nothing: web browsers, text editors and word processors, programming language interpreters and compilers, multimedia programs, and of course, games.  Since around 2000, the biggest downside and limitation to using DOS has been the lack of audio drivers. Since VIA’s AC’97 “soundbridges” came along, few or no chip makers have made DOS compatible drivers.  People have been limited to scouring second hand stores, recyclers and resellers for old Adlib, Roland, Soundblaster and Gravis sound cards.  Older cards may have worn out from wear or humidity, and unscrupulous people have been known to sell broken cards.

In recent years, several DOS compatible sound devices have appeared, both 8bit and 16bit, which are compatible with both old and modern PCs.  There are only two limitations: (a) some require a built in parallel port, which is becoming rarer, and (b) most replicas use an ISA slot, which few companies place on motherboards anymore (ISA daughterboards are still available).

Below the fold are starting points on where to find OSes and sound cards.  There are no links to “wares” sites, though some are named. There are also links to commercial sites, which I hope is allowed.

First, DOS:

There are many flavours of DOS available, though the best options are FreeDOS v1.2 which is still in development.  FreeDOS rarely has compatibility issues with software, but some exist.   If you still have your installation disks for windows 3.1 or 95, you can procure your own copies of MS-DOS 6.22 or MS-DOS 7.x.  There are dubious online sources you can download them from (i.e. WinWorldPC, Vetusware) but a thousand users out of a hundred million using an outdated product likely isn’t worth legal action.

Other usable DOS versions include DR-DOS 7.01.08 (search the Internet archive for DOSProjects.de, or the site ArchiveOS), Caldera DOS (formerly DR-DOS) which is partially open source, and Psytechsoft’s PTS-DOS32 (a commercial product) which meets the Russian government’s military grade.  PTS-DOS2000 had an English version, though I don’t know about PTS-DOS32.

(Soapbox: I’m an advocate of abandonware.  I firmly believe that software no longer sold and supported commercially past a certain time limit should be available to download and use for free.  I would set fifteen years for general software, and three generations for commercial OSes.  By that argument, all microsoft OS versions up to windows 2000 would be free to use, since XP is still supported in some fashion.  If the software is re-released commercially, it ceases to be abandonware and distribution or use is illegal.)

There are other things you can do with barebones DOS machines.  Menuet OS is a fully functional 32- and 64-bit real-time OS coded in assembly language.  It is small enough to fit on a 1.44MB floppy disk.  Seriously.

Costa GUI (github) is also impressive, and in development as of 2017.

BlackStrip Shell 1.41 for DOS is another impressive, low resource GUI.

 

Nostalgia Nerd did a quick but wide ranging expose on DOS web browsing.  The main problem with DOS web browsing is poor website design.

 


Second, sound cards:

As stated above, modern sound cards come in two forms: ISA boards you put into a tower, and parallel port cards.  The ISA cards work like they did twenty years ago: install a DOS driver and select the DMA settings.  The main issue with using ISA cards is that almost no motherboards today have ISA slots.  Either you need a daughterboard or use an older computer (and thus lose modern HDDs, flash, USB or other devices).

The parallel cards work differently. Sound is normally output to port 388h, and the printer port is port 378h.  The DOS driver for the parallel cards intercepts sound data sent and redirects it to the parallel port.  This does come with one limitation: You will only get 8 bit sound, not 16 bit, but you take your victories where you can get them.  The first parallel OPL2LPT sound cards required a 80386 or better computer, meaning they wouldn’t work on an 8088, 8086 or 80286.  The newer OPL3LPT cards work with all Intel chips, from the oldest to the latest Quadcore machines.  There are also Covox sound synthesis boards.

I have not yet purchased the OPL3LPT but plan to next payday.  I have a functioning 1.3GHz PII laptop from 2005 with a parallel port, but hope to get a thin client for the sake of space.

Here are a few videos demonstrating what’s possible:

The 8 Bit Guy (David Murray) demonstrates the OPL2LPT card (2017)

The 8 Bit Guy tests an Adlib clone and SSI board which uses the Commodore 64’s SID chip, and a SID chip clone (2018)

Phil’s Computer Lab demonstrates the OPL3LPT card

Someone playing CyberSphere (a breakout clone), using the OPL3LPT sound card.


(* Did you know OS/2 is now called Ecom Workstation and is still in development and is compatible with all OS/2 WARP products?  The most recent webbrowser made for it is Qupzilla 2.2.9, an HTML5 compatible browser made in 2018.  Qupzilla was available for many OSes, eg. BeOS. Sadly, development ceased when Qupzilla was renamed Falkon v3.0.  It is now only available for windows and linux.)