Monday, July 23, 2012

Sound Blaster 16 - Distinguishing the Endless Models

No vintage PC product line is more complex than the Sound Blaster 16.  These cards were extremely common from 1992 to the end of the DOS era (1997).  Their basic advance over the Sound Blaster Pro, 16-bit sound, is still the basic standard today.  But the cards went through many generations and many OEM models.  For the system builder, it is extremely difficult to find the right one without doing the homework.  As there are an enormous number and variety of SB16s, I will not try to identify the features of every model.  Here are some considerations :

Waveblaster Header

Value and OEM cards generally do not have it, although there may be solder points for it.  However, the passive components on the motherboard that assist in implementing the interface may be missing.  Waveblaster MIDI daughterboards will suffer from the hanging notes bug, as will MIDI modules connected through the gameport.

Hanging MIDI Notes Bug


It is important to identify games which produce hanging  notes as a result of incompatibility with the various DSP versions of the 16-bit Sound Blaster series. : DOOM, DOOM II, Heretic, Hexen, Raptor, Hocus Pocus, Duke Nukem 3D and Blood are all examples of games which suffer from this bug.  There are other games which may occasionally produce hanging notes regardless of the midi interface being used.  Any game using LucasArts iMuse system may be subject to it.  This includes Star Wars - X-Wing and Tie Fighter (floppy versions) are good examples of such a game.  Only the former are addressed here.

The affected DSPs have been identified as versions 4.11, 4.12 & 4.13.  DSP versions 4.04, 4.05 and 4.16 will not suffer from this bug.  The bug will only occur when digital sounds and midi are being played.  The best fix for the problem is to use another card for MIDI.  This bug will not be present in any card using the CT-1747 chip.


ISA Plug N Play

First generation SB16s with the CT1746 Bus Interface chip were strictly configured by jumpers.  No software initialization required.

Second generation SB16s with the CT1747 Bus Interface and OPL chip required jumpers to set the I/O range (IOS0 & IOS1), joystick enable/disable (JYEN) and MIDI I/O Select 330/300 (MSEL).  However, IRQ and DMA selection were done in software on startup.  SBCONFIG.EXE or DIAGNOSE.EXE needed to be loaded in AUTOEXEC.BAT to tell the card which resources to use at boot.

If you have a ViBRA chip, then you may have an ISA Plug N Play card.  They are initialized through the software Creative Technology Configuration Manager (CTCM.EXE) and configured and disabled through the Creative Technology Configuration Utility (CTCU.EXE) or in PNP operating system like Windows 95.  This allows you to disable the joystick, the MPU-401 MIDI interface, the Adlib Ports, High DMA or the whole card.  Unfortunately, if you have to load CTCM, it adds noticeably to the boot time when booting to DOS.

SB16s with the ViBRA chips are be detailed below.  

CD Interfaces

First generation SB16s supported Panasonic, Mitsumi or Sony CD Interfaces.  One board, the Sound Blaster 16 SCSI, had a SCSI port for a SCSI CD-ROM, and it could not be disabled.  The SCSI interface took up an IRQ and did not support booting hard drives.  The next generation began to add IDE support.  On retail boards, the IDE port should be able to be disabled.  On some OEM boards, the CD Interface ports may not able to be disabled by design.  The Panasonic interface is harmless because it does not require any resources beyond the I/O range used by the Sound Blaster 16.

QSound Advanced Signal Processor/Creative Signal Processor

Many boards have a CT-1748 ASP/CSP chip or a socket for one.  The ASP/CSP was generally upgrade option, which never really caught on and omitted on the cheaper boards.  Except for the CT-2502 boards, you will never see the chip or the socket for one on a ViBRA board.  TFX is the only game known to support the chip.

True Yamaha OPL3 Synthesis

You will get true Yamaha OPL3 synthesis if your board has a Yamaha YMF-262 or YMF-289 chip or CT-1747 chip.  The CT-1747 contains an OPL3 core licensed from Yamaha.  If you have a CT-1978 chip or the ViBRA CT-2505 or CT-2511 chips on the board, you will get Creative CQM synthesis.

ViBRA Chips

The ViBRA series of chips sought to achieve a higher degree of integration among the various component chips that made up the original Sound Blaster 16.

CT2501 ViBRA 16
Integrates the Bus Controller Interface, the DSP, the Mixer and the Codec.  

Jumper configured
No treble, bass or gain controls in integrated analog mixer
80db SnR
YMF-262

CT2502
I have never seen this chip branded with the ViBRA logo, and it is not a home-grown Creative Labs chip, as it contains technology licensed from Crystal Semiconductor.  I think this is also known as the ViBRA Pro.

ISA PNP
Treble, bass and gain controls in integrated analog mixer
85db SnR (best SnR on any Creative Labs ISA sound card, even the AWE64 Gold)
CT-1978 or YMF-289 (less common, but makes for an awesome board)

CT2504 ViBRA 16S
Tends to be found on SB16s integrated on the motherboard.

IRQ/DMA software setting
YMF-262 or CT-1978
80 SnR
No treble or bass controls

CT2505 VIBRA 16C
Tends to be found on SB16s integrated on the motherboard.

See above, except :
ISA PNP
Integrated CT-1978
DSP v4.16

CT2511 ViBRA VX
Was used on the last, cheapest SB16s, especially those branded with the WavEffects logo.

See above, except :
High DMA channels not supported, uses two low DMA channels for 16-bit sound.

Of the ViBRA's, the two potential compatibility issues are the loss of the mixer settings in all but the CT2502 and the DMA channels in the VX.  I doubt that games used those settings anyway.  As the mixer receives analog signals, this can be replicated to some extent using an external mixer.  

As far as the DMA channels in the VX, this will not be an issue unless you select a Sound Blaster 16 in the install of a DOS game and the game requires a High DMA channel.  Windows and its games will be fine so long as the proper drivers are installed.  

Which One to Buy

The least hassle of the SB16s are the CT1740 and CT1750, which along with the CT1770 were the first retail Sound Blaster 16s.  With a 4.05 or lower DSP they will not have the hanging notes midi bug, will output genuine FM, require no software initialization and will not take up extra resources.  However, they have the nickname "Noise Blaster" and it is deserved.  Everything will sound noisy on the card, moreso than its predecessor the Sound Blaster Pro 2.0.  The Waveblaster output is affected and I found the sound from a SCB-55 to be comparatively muffled compared to the same daughterboard on a MPU-401AT.  If you can live with the potential hanging notes midi bug, look for the CT2750, which is silkscreened the Sound Blaster 16 EASY, and it has no CD interfaces on it.

If you want the freedom to choose your IRQs and DMAs in software, you could try the CT2230 with jumpers to disable the proprietary CD interfaces or the CT2770 which only has the Panasonic interface.  Be wary of SB16s with an IDE port, as the port may not be able to be disabled.  Some cards of the same model number have the ports while others only have silkscreening for the header and glue logic.

If you want the least noisiest cards of the bunch, look for the CT2940 or CT2980 with a Yamaha YMF chip.  These have the CT2502 (ViBRA) chips and are ISA PNP.

If you look at other ViBRA cards, you could try the CT2800 or CT2900 which have Yamaha chips, software selectable IRQ and DMAs and a disable IDE jumper setting.

Three Generations of Sound Blaster 16s Compared

Number One : Sound Blaster 16 MCD CT-1750

CODEC : CT1701
FM Synthesis : Discrete Yamaha YMF-262 OPL3
DSP : Discrete 4.01-4.12
Mixer : Discrete CT1745
CD-ROM Drive Interfaces : Panasonic, Sony, Mitsumi
Configuration : Jumpers
ASP/CSP : Socket or Soldered
Waveblaster Header : Present
Amplifier : Jumpers & Volume Wheel
PCB Headers : Creative CD-ROM, PC Speaker In

This is a first generation Sound Blaster 16.  Its main weakness is that most 8-bit digitized sound has an audible layer of hiss surrounding the sample playback.  This hiss is not observed when playing back FM music.  Mixing the audio from the Waveblaster connector sounds muffled.  When 8-bit digital samples play there are often pops and clicks in the audio output.  Everything is configured by jumpers, and its best to set the Panasonic interface to be the active interface because it does not consume any more resources beyond the Sound Blaster itself.

Number Two : Sound Blaster 16 MCD CT-2230

CODEC : CT1703 or CT1701
FM Synthesis : Integrated Creative/Yamaha CT-1747 OPL3
DSP : Discrete 4.11-4.13
Mixer : Discrete CT1745
CD-ROM Drive Interfaces : Panasonic, Sony, Mitsumi
Configuration : DIAGNOSE.EXE or SBCONFIG.EXE + Jumpers
ASP/CSP : Socket or Solder Pads
Waveblaster Header : Present
Amplifier : Separate Jacks
PCB Headers : Creative CD-ROM, MPC-2 CD-ROM, PC Speaker In

This is a second generation Sound Blaster 16.  The noise, pops and clicks associated with the first generation are fully gone when paired with the later CODEC.  The IRQ and DMA selection is done by software settings on startup.  The settings requiring jumpers are the I/O address selection, the MPU-401 MIDI interface enable and address selection and the joystick enable.  My card has no headers for any interface other than the Panasonic interface.

Number Three : Sound Blaster 16 PnP CT-2940

CODEC : CT1703
FM Synthesis : Discrete Creative CT-1978 CQM or Discrete Yamaha YMF-289 OPL3-L
DSP : Integrated 4.13
Mixer : Integrated CT1745
CD-ROM Drive Interfaces : IDE
Configuration : CTCM.EXE + CTCU.EXE
ASP/CSP : None
Waveblaster Header : Present
Amplifier : Separate Jacks
PCB Headers : Creative CD-ROM, MPC-2 CD-ROM, PC Speaker In, AUX 1, AUX 2, TAD, MBPro

This is a third generation Sound Blaster 16.  Most of these cards typically come the Creative CQM chip, but this card comes with a Yamaha OPL3 chip.  This card is totally jumper free and adheres to the ISA PnP standard.  It can be configured with Creative's utilities or with PnP-supporting operating system like Windows 95.  Reportedly, the integrated mixer has the highest signal to noise ratio of any ISA Sound Blaster, even the Sound Blaster AWE64 Gold.  My card has no header or circuitry for the ISA interface, so it does not take up any resources.  Its only other downside beyond the PnP is that its MIDI interface does have the hanging notes bug.

Sound Blaster AWE32 & 64 Options

The AWE32 came in many varieties, starting with the CT2760, but there are several basic cards which a vintage computer enthusiast should consider.  In this post, I will discuss the various features that separate the usual cards from each other.

Soundfont RAM

All AWE32s come with 512KB RAM, but the AWE32 Value cards omit the SIMM sockets for upgrading the RAM.  Sound Blaster 32s do not have any onboard RAM, but have SIMM sockets to upgrade RAM.  

All these boards can support 28MB RAM, and if the SIMM sockets are used, the onboard RAM is disab+
led.  Use 30-pin SIMMs, 80ns or faster, with identical memory sizes of 1MB, 4MB or 16MB.  You need to populate both sockets.  The SIMM sockets on these boards are usually very cheap and the retaining tabs can break easily.  Epoxy is your friend, but if you wish a less permanent solution, you can try a strong tie.  

The AWE64 came only in two major ISA varieties, with the principal difference being the amount of RAM supported. The Value, CT4380, CT4500 & CT4520,  version came with 512KB RAM and you need to solder a 2-pin header for SPDIF output on all these cards.  The AWE64 Gold, CT4390 & CT4540, came with 4MB RAM.  To upgrade the RAM, you had to purchase expensive, proprietary Creative daughterboards.  People used to use AWESIMM to adapt SIMMs, but today people can use SIMMCON, found here : http://simmconn.tripod.com/.  Only one 72-pin SIMM is required.

Models without RAM upgradeability : CT3780, CT3910, CT3630

Waveblaster Header

If you want to use a MIDI daughterboard like the Waveblaster, Waveblaster II, Roland SCB-7 or SCB-55 or Yamaha DB50XG or DB60XG on your sound card, stay away from the AWE32 Value, SB32 or AWE64, as they do not support the header.

Models supported : CT2760, CT3900, CT3980, CT3990

SPDIF

Virtually all these cards had a 2-pin SPDIF header, even the budget models but on some of the cheaper models you will need to solder pins or wires.  The non-Gold AWE64s are cards where you have to do this.

SPDIF outputs the EMU8000 output.  This includes the FM if using a CT-1747 or CT-1978 chip but not a discrete YMF-262 or 289 chip.  MIDI audio output (from Waveblaster) and CD Audio sound would not be output through SPDIF on any models.  16-bit digitized Sound Blaster audio will also be output on the AWE64 Gold cards, but this functionality may only work in Windows 95 or better.  The non-Gold AWE64 cards almost always have a pair of through holes which you could add a 2-pin SPDIF header.

Note that the AWE32 outputs a 5v TTL digital signal.  This is the same signal that CD-ROM drives with a digital audio output header send out.  They even use the same 2-pin header.  The O is the output pin, the I is the ground pin.  Not all SPDIF inputs will accept this signal.  Fortunately the CD Digital input header on a Sound Blaster Live! or Audigy will.  Moreover, you can connect the pins to an optical/TOSLINK port output, which is accepted by lots of devices.  Coaxial SPDIF is designed for 0.5v to -0.5v peak-to-peak signals.  This is what the Sound Blaster AWE64 Gold provides.

AWE32 Models supported : CT2760, CT3900, CT3980, CT3990

SB32 Models supported : CT3600, CT3620

AWE64 Models supported : CT4390, CT4540

ISA Plug 'N Play

The early AWE32s did not conform the ISA Plug 'N Play standard.  They used jumpers to set the I/O addresses (IOS0 and IOS1), to enable/disable the joystick interface (JYEN), and to select the MPU-401 MIDI I/O (MSEL).  However, IRQ and low and high DMA selection was handled by software initialization via SBCONFIG.EXE or DIAGNOSE.EXE, which reads the settings from the SET BLASTER line in your AUTOEXEC.BAT.

Later AWE32s, SB32s and AWE64s conform to the ISA Plug 'N Play standard and are initialized through the software Creative Technology Configuration Manager (CTCM.EXE) and configured and disabled through the Creative Technology Configuration Utility (CTCU.EXE) or in PNP operating system like Windows 95.  This allows you to disable the joystick, the MPU-401 MIDI interface, the Adlib Ports, High DMA or the whole card.  Unfortunately, if you have to load CTCM, it adds noticeably to the boot time when booting to DOS.

All cards have a jumper marked MFBEN.  This jumper enables or disables NMI generation for the AWEUTIL.COM utility.  This functionality is required when AWEUTIL is emulating a MIDI interpreter in DOS.    If you are not using AWEUTIL other than for initialization, you can remove the jumper.

Models without PNP : CT2760, CT3900, CT3780, CT3910

True Yamaha OPL3 FM Synthesis

Non PNP models have a CT-1747 bus interface chip which integrates a licensed Yamaha OPL3 core.  They sound true to the AdLib and earlier Sound Blasters, but people have individual preferences of which card they like.

All the PNP models of the AWE32 and SB32 have the option to use Creative Quadrature Modulaton (CQM) Synthesis or Yamaha FM Synthesis.  On boards using CQM, there will be a CT-1978 chip.  CQM is generally not objectionable to the untrained ear, but it often sounds harsher and more metallic but slightly crisper compared to a Yamaha FM chip.  Most boards have a silkscreen for a Yamaha YMF-278 and its DAC (very small chips).  Finding boards with the CQM chips are much more common.  However, if you find a board with the Yamaha chip, note that you will not be able to run the chip through the EMU-8000 effects processor.

AWEUTIL is used on the AWE cards to initialize the FM Synthesis output and can be used to apply reverb and chorus effects on the CT-1747 cards through the EMU-8000 chip.  I am uncertain whether cards with a discrete YMF-278 can do that, and the AWE32 Upgrade cards probably cannot as well.

Models using CT-1747 : CT2760, CT3900, CT3980, CT3780, CT3910

Models supporting YMF-278 option : CT3990, CT3600, CT3930

CD Interfaces

Most of these cards come with one, two or three headers for the cable to a CD-ROM.  In the early days, proprietary, incompatible standards came from Panasonic, Sony and Mitsumi.  Some sound cards support SCSI instead, although no Creative AWE cards are known to have done so.  Later AWE cards support an IDE port.  If the card is a non-PNP, the IDE, Sony or Mitsumi interfaces can be disabled.  The Mitsumi interface is a real hardware hog as it uses an IRQ and DMA.  Fortunately the Mitsumi interface can usually be disabled.  The Panasonic interface does not use any resources outside the standard Sound Blaster I/O 2x0-2xF, so it is harmless.

Models with Panasonic/Sony/Mitsumi Interfaces : CT2760, CT3780

Models with Panasonic Interface : CT3900

Models IDE Interface (Non-PNP) : CT3900, CT3910

I assume that the IDE interface on PNP cards can be disabled using the CTCU utility, but I have no experience with such cards.  It may be necessary to disable the IDE interface to avoid conflicts with IDE ports on the motherboard or I/O cards.  Also it should remove any IRQ resource hogging.

On the non-PNP cards with an IDE port, the port can be set to the secondary address, 170-177, tertiary address, 1E8-1EF, or quaternary address, 168-16F or disabled.  The primary IDE address is 1F0-1F7.

Hanging Notes MIDI

It is important to identify games which produce hanging  notes as a result of incompatibility with the various DSP versions of the 16-bit Sound Blaster series. : DOOM, DOOM II, Heretic, Hexen, Raptor, Hocus Pocus, Duke Nukem 3D and Blood are all examples of games which suffer from this bug.  There are other games which may occasionally produce hanging notes regardless of the midi interface being used.  Any game using LucasArts iMuse system may be subject to it.  This includes Star Wars - X-Wing and Tie Fighter (floppy versions) are good examples of such a game.  Only the former are addressed here.  

AWE64s use DSP 4.16, so there will be no hanging notes midi bug.  AWEs prior to that use DSP 4.13 for the most part, and all these DSPs are known to suffer from the hanging notes midi bug.  The bug will only occur when digital sounds and midi are being played.  The best fix for the problem is to use another card for MIDI.  The CT2760 is the card where you will most likely see the 4.11 and 4.12 DSPs.  Rev. 3 of the CT2760 probably has the 4.13 DSP.  This bug will not be present in any card using the CT-1747 chip.  

QSound ASP/CSP

The original AWE32 had, as standard, the CT-1748 QSound Advanced Signal Processor (ASP), later known as the Creative Signal Processor (CSP)., which was an optional upgrade in the Sound Blaster 16s.  All full-length AWE32s should have one soldered onto the PCB.  The AWE32 Value has a socket for a CT-1748 chip, which could have been purchased from Creative Labs.  The SB32s and AWE64s do not have any support for the chip.

All boards with the chip or socket, even if they are otherwise PNP, will have two jumpers to enable or disable the chip.

Models with CT-1748 : CT2760, CT3900, CT3980, CT3990

Models with CT-1748 Socket : CT3780, CT3910

Odd Ducks

The CT3980 is a PNP card, but has a CT-1747 Bus Interface and OPL chip.  It is an exception to the almost universal rule that a CT-1747 chip on-board means that the board is not a PNP board.  In this instance, another chip is used to provide the PNP functionality, but the CT-1747 is certainly used for OPL FM.  

The CT3930 SB32 is a true exception to many of the above categories because it uses the CT2501 ViBRA 16 bus interface chip.  As a result, this board has a discrete YMF-262 OPL3, which none of the other boards have.  This ViBRA chip lacks controls for treble, bass and gain in the hardware mixer.  Finally, there is no PNP or software selectable resource settings, the jumper layout of the original Sound Blaster 16s is used.  In other words, you have to set jumpers to set the IRQs and DMAs.  While the other main SB32, the CT3600, uses a ViBRA CT-2502 chip, those features were put back in the mixer and PNP functionality was enabled.  

CT3630 SB32 and CT4330 AWE32 have no Soundfont RAM.  The CT4330 is really a cut down AWE64.  The CT3670 is a SB32 with SIMMs, but its main chip comes from an AWE64.


The AWE64 Gold has gold plated mini-jack and RCA connectors, RCA jacks not having been used since the Game Blaster.  Some sites claim that it possesses a 20-bit high quality DAC, but that is not quite correct.  The SPDIF connector outputs the full 20-bits of the the standard.  Additionally, it adds the digital PCM audio output to the signal.  Whether the existing 16-bit signals are upconverted to 20-bit or extra bits are just tacked on is unknown.  

There seems to be two main versions of the AWE64 Value, the CT4500 and CT4520.  The CT4520 does not have separate mixer, CODEC or 558 timer chips.  The CT4500 has these, just like all the other AWE cards.  It appears that Creative had integrated these functions into the large QFP chip on the CT4520, whether any functionality was lost is unknown.  

AWE Upgrade

The CT192x requires its own section.  This card was designed as an add-on card for Sound Blaster 16 owners to add most of the AWE features to the PC.  It is sometimes known as the Goldfinch board.  It contains the EMU8000 chip, 512KB RAM, SIMM slots.  It requires its own drivers.  Instead of AWEUTIL.COM, it uses AWEUTIL.EXE.  Game compatibility with AWE32 supporting games may be uncertain as a result.  This board was intended mainly for OEMs like Dell and Micron.

Most CT192x boards only have an 8-pin strip to output audio.  A cable would output audio to the a special header on an OEM motherboard or some (OEM) Sound Blaster 16s.  Instructions and drivers can be found here : http://queststudios.com/smf/index.php/topic,2747.0.html.  CT-192x boards have been reported with Line Out and SPDIF Out jacks.  Usually there are solder points for at least the Line Out.  Some boards may have the 512KB RAM.

Unlike a regular AWE32, you cannot run FM effects through the EMU8000 or output FM through the SPDIF.


Which one should I get?

Since I find PNP cards to be more trouble than they are worth, I would stick with the non PNP AWE32s.  The best of the bunch, feature wise, would be the CT3980, then the CT3900 and CT2760.  However, since the CT3980 is a PNP card, I would pick the CT3900 or CT2760 first.  The CT2760 uses the older CT1701 CODEC chip while the CT3900 uses the newer CT1703 CODEC chip.  The later CODEC chip has been said to have a cleaner output compared with the older CODEC.  I can see people using the IDE port in a system for a CD-ROM drive, but the Panasonic and other interfaces are the very definition of appendices today.  The cards tend to get less noisy as they get newer.  

Sound Blaster 32s are surprisingly good buys, and as they were found in many OEM systems, they tend to be more common than AWE32s.  However, they are truly a great option if you can find a rare one with a YMF chip. 

Sunday, July 22, 2012

Observations on 8-bit Video and Sound Cards

8-bit Video Cards

In an IBM PC, Portable or XT or a clone or a Tandy 1000, these are your options.  I will talk about the IBM cards and note possible differences with clone cards.

IBM Monochrome Display Adapter

This card can only display 80-column by 25-row text, and uses a special TTL monochrome monitor.  The official monitor is the IBM 5151 Display, but clones exist.  Not especially useful for games as the next card.  Full-length 13" card (as are all IBM 8-bit Video cards), 4KB Video RAM, enough for one page only.  Can be used with a CGA card in a dual monitor setup.

Hercules Graphics Adapter

Can do everything the MDA can and more.  The "more" is a 720x348 monochrome graphics mode that tons of 80s game use.  The Hercules-brand cards tend to be 13" full-length cards that do not fit inside Tandy 1000s and other machines with card clearance issues.  Many EGA cards include Hercules functionality, as do the Tandy 1000 T/S/RL machines.  Many people back then and some vintage enthusiasts today use a CGA card with a color monitor and a Hercules card for text on a monochrome monitor.  This avoids CGA snow in text modes.  64KB Video RAM, usually 32KB used (so-called Half-mode).  Full-Mode, using 64KB RAM, will conflict with CGA and later cards.  

IBM Color/Display Adapter

16KB Video RAM
Displays CGA Snow
Uses B8000-BFFFF
Only fits in an 8-bit slot, has a skirt
Requires a functional 14.318MHz OSC signal for composite signal
Has two solder points to wire a jumper to select the "thin font".
Early cards display a slightly different color arrangement in composite color mode.  If your text has red and blue fringes, you have an early card.  If the text has orange and blue fringes, you have a later card.  
Early cards only display four shades of gray on a monochrome/black&white TV or composite monochrome monitor.  Later cards display 16 shades of gray.  
Supports an RF adapter and a light pen via pin headers.  

Clone cards function similarly to IBM's, but their fonts are likely to show differences and they may lack support for a light pen or a header for an RF adapter.  I have an Epson clone which does not have a discret MC6845 CRTC and thus is not quite as compatible with the IBM CGA.  Early clones tend to have the 8-bit skirt, later clones tend to be shrunk down.  Official monitor is the IBM 5153 Color Display, which supports 200 lines in 16 colors.  It can work with an IBM 5154 Enhanced Color Display, Tandy CM-4, CM-5, CM-10 or CM-11.  The IBM PC Portable has a built-in 9" amber monochrome screen and it requires a CGA card with composite output.  

ATI's Small Wonder cards combine CGA and Hercules support, and they are probably not alone.

IBM EGA Adapter

Uses IRQ2 for vertical sync
64KB on Motherboard, requires separate Expansion daughterboard to add 192KB for the full 256KB.  128KB required for 640x350x16 graphics.  (Clones tended to have 256KB on board)
Daughterboard uses standard 64Kx1 chips
Can be set to use alternate 2xx I/O addresses via jumper
Can support light pen
Must use jumper and dipswitches to set  monitor type, can use IBM Monochrome, IBM Color and IBM Enhanced Color displays
Can be used with an MDA card in Color mode or a CGA card in monochrome mode
No Hercules support
Can fit in 16-bit slot, but has skirt otherwise
16KB BIOS ROM, mapped C0000-C3FFF (Clones often used 32KB, mapped to C7FFF)
RCA jacks are useless without a Feature Board (IBM never offered one)
Only IBM 8-bit Video Card with Jumpers and Dipswitches.

Some clone cards utilize the 16-bit ISA connector, support non-standard line modes, and offer Hercules compatibility.  IBM 5154 Enhanced Color Display is the official monitor, supporting 350-lines and 64 colors.  This monitor and its clones are pricey and many people use a CGA monitor.  Remember to set the dipswitches on the bracket appropriately for a 200-line monitor.  It can also use MDA monitors if you set the switches appropriately.

IBM VGA Adapter

Unlike other IBM cards, this card is full length but has a lower profile, width wise.  No skirt.
Uses IRQ2 for vertical sync.
Designed to upgrade IBM PS/2 Model 30 systems to VGA, works fine in IBM PC, XT, AT, XT-286.
Officially called the IBM PS/2 Display Adapter
Will not fit inside an IBM PS/2 Model 25.
Finicky with 3rd-party motherboard
Uses EPROM to store VGA BIOS (32KB EPROM, 24KB used).
Has two BERG-strip pin headers, functionality unknown
256KB video memory, no further upgrades
24KB BIOS ROM, mapped C0000-C5FFF (Clones almost always use 32KB)
8KB of scratchpad memory, mapped C8000-C7FFF (6KB) and CA000-CA7FF (2KB)  Clones do not have this and this mapping is often an annoyance with other cards that can use the CA000 region.  
Jumperless, no lightpen support

Many 16-bit VGA cards can work in an 8-bit slot.  The Paradise PVGA1A chipset is a good choice, but even some Tseng ET4000AX boards will work.  Don't expect to set speed records.  

8-bit Sound Cards

There are relatively few 8-bit Sound Cards, in fact these are really your only choices for games :

AdLib Music Synthesizer Card

The first sound card, first revision has a 1/4" audio jack, second revision a 3.5mm mini-jack.  OPL2 FM Synthesis.  Noisier than a Sound Blaster.  May be necessary to use an AdLib in a Tandy 1000 T/S/RL due to those systems not playing well with a Sound Blaster.  Clone boards will work the same if they use a Yamaha YM3812 OPL2 chip and its Y3014 DAC.  

AdLib Gold 1000

Backwards compatible, adds 8-bit and 12-bit DAC functionality but its midi interface is not MPU-401 compatible in any way.  No Sound Blaster compatibility.  Has header for optional surroundsound daughterboard.  Dune makes use of the daughterboard and only supports stereo OPL3 FM Synthesis on this card.  Card is rare, daughterboard extremely rare.

Covox Sound Master

Uses GI AY8930 for music and 8-bit DAC/ADC.  No compatibility with other cards.  Has some near-exclusive game support.  Also supports two Atari-style digital gamepads.  Virtually impossible to find.

Covox Sound Master Plus

AdLib compatible OPL2 FM.  8-bit DAC, but not completely compatible with the previous card as some games use the AY8930 for DMA.  Ditto on findability.

Covox Sound Master II

AdLib compatible OPL2 FM, 8-bit DAC.  Basic Sound Blaster compatibility.  Somewhat more common.

Creative Music System/Game Blaster

Uses 2 x Phillips SAA-1099 (CMS-301) for music.  Certain CMS/Game Blaster cards will not work with Sound Blaster cards with C/MS chips due to the custom board detection chip on these boards.  Only way to get trouble free CMS sound on Tandy 1000 T/S/RL systems due to DMA conflict between Sound Blaster and Tandy DAC.  Very rare.  

Creative Labs Sound Blaster 1.0 & 1.5

1.0 has CMS chips onboard.  DSP in 40-pin socket.  Typically came with v1.05, could be upgraded to 2.0.  2.0 adds auto-init DMA, which was necessary to meet Windows MPC specification.  Regardless of DSP version, DAC limited to 8-bit @ 22.050kHz playback.  AdLib compatible.  MIDI port is not MPU-401 compatible, even in UART mode.  Removing the DRQ1 jumper will not solve problems with Tandy 1000 T/S/RL systems.  The 1.5 has 2 sockets for CMS chip upgrade, otherwise identical to 1.0.

Creative Labs Sound Blaster 2.0

DSP v2.01 adds 8-bit @ 44.1kHz DAC playback.  Loses alternate I/O selections compared with 1.0, but many games expect the Sound Blaster at I/O 220-22F.  CMS upgrade requires a Programmable Logic Array (PAL) chip, which has been reverse engineered using a Generic Logic Array chip (GAL).  The GALs of today only work on rev. 3 and rev 4 SB 2.0s unless you use one from National Semiconductor, which are the only ones that work on boards without a rev.  They will not work reliable on rev. 0 (no revision) boards, so avoid those if you intend to upgrade.  Cards with a CT1336A Bus Interface Chip will not work with the CMS upgrade, even with a true Creative Labs' PAL.  Very short card for its time.  

Creative Labs Sound Blaster Pro 1.0

Although the Sound Blaster Pro cards have a 16-bit connector, all it does is allow you to select IRQ10 or DMA0, both very unpopular resource choices.  They work just fine in 8-bit systems and you can dremel off the 16-bit portion of the card edge with no ill effects.  The Pro supports stereo FM with 2 x OPL2 chipsets and 8-bit @ 44.1kHz DAC.  It also introduces a hardware mixer, which some games use to create stereo sound.  Virtually useless proprietary Panasonic CD-ROM interface on the common CT-1330, but it does not take up extra resources.  The Pros allow you to select DMA3, which means they can work with the Tandy 1000 T/S/RL series.  They have a 2-pin header to connect the PC Speaker header on the motherboard.  Usually the motherboard header is a 4-pin strip, but a simple "rewiring" of a CD audio cable works for me.  The PC Speaker will sound louder through the Pro than through systems with a piezo tweeter or a tiny speaker.  

Creative Labs Sound Blaster Pro 2.0

See above, but uses an OPL3 for stereo FM.  There are games that prefer the dual OPL2 setup, and for the later games that may utilize OPL3 features, they almost always sound better with General MIDI.  Shorter than the Pro 1.0 and less noisy sound output than the early Sound Blaster 16s.  CT-1600 is the most common and uses the Panasonic CD-ROM interface.  CT-1690 has a non-bootable SCSI interface which works with SCSI CD-ROMs.  

Innovation SSI-2001

A MOS 6581 SID on a card with a gameport.  Extremely rare.  I have seen two pictures of these cards, and both use 6581R4 chips, not 6582/8580 (would need a 9v converter on board).  A 6581 requires a +12v power source, which the ISA bus provides.  The SID chip's 29 registers are mapped directly on the I/O bus starting at 280, 2A0, 2C0 or 2E0.  The SID should be clocked at .894MHz.  The filter will sound different, as the Caps on the C64 used 470pf and the SSI board uses .01uF.  Extremely rare.  

Mediavision Pro Audio Spectrum (PAS)

AdLib compatible, no Sound Blaster compatiblity.  Requires loading MVSOUND.SYS in CONFIG.SYS for card to work.  8-bit @ 44.1kHz DAC support.  SCSI CD-ROM interface.  Better noise characteristics than any 8-bit Sound Blaster.  Stereo FM using 2 x OPL2 chipsets.  There are games from Sierra that support this card for stereo FM music that do not support the Sound Blaster Pro.  The MIDI interface has  no MPU-401 compatibility.  

The PAS can emulate the PC Speaker without having to route the sound from the motherboard.  This is weird, however, since there is a header for the analog PC speaker output from the motherboard on the card. 

The jumper settings for the original, 8-bit Pro Audio Spectrum are hard to find online and not marked on the circuit board.  Look here, which also gives the pinout for the CD Audio input header : 



Mediavision Thunderboard

AdLib and Sound Blaster 1.5 compatible clone (no CMS) with a volume wheel.  Some games have a Thunderboard install option for better compatibility.  Claims dynamic filtering for better output quality.  Supposed to be reported as a 2.0, presumably because it supports auto-init DMA as does a SB 1.5 with DSP v2.01.  The Thunderboard can disable the FM via jumper to work alongside the PAS and provide Sound Blaster compatibility to the Pro Audio Spectrum.  (I assume you can do the same thing on a real Sound Blaster by removing the YM3812 chip.)  The PAS16 would use the Thunderboard chipset for Sound Blaster compatibility.  Do not use in a Tandy 1000 T/R/SL because the DMA channel cannot be changed or disabled.  Interestingly, for a Sound Blaster clone it does not support MIDI output of any kind from the joystick port.  There is a version called the Thunder and Lightning that does support MIDI output and the capabilities of an SB2.0, licensed from Creative.  Its jumper settings are here :


Roland MPU-401 + MIF-IPC or MIF-IPC-A

Strictly a MIDI interface, but if you need 100% Roland MPU-401 compatibility, your choices are limited.  The large external box contains all the major circuitry, the MIF cards are simple bus adapters and can easily be replicated.  There were several ROM revisions, with the final revision being v1.5A.  This revision is used in the MPU and LAPC-I cards.  The MIF-IPC is not reliable in AT-bus systems (16-bit ISA bus systems), while the -A card adds AT-bus compatibility.  I/O address and IRQ2 usage cannot be changed without cutting traces and soldering wires or a dipswitch box.  The box can be used in many other systems (Apple II, Commodore 64) with the appropriate interface card.  Connectors include 2 MIDI OUTs.

Roland MPU-IPC or MPU-IPC-T

Virtually the same as the above, although this time the circuitry is on the card and the external box is just for the connectors.  The -T loses the Sync Out (useless for gaming) but allows changing the I/O and IRQ usage without physically altering the card.  Connects to the external box via a DB-25.

Roland LAPC-I

Provides the exact synthesis of a Roland CM-32L (MT-32 rev. 1 + 33 extra sound effects) plus a Roland MPU-IPC and selectable I/O and IRQ usage.  Has a headphone and two RCA jacks.  A DA-15 connector connects to its MCB-1 box for interfacing with extenal devices, which was sold separately.  A Gameport-to-MIDI adapter cannot be used unless pins are altered inside the cable.  Is a full-length card and requires a -5v power on the ISA bus.  Modern ATX power supplies (2.0 and above) do not supply the appropriate voltage.  In a pinch you could wire in a 7905 to convert it down from the -12v line, which is still supported.  Uses the CM-32L Control ROM, v1.0 (EPROM) or v1.2 (Mask ROM).  

Roland SCC-1

Provides the exact synthesis of a Roland  CM-300 (SC-55 base) plus a Roland MPU-401 interface, but only 1 MIDI OUT and 1 MIDI IN.  MIDI OUT requires a special mini-DIN to DIN cable.  Stereo speakers and RCA outputs.  The SCC-1 supports 317 patches, the SCC-1A card supports 354 (SCC-1B is a marketing term for an SCC-1A and the Ballade software).  Capital tone fallback (see my previous post about Unique PC Hardware) feature is not supported in the SCC-1A.  MPU-401 uses ROM revision 1.5B.  

Roland MPU-401/AT

The MPU-401AT uses the same MPU-401 features and ports as the SCC-1, but only has a 26-pin waveblaster header.  It has no on-board synthesizer by default, but can use any daughterboard that will fit on it.  Roland offered two, the General MIDI (with extra drumsets) compatible SCB-7 (a SC-7 derivative) and the General MIDI/GS compatible SCB-55 (a SC-55mkII derivative).  I have used a Yamaha DB50XG on the board without problems.  The audio output is superior than a Sound Blaster.  

There has been confusion between the labels SCB-7 and SCB-55 and SCD-10 and SCD-15.  The former two names identify and are silkscreened on the hardware boards, the latter refer to the product bundle with the box, software and manuals.  The bundle with the SCB-55 and MPU-401AT ISA card is called the SCM-15AT.  

Unfortunately, the MPU-401AT is extremely small and virtually all daughterboards will extend well-beyond the edge of the board.  Longer boards have four holes for the daughterboard standoffs, but this board only has two holes for standoffs.  The end result can be wobbly.  Finally, the name and manual for this card indicate that it is not PC or XT compatible, but because the card was released in 1995, those systems were seen as obsolete.  The card probably works fine in 8-bit XT compatible machines.  Finding standoffs of the right height will likely prove to be a time consuming task.  

All three Roland cards with sound synthesis capabilities can accept MIDI data from a separate computer.  In this sense, the cards can act as external modules.  

Saturday, July 14, 2012

CGA and Tandy Compatibility

Tandy 1000s (except for the RLX and RSXes) have a built-in video adapter which was based on the IBM PCjr.'s internal graphics adapter.  However, Tandy decided to do what IBM should have done, which was to make the internal graphics fully CGA compatible.  The PCjr. is really only compatible with CGA at the BIOS level, allowing for a 16KB graphics window at B800, implementing a compatible Status Register and using a genuine Motorola 6845 CRTC.  It does support CGA color composite video (with a different color palette) and a light pen.  Tandy added the Mode and Color Control Registers to allow for full CGA compatibility with software that wrote to those registers directly.

With Tandy's Graphics Adapter, a very high level of compatibility with CGA is maintained.  However, it is not perfect for reasons largely not attributable to Tandy.  First, IBM and Tandy use slightly different character glyphs in text-mode graphics.  IBM's "d" and Tandy's "d" do not look exactly the same, for example.  Text characters in text mode or taken from the patterns in the BIOS ROM will look slightly different.  This difference would be barely worth mentioning except that games that use tweaked text modes for their graphics will show graphical differences.  ICON : Quest for the Ring and The Seven Spirits of RA are the only two examples I can think of.  These games use a 40-column text mode where the character cells are 2 pixels high instead of the usual 8.  These games are unique in that they use many different text characters instead of solid block characters.

The two screenshots can give you an idea of the differences.  First look at this screenshot, using the standard IBM character set :



That is taken from the MACROCOM's ICON demo and that is how it is supposed to look.  Now lets look at same screen displayed with the Tandy characters :


I took the above screenshot using MESS, so there are some color errors due to its imperfect CRTC emulation which would not be seen on a real Tandy 1000.  But what will be noticeable on the Tandy 1000 is the text, Siegfried's sword arm, the heads of the snakes, the kobold's tail and the Rhine Maid's mouth.  The game itself, ICON : Quest for the Rings, is also affected.  The 7 Spirits of RA from Sir-Tech uses the same graphics engine and similar anomalies are present in that game.

Second, the composite video colors are also different from IBM's CGA, the PCjr. and Tandy.  Although IBM early and late CGA cards have differences in their colors, the differences are minor.  Games supporting composite color graphics almost always had their graphics displayed to the IBM CGA standards.  Displaying these games on a PCjr. or Tandy 1000 will show the wrong colors outside black, white and maybe the grays.  The TV or monitor's tint control may not be sufficient to correct the graphics to the IBM standard.  Compare the results here :

http://vogons.zetafleet.com/viewtopic.php?t=12319&postdays=0&postorder=asc&start=500

Third, some games will not display CGA graphics on a Tandy because they detect a Tandy 1000 and will only display Tandy 16-color graphics instead!  In that sense, the Tandy is not CGA compatible, again, through no fault of Tandy.  Some games offered a command line switch or install program to allow the user to manually specify the graphics mode.  16-color modes generally work better with higher speed processors, so a gamer may have sought to trade graphics quality for game performance on a lower powered machine.  Other games do not offer a way to bypass graphics autodetection.

Strangely enough, Tandy SX and TX and later machines with ISA slots will disable the internal Tandy Graphics if a CGA graphics card is installed.  Depending on how compatible the CGA card is, #1 should be solvable and #2 may be licked if the character ROM is close enough to IBMs.  #3 requires debug talent or replacing the Tandy BIOS ROM with a ROM without the Tandy 1000 identifier byte.  (FC00:0000, 21).

Sunday, July 8, 2012

The Gravis Ultrasound and DOS Games

A commonly held belief that the Gravis Ultrasound's primary utility was for playing DOS demos.  Indeed, that was the software for which it was best known, but many, many DOS games supported it as well.  For some games, it is the ideal method to use for sound playback.  For others that advertise "support", getting them to run is a frustrating exercise.

The Gravis Ultrasound was released in 1992 and offered 16-bit digital audio output capabilities.  Unlike the Sound Blaster 16, which can only handle a stereo (2-channel) digital audio stream in hardware, the Gravis can handle up to 32 digital audio streams/voices and mix them to stereo audio output.  At 32 voices, it can output at 19 kHz, but at 14 voices it can manage 44.1kHz.  See here for the frequency/voice range : http://www.ninjacode.org/gf1/tech.html  It can also support up to 1MB of RAM on the card to store digital sound samples/patches, usually for MIDI or Tracker MOD-style music.  The original Ultrasound came with 256KB or 512KB of RAM, but the Ultrasound MAX, ACE and most of the clones come with 512KB on board. The more RAM, the better quality patches can be loaded onto the card.  

To upgrade your Ultrasound, you will need 4 (if your board has 512KB) or 6 (if your board has 256KB) 256K x 4, 80+ns FPM 20-pin DIP DRAMs.  If you have an Ultrasound with a single socket, you will need one 256K x 16 80+ns FPM 40-pin SOJ DRAM.  It is important to note that a 256Kx16 chip holds the same amount of data as a 512Kx8 chip, only the organization is different.  

The original Ultrasound came with a speed-adjustable gameport and support for emulated MPU-401 with Mega-Em.  It had a dual row of pin headers to attach a daughterboard that allowed for 16-bit recording capabilities.  The daughterboard includes a Crystal CS4321 codec, which is virtually identical to the Analog Devices AD1848 codec used in the Windows Sound System cards.  This chip also added an alternative method of 16-bit digital playback.  Revisions prior to 3.7 do not have an onboard mixer chip.  The Ultrasound MAX is like a nearly-fully upgraded GUS, with the daughterboard functionality and support for 3 proprietary CD-ROM interfaces (Sony, Mitsumi & Panasonic).  When a game states it supports the Ultrasound MAX, it really means that it is using the CS4321 codec for digital audio processing or Sound Blaster emulation instead of the native Ultrasound hardware.  It is really using a Windows Sound System driver, just directing the output to different ports.  

The card I have is the Gravis Ultrasound Audio Card Enhancer (ACE), v1.0.  This is a stripped down card designed to work with a Sound Blaster.  It has the no midi/gameport, no recording capabilities, and no CD-ROM/IDE interfaces.  It has a particular feature unique and valuable to the card, the ability to disable the Adlib ports.  This should help games which have difficulties with an Ultrasound and a Sound Blaster due to their Adlib autodetect routines.  The v1.0 version of the card has a drawback in that it outputs reverse stereo, requiring a cable fix.  Card version v1.1 fixes this bug, but the jumper layout is not as well-designed.    Whoever laid out the ACE had the foresight to allow you to change the I/O port jumper without having to remove the card from its slot!

The ACE is a great card, but it does have a gotcha that I did not know about until recently.  While it has no gameport, the card's two main chips are essentially the same as found on a full-featured pre 3.73 GUS, and the chips implement a gameport interface.  This creates a bus conflict if there is another gameport in the system and PC compatibles tend not to work properly when there are bus conflicts.  The version of ULTRINIT.EXE that comes with the standard driver installation packages, including and up to v4.11, does not disable the joystick properly using ULTRINIT -dj.  You will need to use ULTRINIT v2.26a, found here : http://www.gravisultrasound.com/utilities.htm to properly disable the gameport interface in the GUS ACE's chips and correct the problem.  

Regarding the RAM sampling, Creative would not come out with a competing card until the next year, when it released the AWE32.  The AWE32 came with 512KB of sample RAM, but had SIMM slots to upgrade the RAM to 28MB.  Gravis and AMD came out with a compatible successor to the Ultrasound, the Ultrasound PnP, in 1995.  The PnP supports up to 16MB of sample RAM and can handle 32 voices @ 44.1kHz.  It really was a Windows 9x card and its uniqueness was lost in the wake of DirectSound and DirectSound3D.  The PNP is probably 100% compatible with all GUS supporting games.  To make it work with games from Epic MegaGames supporting the GUS, run the prepgame.exe utility in each game's directory to patch it to work with the PNP.  Games like Battle Arena Toshinden and Angel Devoid: Face of the Enemy setup programs may not work with the PNP for MIDI.  

Enough about the hardware, onto the games!  The Ultrasound used the same basic method of audio reproduction as the Commodore Amiga's Paula chip, so the transition on ports from the Amiga was a very smooth one.  21st Century Entertainment's ported Pinball Dreams, Pinball Fantasies, Pinball Dreams II, Pinball Illusions, Pinball World and Pinball Mania, all with GUS support.  Epic MegaGames also produced a fine native-DOS pinball series that took great advantage of the GUS, with Epic Pinball, Silverball and Extreme Pinball.   Epic also used the card to great effect in Zone 66, Jazz Jackrabbit and One Must Fall 2097.  Star Control II was a true-DOS game that demonstrated the card's great potential early in its market life.  

For vintage system builders, even if you do not like PC pinball games or demos, the GUS can still have a major influence in your 386 or 486 system.  The output sound quality of the card is better than many Creative cards at the time, especially the noisy early Sound Blaster 16s.  Perhaps just as important, it is much easier to reconfigure than the Sound Blasters.  All the Sound Blasters, until the arrival of the AWE32 and 2nd Gen 16s, were configured solely by jumpers.  I/O port ranges, DMA, IRQ, Joystick and MIDI enable were all set by jumpers.  All UltraSounds prior to the PnP only set its I/O port range via jumper, and the MAX has jumpers for the CD-ROM interfaces.  Since the I/O is perhaps the least frequently changed hardware setting (most GUS users use 240 if they are not emulating a Sound Blaster), this is not a big problem.  

An overlooked factor in the GUS's favor is that it can improve performance in games.  Games like Star Control 2 can play up to eight sound effects at a time.  If you had a Sound Blaster, the game would have to process and mix those effects to stereo output in software, but a GUS does it in hardware.  All the games mentioned in the previous three paragraphs will also play digital music and sound effects on a Sound Blaster.  However, because the GUS is far more efficient than the SB at mixing digital sound channels, the GUS will often playback in higher quality (16-bit vs. 8-bit) or a higher sample rate (44,100 vs. 22,050 or 11,025kHz) or both compared with a Sound Blaster.  In fact, while Epic Pinball will play 16-bit music with a GUS on a 386, you need a Pentium to get the close to the same quality on a Sound Blaster 16.  Games like Epic Pinball and Star Control II will always sound objectively better when their music is played back on an Ultrasound compared to a Sound Blaster.

Unlike the Sound Blaster, which will generally work fine with only a SET BLASTER statement in your AUTOEXEC.BAT, the GUS does require installation of its basic software package to work properly with most games.  You can find the software here : http://www.gravisultrasound.com/index.htm.  On a real card, it may be preferable to set different IRQs for GUS and MIDI and moreso for recording and playback DMA.  16-bit DMA channels are preferable to 8-bit DMAs, but if your motherboard has faulty high DMAs, then you will have to use a low DMA.  High DMAs are seldom used.  The installation program will add the appropriate lines to AUTOEXEC.BAT.  Note that games using early versions of the DOS4/GW extender have difficulties with 16-bit DMA channels.  In this case you should replace the version that came with the game with a later version or DOS/32.

According to the g-list, at least 156 games support the GUS natively.  A few games use AIL drivers, which require loading the UltraMID TSR program from the Ultrasound software.  UltraMID takes quite a bit of conventional RAM, but can be loaded in upper memory.  Other games will require loading Mega-Em or S-BOS.  However, Gravis was criticized for putting out false and misleading information about game support, so that list may not be 100% accurate.  

Mega-Em is a software program found in the Ultrasound software package that emulates a Roland MT-32/LAPC-I or SC-55/SCC-1 and or the digital audio output processing capabilities of a basic Sound Blaster 1.5 or 2.0 (Type 1 or Type 3).  It is designed to load in EMS and requires a memory manager like EMM386.EXE to be loaded.  It does not work with many titles using a protected-mode DOS extender (Wing Commander : Privateer) or games that refuse to run with an EMS manager installed (Ultima 7).  If expanded memory is enabled, then it will not take up conventional memory.  It does not emulate the FM capabilities of a Sound Blaster or Adlib card.  Roland SC-55 is the default Roland emulation, Roland MT-32 is the alternate.  Roland or Sound Blaster can be turned off.  
Mega-Em is not a perfect substitute for either the MT-32/LAPC-I or the SC-55/SCC-1.  Even assuming the emulated MT-32's built-in patches sound true, the software will not process system specific parameters, reverb or custom patches.  Games utilizing the reverb and chorus features of the SC-55 (Ultima 8) won't sound too great.  It is unknown if Mega Em supports all the drum sets or the extended patches of an SC-55.  Finally, the SC-55 devotes 3MB to its patches (+1MB for the MT-32's patches) compared to the 1MB of the Ultrasound, so the MIDI music may not sound as good.  Mega-Em will not emulate Roland devices in games using protected mode using a Gravis Ultrasound card lower than a version 3.xx.  It its latest version it should emulate enough of an intelligent MPU-401 interface to allow most games requiring said interface to work properly (except for Legend Entertainment's notorious adventures)

Only the truly desperate should have to and contend with SBOS.  SBOS is a Sound Blaster/Adlib emulator.  I have heard that its FM Synthesis emulation is not up to par with the real thing.  SBOS can be loaded high, but does not need an EMS manager to run.  This means you will have to use SBOS with Ultima 7 or Comanche : Maximum Overkill.  Unfortunately, SBOS requires your motherboard to have a working Non-Maskable Interrupt (NMI).  NMI is used in an AT compatible machine to inform the CPU of memory parity errors, but is used by SBOS to communicate with the Ultrasound without interfering with games.  (The Sound Blaster AWE32 also uses NMI in its AWEUTIL program to emulate a Roland MT-32 or a generic General MIDI synthesizer using the EMU800 hardware and on-board RAM).  Some motherboards in the 486 category and later do not have a working NMI.  Although the software only supports mono FM cards like the Adlib and pre-Sound Blaster Pros, it will by default output the voices in stereo.  

For my own personal experience with a GUS ACE on my 486 DOS Gaming PC, it did not matter that I had set the recording and playback DMAs to the same value, since the card cannot record anything anyway.  All that using separate DMAs will do is to allow full duplex recording and playback.  With a single DMA, you can only do one or the other.  However, Epic Pinball refused to play back music and sound effects properly unless I set different GUS and MIDI IRQs.  DOOM would not play sound with the GUS ACE unless I set the bus speed to 7.159MHz in the BIOS, but the bus speed must be set to 6.6MHz to eliminate all stuttering.

The last release of the driver software, 4.11, included version 3.11 of Mega-Em, which effectively combined the functions of UltraMID, Mega-Em and S-BOS into one program.