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.  

Thursday, June 21, 2012

IBM PCjr. and Tandy 1000 Games

Originally, I was going to place this article in my Unique PC Hardware and Game Support, but I decided it deserved its separate article.  It is well-known that the IBM PCjr. was not a greatly successful home computer.  Too expensive, compatibility issues and its upgrade woes doomed it to failure in the marketplace.  It was a weird product released by a company that had little prior experience marketing to the consumer market.  Even though the machine was only on the market for 18 months, it still had a substantial impact on PC gaming.

That impact was manifested in the Tandy 1000.  Released in March, 1985, for the same price as the now discontinued IBM PCjr., $1,199.00, it was a far superior machine and very competitive with an IBM PC 5150.  (Actually, Tandy 1000s may have seemed inexpensive, but they got you on their extras).  This machine is pretty much what IBM should have released, a true IBM PC compatible with better graphics and sound.  Tandy originally intended its computer to be a more compatible PCjr. clone, but when they were ready to release it, the PCjr. discontinuance had been announced and Tandy switched gears and advertised it as an IBM PC compatible.

Unfortunately, in the 18 months of the PCjr.'s life, several games had been released for the IBM PC and PCjr. that would only display advanced graphics and sound if it detected a PCjr.  The games determined by the system they were running on by checking the PC identifier byte at F000:FFFE, which was FF for a PC, FD for a PCjr., FE for an early XT and all PC Portables, FB for a later XT, F9 for a PC Convertible and FC for an AT and XT/286.  Clones almost invariably identified themselves as PCs to ensure maximum compatibility, and Tandy 1000s were no exception.  So those games that detected whether they were being used in a PC or PCjr. would detect a PC if they were being run on a Tandy 1000 and utilize CGA graphics and PC Speaker sound.

There are other compatibility issues between the PCjr. and Tandy 1000s.

Joysticks - The IBM PCjr.'s joysticks work just like IBM PC joysticks.  Tandy 1000 joysticks come from the TRS-80 Color Computer and while analog, do not work in exactly the same way as PC joysticks.  Usually this is not a big deal, but the differences may cause a game using tight timing loops to get confused.

Floppy Interface - IBM located the floppy adapter at I/O F0-FF on the PCjr., 3F0-3FF on the PC.  Tandy went with the PC I/O ports.  Games with disk routines (typically for copy protection) that do not use Int 13 and instead directly address the floppy disk controller directly should fail.

BASIC - The IBM PCjr. came with BASIC partially contained in ROM and additionally on a cartridge, the IBM PC came with it partially in ROM, and the Tandy 1000 came with it on solely on a disk.  Games that embed or call BASIC or BASICA from IBM PC-DOS in their execution will not work with the Tandy 1000 because those programs require BASIC in ROM.  

Keyboard - The IBM PCjr.'s keyboard is basically compatible with the PCs, although not as easy to use due to the fewer keys and the chiclet arrangement.  However, with Fn key combinations it is possible to generate all the keystrokes of the PC keyboard.  The Tandy 1000's keyboard interface came from the less-than-PC compatible Tandy 2000, and while compatible at the BIOS Int 16 level, there are real differences on how the keyboards work at the hardware level.  Games bypassing the BIOS routines may fail to recognize keyboard input.

Cartridges - The Tandy 1000 did not have cartridge ports, so those games that appeared on cartridges only would be beyond the Tandy's capabilities.  More ports would have been likely but for the video game crash of 1983.

Memory requires its whole section.  First, as the PCjr. was only intended to have 128KB of RAM, the RAM is shared between the CPU and the Video Gate Array.  This meant that RAM performance was substantially slower on a PCjr. compared with a PC.  Although the original Tandy 1000 also only had 128KB on the motherboard, there are no slowdowns on those machines even though 128KB is shared between video and CPU.  Games relying on the slowness of the PCjr. will run too fast on a Tandy 1000.

By the end of 1985, the 128KB of the PCjr. and its abyssmal performance began to be seen as too limiting and developers began to target the Tandy 1000 instead.  As the PCjr. was officially dead by March of that year, few developers felt it necessary to support the quirks of the failed system.  At this point having a Tandy 1000 was much more important than an IBM PC.

Second, the PCjr. was not designed to be upgradeable beyond 128KB, while the Tandy 1000 was always intended to go up to 640KB.  The TX and most of the later models allowed 768KB in the conventional memory space to eliminate the need to take RAM from conventional memory.  Eventually IBM thought it would be a good idea to allow memory upgrades to 640KB, but the PCjr. informs programs of its total memory in a different manner compared with PCs and Tandy 1000s.  Games requiring 256KB of RAM will not work in a PCjr. unless they are specifically aware of sidecar RAM expansions.

Third, the PCjr. tried to be somewhat compatible with CGA by implementing the CGA graphics window at the B800 segment.  It does not have any memory at that area and borrows it from the top of the first 128KB.  The PCjr. strictly implemented the window to 16KB.  This means that for 32KB graphics modes, 320x200x16 and 640x200x4, only half the graphics would be shown if the programmer wrote to the B800 window.  In the PCjr., the graphics would have to be written directly to the 1700 segment.  The direct graphics window in the PCjr. would stay within the first 128KB no matter how much expansion sidecar RAM was installed in the system.

Tandy improved on this in two ways.  First, it expanded the window at segment B800 to 32KB, allowing all the pixels of the 320x200x16 and 640x200x4 to be shown using that window.  Programs did not have to ask the system where the top of the RAM was.  Second, the direct graphics memory window is always at the top of RAM up to 640KB.  So if a user had maximized his RAM in a pre-TX machine to 640KB, the 512-640KB portion of RAM would be shared between CPU and video.  Unfortunately this broke compatibility with PCjr. only-programs that wrote graphics directly to the first 128KB of RAM.  

Games automatically detected the Tandy 1000 by first searching the BIOS ROM for the string TANDY. It will be found in any Tandy 1000 because it is shown on the BIOS copyright screen upon bootup.  Then it checked the byte at FC00:0000, and if was 21, then the game knew it was running on a Tandy 1000.  If not, then the game would assume it was running on another Tandy PC-compatible system like the Tandy 1200 or 3000, which could use regular PC graphic adapters.  Games that autodetect a Tandy will utilize the advanced graphics and sound.  If a Tandy 1000 was not detected, then the game would use CGA, Hercules or EGA graphics and PC Speaker sound.  This occurs even if the game can run in a PCjr.

By 1987, most games did support EGA graphics, which can display identical graphics to the Tandy 1000, so the need for a Tandy 1000 was dwindling.  Toward the end of 1988, Sierra and other game companies began supporting discrete sound cards like the Adlib and midi devices like the Roland MT-32.  Thus the importance of the 3-voice sound began to wane and by 1990 with the Sound Blaster's digital audio playback support, the need for a Tandy 1000 was all but eliminated.

Rules of thumb for game compatibility :

Game states it supports IBM PC & PCjr. - chances are it will only show 16-color graphics and play 3-voice sound on the PCjr.

Game requires 256KB or greater RAM - chances are it will not work on the IBM PCjr.

Game supports IBM PC, XT, AT, Tandy 1000 - without a specific mention of PCjr. compatibility, assume it will not work on the IBM PCjr., especially if it requires 256KB or more RAM.

Disk-based Game specifically for PCjr. - will probably work more or less in a stock Tandy 1000 or 1000A. Later Tandys come with 256KB or more RAM, and most likely will not work.

Booter games supporting Enhanced Graphics or Sound on PCjr. only :

Agent USA - 320x200x4 resolution, uses solid graphics for better picture on RGB monitors instead of stripey graphics intended for composite color monitors with CGA.#
Alley Cat - 320x200x4, palette uses different colors and not subject to CGA restrictions.  Enhanced title screen music,
Bannercatch
Below the Root - Uses 320x200x4, Graphics adjusted for optimal results for composite color display when run on PCjr.  Enhanced music on title/demo screen#
Boulder Dash - 160x200x16, 3-voice music and sound effects*
Boulder Dash II - 160x200x16, 3-voice music and sound effects*
Crossfire (Cartridge) - 320x200x4, palette uses different colors and not subject to CGA restrictions.
Jumpman - 160x200x16, 3-voice music and sound effects
Microsoft Flight Simulator 2.0+ - 160x200x16, 3-voice sound effects
Microsurgeon (Cartridge) - 160x200x16, 3-voice music and sound effects
Mine Shaft (Cartridge) -  320x200x4, palette uses different colors and not subject to CGA restrictions.
Mouser (Cartridge) - 160x200x16, 3-voice music and sound effects
Murder on the Zinderneuf - 160x200x16
Oil's Well# - 160x200x16
Pitfall II: Lost Caverns (Cartridge) - 160x200x16, 3-voice music and sound effects
Pitstop 2
River Raid (Cartridge) - 160x200x16, 3-voice music and sound effects
ScubaVenture (Cartridge) - 160x200x16, 3-voice music and sound effects
The Seven Cities of Gold - 640x200x2 composite color (ideal) or 320x200x4 (select by pressing A at title screen), 3-voice music and sound effects
Superbowl Sunday# - 160x200x16
Troll's Tale - 320x200x16 (effective resolution for graphics is 160x200x16)
The World's Greatest Baseball Game  - 160x200x16, 3 voice sound effects

* - Super Boulder Dash, which is a compilation booter from Electronic Arts, does support Tandy 1000 graphics and sound, but the available image did not properly crack the Tandy/PCjr. versions of these games, so a fix is required and has been accomplished.  The standalone releases of Boulderdash I & II may not support Tandy 1000s because they were released before the Tandy 1000 was released.

# - Tandy 1000 versions of these games may possibly exist, as they were advertised in Radio Shack/Tandy catalogs.

$ - Does not actually support more than four colors on the screen at any time, but can select freely from the 16-color palette, unlike CGA.

% - Modern remake exists with Tandy and VGA support.

@ - Looks best on a composite color monitor or TV.

+ - Supports 256KB (only available with a memory sidecar)

Booter games supporting enhanced graphics or sound on a Tandy 1000 w/256+KB only :

Defender of the Crown - 320x200x16, 3-voice music and sound effects^
Marble Madness - 320x200x4, palette uses different colors and not subject to CGA restrictions, 3-voice music and sound effects.
Sid Meier's Pirates! - 320x200x16, 3-voice music and sound effects^@
Demon's Forge - 320x200x16 - Unknown if 256KB is required

^ - Also supports EGA

$ - Does not actually support more than four colors on the screen at any time, but can select freely from the 16-color palette, unlike CGA.

@ - An official DOS conversion exists that may work with a PCjr. with the Tandy 1000 mod.

It is important to note that the following games had separate releases for the PCjr. and Tandy 1000

Demon Attack (Cartridge for PCjr., Disk for Tandy) - 160x200x16, 3-voice music and sound effects.
King's Quest (PCjr. version probably works on 128KB Tandy, Tandy version works on PCjr.) - 320x200x16 (effective resolution for graphics is 160x200x16)
Touchdown Football - 160x200x16, 3-voice sound effects (including speech!)

The Tandy releases are considerably rarer.  Demon Attack for Tandy may have a title screen.  The PCjr.'s version of Touchdown Football's speech will be too fast on a Tandy, perhaps the Tandy version fixed that.

DOS games, games which are not self-booting, are usually far more friendly to the Tandy 1000 than the PCjr.

Booter games supporting enhanced graphics or sound on a Tandy 1000 or PCjr. with same program

King's Quest II - Romancing the Throne
The Black Cauldron
Donald Duck's Playground

Friday, May 18, 2012

The Other Early Tandy 1000s

Some people may have noticed the prior post in which I extoll the virtues of the Tandy 1000SX.  I recently posted on the later Tandy 1000 models, which increasingly stray from the standards established by the PCjr. and original 1000.  But let me examine the issues with the other systems.

Tandy 1000TX - This system is equal to or better than the SX in every way but two.  It is better in that it has an 80286 CPU, is upgradeable to 768K RAM (to allow full 640K conventional), has a volume control dial for the internal speaker, a front-case mounted headphone jack which reroutes the audio from the internal speaker (no multiplexer nonsense), has a serial port, comes with a 720K drive and boots up a lot faster.  However, it provides power through the drive cable, which needs to be accounted for by cutting holes in the pins feeding power to any floppy drive not supporting that arrangement.  This is only slightly annoying.  Even so, the power supply has one 4-pin Molex connector for the 5.25" floppy drive, which can be split with a common Y-adapter.  

The other issue is that the system is by default faster than the SX, even with a 286 Express accelerator.  While it can cut the speed of the CPU by half, even a 286 at half speed is substantially faster than an SX without an accelerator.

I would estimate that, based on benchmarks of both systems, Tandy 1000TX running at 4MHz would be somewhat faster than a Tandy 1000SX with a V20 upgrade running at 7.16MHz. However, this is still about 2x faster than an IBM PC with an 8088 running at 4.77MHz. Already you have three noticeable speed increases over the original PC and the software written when that was the only thing around. So if the lower speeds are important to you, then the TX may not be a good choice.  Despite running its CPU at 8MHz, the TX and TL machines are approximately 10% slower than an IBM AT @ 8MHz, but have faster video than IBM EGA.

The 286 is in a PLCC socket, so most 386 and 486 upgrade devices work in it, if you can find one.  However, it still has 8-bit slots, so you will need to find VGA, IDE, HD Floppy and Network cards that will work in an 8-bit slot.

Tandy 1000EX - This was released at the same time as the SX, and is essentially a stripped down of the SX.  It even uses the same BIOS as the SX, shares the 7.16/4.77MHz speed switch.  Unfortunately, expansion is really difficult in this machine as it has one bay that is supposed to contain a 5.25" floppy drive.  No reset switch either, no way to use a different keyboard, and due to internal RF shielding it is extremely difficult to get inside to the motherboard.  I also read that installing a RTC chip is also difficult due to lack of clearance that the internal shielding imposed.  No coprocessor can be installed without an extremely rare adapter.  The video is difficult to upgrade at best but it is possible despite what Tandy may have told customers.

The worst issue with these machines are the PLUS slots and finding expansion boards.  A PLUS slot is simply a 62-pin ISA with berg-strip pins and connectors mounted at a right angle to a regular card edge ISA connector.  However, the brackets securing the cards to the chassis are a custom design.  Finally, to upgrade the RAM and add DMA you need a special PLUS board similar to the boards for the original 1000s. The most common upgrades to find would be serial cards and modems, and while specialty companies made other upgrade devices, they are extremely difficult to find.  There is a port for an external 5.25" or 3.5" drive, but the pinout is a Tandy proprietary design.  You can switch the boot drive using the F4 key at bootup.  If you have a 3.5" drive, you will need DOS 3.2 and drivparm in your config.sys to obtain the full benefit from it.

The lack of on-board DMA, which users of other computers took for granted, is extremely irritating.  Without DMA, most hard drive options are out of reach.  Standard MFM/RLL controllers use DMA and memory mapped interface cards like the Trantor T-128 SCSI and the Silicon Valley Computer ADP-50L IDE boards require it to enable their improved performance.  You may be able to use a port I/O SCSI interface like the Trantor T-130B, but that will not work reliably unless you have a V20, V30 or 286 CPU.

The other issue is the floppy drive.  Without DMA, the CPU must handle all the transfers to and from the floppy drive.  This requires tight timing and disabling interrupts, so serial (mouse and modem) and keyboard input may be lost during floppy drive access.  DMA makes using old machines much easier.

The machine does have two small benefits over the SX.  First, it has an external volume dial that can control the headphone or internal speaker.  The SX has a potentiometer inside to adjust the volume, but it isn't very practical to open the case.  Second, due to the design you will always get sound output from the jack, unlike the RCA audio output of the 1000 or 1000SX.  On the latter machines you may have to set bits in the audio multiplexer.  No 8087 coprocessor socket.

Tamdy 1000HX - This update to the EX shares most of its benefits and drawbacks, but adds more in both directions.  It was released alongside the TX.  Unlike the EX, it has two internal 3.5" bays, although if you want to use them for anything other than Tandy drives you may need some ingenuity in getting other things to fit in them.  It can support a third external floppy drive, which can be a 5.25" or a 3.5" drive in addition to the two internal drives.

It has better clearance for installing a clock chip and less RF shielding to contend with.  However, it uses power-in-drive cabling for the floppy drives and there are no molex connectors available for powering something else.  Although it only comes with DOS 2.11, Tandy modified that DOS to provide full support for 3.5" floppy drives.  In theory I suppose that could confuse 3.5" DD floppy programs that say "requires DOS 3.2".  It also has DOS-in-ROM, so you don't need a DOS floppy in the drive for simply running applications or have to wait on slow floppy disk accesses to your DOS disk.  The machine boots instantly to a menu allowing you to select to boot to a program in drive A:, start from the C: (ROM) drive, or enter Deskmate.

Tandy 1000/A/HD - This is the original model, and it sort of a trial run for the later machines.  They have three slots and can expand memory through the use of ISA boards.  The original Tandy 1000, (non-A version), has no socket for a numeric 8087 coprocessor.  You can burn and insert EPROMs to upgrade to the 01.01.01 BIOS of the 1000A.

The built in graphics cannot be disabled and and using an EGA or VGA card is tricky at best.  I do not think that the early 1000s supported the use of a monochrome or Hercules card because there would be no BIOS support for it.

There are only 3 ISA slots, and at least one is required to expand the system beyond 128K and add DMA. Tandy originally released two RAM expansion boards, the first with the DMA chip and up to 256K (25-1004) and the second without.the DMA chip and up to 256K (25-1009).  Any RAM card with settable memory addresses like an AST Six Pak Plus (short versions) will work in place of the second card.

For the 1000HD, Tandy included a new board (25-1011) with the DMA chip and allowing you to add up to 512K.  It also has a PLUS header allowing you to use a PLUS card, like the serial card, without having to take up another precious slot.  The 1000HD also comes with a 10MB MFM hard drive (Tandon TM-252) taking up one of the two 5.25" bays and the interface card (WD1002S-WX2).

Like the SX, the Tandy 1000/A/HD can use the 286 Express Accelerator.  The accelerator consists of an ISA card and a daughterboard with a ribbon cable to the motherboard's CPU socket.  The Tandy 1000A and 1000HD share the same motherboard, and can use the came daughtercard that the SX can use.  The original 1000 requires a different daughteboard, and the regular card is hard enough to find as it is.    An NEC V20 will give a modest speed boost.

The Tandy 1000/A/HD system does not assign bootup functions to the F1-F4 keys as the later Tandys do.  Since there is only one speed, there is no function for the fast/slow speed, and swap drives is not available (since only one type of drive was supported during these systems' life).  Neither is the mono mode, and TV mode (40 columns with 200 lines) requires pressing F12 at bootup.  However, the 1000A or the 1000 with upgraded BIOS will allow you to use F1 to enter the mono mode.

There is no volume control and the same issues with the sound multiplexer and the RCA audio out on the SX will be encountered in these machines.  Unlike the SX, there is no switch to use IRQ2 instead of IRQ5 for the video (so you can use an IRQ2 hard drive controller).  The Power Supply is rated for 54W compared with the 65W of the SX and TX.  None of these machines have a Real-Time Clock (RTC), which must be added via a plug-in module.  The Dallas DS-1215 is the usual choice.  

Wednesday, May 16, 2012

Benefits and Drawbacks of the Late Model Tandy 1000s

In 1988, Tandy decided to make its very successful 1000 series more like standard PCs and less quirky like its original models.  The early model Tandy 1000s were the 1000, A, HD, EX, SX, HX, TX.  Late model means Tandy TL, TL/2, TL/3, SL, SL/2, RL, RL-HD, RLX, RLX-HD, RLX-B, RLX-B-HD, RSX, RSX-HD.  Now, the later Tandys had some significant advantages over the earlier machines, but they also have their drawbacks too.  Lets start with the advantages :

Bays : (TL, TL/2, TL/3)

The first models in the series, the Tandy TL and Tandy SL, were intended to replace the TX and SX in the product line.  The TLs have three bays whereas the rest of the Tandys have two.  While you do lose some flexibility compared with the two 5.25" bays of the earlier models and SL, you can use one of the 3.5" bays for an internal hard drive.

Drives : (all except SL)

All late model Tandys come with 3.5" drives, which makes using the machines with modern PCs a lot easier.   The drives use 720K disks, except for the RLX and RSX, but most 1.44MB USB drives can read and write 720K disks.  You can use tape over the hole of HD disks, but best results will be had with true 720K disks.

DOS-in-ROM :

DOS in ROM makes it easier to use the machine without a hard drive.  Essentially, the DOS-in-ROM allows you to use DOS formatted disks without needing to have DOS in a floppy drive.  Makes for much more convenient and speedier basic disk operations.  The DOS in ROM does not include utilities, so you will still need your DOS disks if your programs require DOS utilities.  If you have a hard drive, this functionality is disabled.

Fast Booting :

Although the HX and TX started this trend, all late models boot up virtually instantaneously.  From the time you turn the power switch on or press reset until the computer begins booting your floppy or hard drive, the time the machine takes is negligible.  With DOS-in-ROM, a decent hard drive or compact flash, you will not have to wait for the machine to boot into DOS.

Real Time Clock (TL, TL/2, TL/3, RL-HD, RLX, RLX-B, RLX-B-HD, RSX, RSX-HD) :

The Real Time Clock uses a standard CR2032 Battery in a clip.  It is easy to replace.  Other systems of this time and later use nasty rechargeable barrel-type batteries or hard to find Dallas 1287 RTCs which have the battery inside the plastic casing.  No drivers are required if using Tandy DOS.  If you are using a generic DOS, you may need to find a driver, but there is a Tandy MS-DOS 5.00.  Nothing higher should be needed for these systems.  The SL, SL/2, non-HD RL needs the chip, Dallas DS1216E, installed in a particular socket and has no clip-on battery

EEPROM Saving :

The system settings are stored in a small EEPROM and accessed by a setup program.  Earlier systems (HX excluded), had few options to set and those that did would require special parameters (drivparm in config.sys for 720K drives) or jumpers.

Keyboard :

Standard XT keyboards will work and any that can switch to XT mode.  IBM Model F XT keyboards work perfectly, and IBM Made (1992 or earlier) Model M keyboards work very well after the first keypress.  The Tandy Enhanced Keyboard which came with these systems can work in XT or AT machines, even modern ones.  I don't care for the action on the Tandy keyboard, however.

PS/2 Keyboard & Mouse  (TL/3, RL, RL-HD,  RLX, RLX-HD, RLX-B, RLX-B-HD, RSX, RSX-HD ):

Tandy was particularly forward thinking here, including PS/2 ports for the keyboard and mouse on these systems.  No adapters are necessary, and serial mice are slightly more difficult to find than PS/2 mice.  Tandys except for the RSX/RSX-HD do not have high IRQs available, and the PS/2 mouse usually uses IRQ 12.  The PS/2 mouse of the Tandys uses IRQ3 with the exception noted above, but the cutemouse driver will work fine with the port.  Windows will not.

Disable Joystick Ports :

If you do not want to modify a standard PC joystick to work in a Tandy joystick port, which requires building an adapter and internally connecting the third terminal of your joystick axes to ground, you can disable the Tandy joystick ports and use the ports on a standard PC gameport adapter or sound card.  Although Tandy did not support doing this, it can be done by setting bit 1 at I/O FFEB to 1.

The RLX-B(-HD) has an 8-pin mini-DIN that requires an adapter to use the regular 6-pin DIN Tandy joysticks.

Card Edge Printer Port Disable (TL,TL/2,SL,SL/2) :

This port is a leftover from the TRS-80s and is designed to be compatible with the pre-IBM Centronics standard.  It is not bidirectional and the nybble unidirectional mode doesn't work either.  I am unsure whether it can be disabled in the setup program, but it should be disabled by setting bit 1 of I/O 0065 to 0.  Other late Tandys come with standard DB-25 ports that are or can be made to work in the bidirectional mode (except the RL and RL-HD).

Built-in Floppy Port Disable (TL,TL/2,SL,SL/2, RL, RL-HD):

You can disable the double density only floppy port through the setup program, allowing for conflict free usage of a high density floppy drive.  The TL/3, RLX and RSX come with HD floppy controllers, so even if you could disable them, why would you want to?

Built-in Serial Port Availability and Disable :

All these systems come with a built-in serial port, as does the TX.  I am also unsure whether you can disable the 8250B only serial port through the setup program, but it should be doable by setting bit 4 of I/O 0065 to 0.  This would allow for the use of a 16450/16550 serial UART controller.

Built-in Graphics Disable (TL, TL/2, TL/3, SL, SL/2, RL, RL-HD)  :

The built-in graphics of these Tandys, which are similar to EGA but not compatible with it, can be disabled by plugging in an EGA or VGA card.  A program called VGAFIX.COM is required for proper autodetection by some programs.  Finding a VGA card that can work in an 8-bit slot will require a bit of work, but the earlier the card, the better.  However, even some of the VGA cards using the very fast TSENG ET4000AX cards can work.  I am not sure whether the built-in VGA can be disabled the RLX or the SVGA in the RSX, but I doubt anyone would want to sacrifice a slot for that.

CPU Upgradeability (TL, TL/2, TL/3, SL, SL/2)  :

The TLs have socketed PLCC 80286s into which plug-in 386 and 486 upgrades can be installed.  Unfortunately, due to the lack of extended memory and the difficulty of finding an 8-bit EMS board that will fit in these systems, the functionality is far from a real 386/486.  The SLs can have their DIP 8086s replaced with NEC V30s for a speed boost.

Volume Control, Earphone and Microphone Jacks and Reset Switch :

An adjustable knob on the front of the machine allows the user full control over the volume of the internal speaker.  Also found on the EX, HX & TX.  Reset can be easily accomplished if the system refuses to accept keyboard input, unlike on the EX and HX.  Microphone jacks can be used to record sound, and can usually be set to line in as well.

Full 640K Conventional Memory (TL, TL/2, TL/3, RL, RL-HD, RLX, RLX-B, RLX-B-HD, RSX, RSX-HD) :

Unlike all the earlier Tandys except the TX, most of the later models have a 128K upgrade so that the full 640K is available instead of 32K or more taken by the built-in graphics.  (RLX & RSX do not apply as they have VGA, which does not rob from system RAM)

Expanded/Extended Memory (RLX, RLX-B, RLX-B-HD, RSX, RSX-HD) :

The RLX/RLX-B can be upgraded to 1MB of RAM, and the HD versions have the 1MB preinstalled.  640K is conventional, 384K is extended.  I assume the the 384K of extended is mapped above 1MB, so it can only be used for whatever you can use extended memory.  You can use it to load DOS high and save about 40K using HIMEM.SYS /M:2.  You can also use it for games that support the XMS standard, SMARTDRV disk cache and programs that use the 286's protected mode like Windows 3.0 & 3.1.  Unfortunately, more games used EMS than XMS because EMS works in 808x machines, but EMS is not possible on this machine unless you use its slot for an EMS board.  The RSX can be upgraded to 9MB, and that can be easily configured to act as expanded or extended memory thanks to the 386's memory controller and EMM386.EXE and HIMEM.SYS.

Compact and Silent Running  (RL, RL-HD, RLX, RLX-B, RLX-B-HD, RSX, RSX-HD)

These machines are very small, both in terms of case height/width/depth and the motherboard size.  Additionally, their power supplies are only 25W, so they do not use a fan.  This means that unless you are accessing a drive motor or using the speaker, these machines run silently.  The drawback is the limited expansion, one or two ISA slots only.  The bidirectional parallel port can help out here.

Drawbacks :

Video :

No composite video

None of the later Tandys support composite video output, while all the early ones do.  Although there are detection issues, you can put a CGA card in these Tandys for composite video output.  Unlike the early Tandys and PCjr., you will be limited to the CGA modes for composite color.

Hercules graphics  (TL, TL/2, TL/3, SL, SL/2, RL, RL-HD)

Games autodetecting Tandy may not work with the Hercules emulation found in the Tandy Video II chip.  They detect a Tandy 1000 and assume that the user wants to use Tandy graphics, regardless of any other functionality detected.  Of course, since most games look better with color graphics, the Hercules/MDA functionality is likely to go unused.  Dual monitor support, using a splitter cable, is theoretically possible, however, this may endanger your monitors, which function at different sync rates.  A CGA and a MDA monitor may be damaged if the other's monitor's scan rates are sent to it.

Audio :

Slight audio issues :

There maybe some missing notes in Tandy music.  The first note of Greensleeves on KQ1 (DOS) and KQ2 (booter or DOS) will not play on any later Tandy.  This is because the Sierra AGI engine will send a command to set the audio multiplexer to output to the RCA jacks on the Tandy 1000 and SX.  This functionality is not required for any other Tandy, and the write will reset the PSSJ chip in the later models, causing the first note not to be played.  The early Tandys and PCjr. have a discrete sound chip, the TI SN 76496, but the later Tandys have that functionality built into its PSSJ chip.

The digital audio recording for the TL and SL is speed dependent.  The TL/2 and SL/2 and later Tandy's have a double buffered input, so recording audio is no longer speed dependent.

Conflicts with devices using DMA1

The later Tandys will freeze if a Sound Blaster 1.0-2.0, which cannot use anything else but DMA1, is installed in the system if digitized sound is played back.  You may encounter this in a game supporting either Sound Blaster or the Tandy DAC.  There may also be problems, for example, with a Central Point Software CopyIIPC Option Board, which must use DMA1 in a Tandy 1000 (can share DMA2 in an IBM PC).

No Tandy sound (RLX, RLX-HD, RLX-B, RLX-B-HD, RSX, RSX-HD)

The RLX and RSX really strayed far from the Tandy 1000 standard.  The RLX does  not support Tandy graphics because it has a standard VGA built into the motherboard.  So games that autodetect the graphics and sound may not play the Tandy sounds if they find a non-Tandy graphics adapter in the system.  The RSX went even further from the compatibility ideal, as it had moved the sound chip from I/O C0 to 1E0 because it supported the 2nd DMA controller, which can be found at C0.  Most programs supporting Tandy sound were released prior to the RSX and were unaware of the move.  Moreover, there were no BIOS routines for the music, the programmer had to write to the sound chip directly.  There were BIOS routines for digitized sound playback, so if the game used them, that sound would work.  Not all games did.  The Tandy 2500XL also had the sound chip relocated, so you can use that selection if your game supports it.

No joystick during digital audio playback

The PSSJ chip will not allow joystick reads while it is playing back digitized sounds.  This may only be slightly annoying, as most games of the time period only use short snippets.  However, if the game uses frequent digital samples, then it may disable the joystick entirely.  I doubt it would read from an IBM gameport, since it does not expect one to be in a Tandy 1000.

Peripherals

Keyboard :

Programs demanding the original Tandy 1000 keyboard may have serious difficulties.  First, the scan codes for the F11, F12 and dedicated cursor keys on the original Tandy 1000 keyboard cannot be generated by the corresponding key of a standard 101-key keyboard, whether in XT or AT mode.  This is usually not too much of a problem as most programs in the 1980s did not use F11 & F12 and would allow you to use the numeric keypad as cursor keys.  Any games that rely on differences in the Tandy keyboard may be tricky  or impossible  to play on an IBM PC keyboard.  Finally, some games may refuse to accept input (Snow Strike) or freeze (King's Quest Tandy Booter) on some keys because they expect the Tandy keyboard and get an IBM keyboard instead.

On the SL and TL, it may be possible to make an adapter to allow the original 1000 keyboard to work.

Joystick :

Programs requiring the Tandy joystick port used may not read the stick correctly if the Tandy ports are disabled and an IBM PC joystick is being used instead.  There are differences in how the ports work at the electrical level.  Really early games would not know of the Tandy joystick and their tight timing loops may be thrown off by the differences.  Later games may take those differences into account in their reading routines and not work properly because the hardware does not exactly match what they are expecting.  I do not know of a game that definitively has this issue, so this may be more of a theoretical than a real compatibility issue.

Interfaces :

Power-in-Drive Cables (TL, TL/2, TL/3, SL/2, RL, RL-HD, RLX, RLX-HD, RLX-B, RLX-B-HD, RSX, RSX-HD) :

In a normal IBM PC, power is supplied to drives on a separate cable with a 4-pin Molex or mini-Molex plug from the 34-pin data ribbon cable.  In all Tandys from the TX and HX onward, except for the SL, +5 and +12 v is supplied on what would otherwise be ground pins on a normal drive cable. Some Tandy cables, which tend to be no longer than absolutely necessary for Tandy supplied drives, had holes punched in the cables for a 5.25" drive.

8-bit IDE interface (TL/2, TL/3, RL, RL-HD, RLX, RLX-HD, RLX-B, RLX-B-HD) :

This may have been a good idea at the time, but today is fairly useless.  In the early days of the IDE standard, there was an 8-bit version released for 8-bit machines.  As Tandy never implemented 16-bit slots or 16-bit IDE ports until the RSX on the 1000 series, they sold 8-bit IDE drives.  Unfortunately these drives are very difficult to find today and only come in 20 and 40MB varieties.  Regular 16-bit IDE hard drives and compact flash drives will not work with these ports.  Compared to the TL, the TL/2 and TL/3 sacrifice a slot for this interface.

8-bit slots (TL, TL/2, TL/3, SL, SL/2, RL, RL-HD, RLX, RLX-HD, RLX-B, RLX-B-HD) :

Unfortunately, even though half systems have a 80286 and therefore naturally support 16-bit data bus transfers, Tandy crippled their machines.  Only the RSX has 16-bit slots, and it is the least compatible of the lot.  All the above machines could have supported a full or crippled ISA slot.  The 8086 supports a 16-bit data bus and the upper address lines on a 16-bit slot are not used on all cards.  The same could be said for the TX as well.

Saturday, April 28, 2012

Unique PC Hardware & Game Support

In this post, I will identify certain unique hardware that games used and can be difficult to replicate without it.    Except in one instance, no game will refuse to run because you do not have a particular system or card or device, but features may be lost.  I will identify the hardware in bold, then identify the particular feature or limitation unique to that card and list the games that support or require that particular feature.  Finally, I will explain what the issue is and possible work-arounds.  Fan patches and hacks are not included.

IBM Personal Computer Line

Feature - BASIC in ROM

Bumble Games
Bumble Plot
Juggles' Butterfly

Explanation : IBM's computers contained Cassette BASIC in ROM.  However, this version of BASIC was limited to communicating with cassettes, so IBM put BASIC.COM and BASICA.COM on its DOS disks so BASIC could interface with floppy drives.  These programs were relatively small because they utilized the underlying BASIC in ROM code.  As clone manufacturers entered the picture, Microsoft combined the Cassette BASIC and BASICA.COM into GW-BASIC.EXE for the clone systems, which did not have BASIC in ROM.  

Games requiring BASIC always came in a DOS-readable format and required BASIC, BASICA or GW-BASIC to function.  The above games were released by IBM, and would contain BASIC or BASICA on the game disk.  Other companies may have required you to copy over the appropriate interpreter to avoid having to pay license fees to IBM or Microsoft.  

With the above games, released by IBM, their disk labels clearly state or should state "Copy Protected".  When IBM released software licensed from 3rd party developers, the developers always put copy protection on the disks.  With its internally developed software, it usually was not picky.  The above games were created by The Learning Co.  The disks could boot without user intervention since they contained the basic DOS files and AUTOEXEC.BAT to start the programs.  Normally, if you were trying to run the program on a non-IBM PC, you would replace BASIC and BASICA with GW-BASIC.  On these programs, due to the copy protection, it may not work.

Alternative : MESS, IBM PCemulator

Gravis Ultrasound

Feature - Native GUS Hardware Mixing Support

Archon Ultra
Crusader: No Remorse
Crusader: No Regret
Death Rally
DOOM v1.2 or below
Epic Pinball
Extreme Pinball
Jazz Jackrabbit
The Lemmings Chronicles
One Must Fall 2097
Pinball Arcade CD-ROM (Pinball Dreams & Pinball Dreams II)
Pinball Fantasies
Pinball Illusions
Silverball
Star Control II
Turrican 2
Zone 66

Explanation : These games have support for the GUS's hardware mixing capabilities.  Essentially they boast the best support for the GUS.  By using the GUS's hardware, instead of software mixing, typically these games will have better audio performance and higher audio quality.  Unfortunately, hardware mixing was removed after DOOM v1.2 because there was no room left on the card after the RAM samples for the music had been uploaded and DMA transfers without using the RAM were buggy and inflexible.

NEC V20/V30 Incompatibility

Feature - Game works with an 8088 or 8086 CPU but not with an NEC V20 or V30

Lode Runner
Championship Lode Runner
Jumpman (possibly)

Explanation : The IBM PC, (many) PCjr., XT, Tandy 1000, 1000EX, SX and HX all have a socketed 8088 CPU. A popular, reasonably priced upgrade for these systems was to replace the 8088 CPU for the NEC V20, which is an optimized version of the CPU.  For systems like the IBM PS/2 Model 25 and 30 and the Tandy 1000SL and SL/2, the socketed 8086 could be replaced with an NEC V30.  Due to optimizations in the instruction execution, the addition of a hardware multiplier, the resulting speed improvement could be 15% on average over the equivalent Intel CPU.  However, the occasional game will not work with a V20 or V30.  The only confirmed game is Lode Runner, but the disk image and DOS conversion available on the Internet work fine with a V20.

Alternative : Run game with 8088 or 8086 CPU, use Retrograde Station booter or DOS conversion.

Creative CMS/Game Blaster

Feature - CT-1302 Detection Chip

AD&D Death Knights of Krynn
Altered Destiny
Arkanoid II: Revenge of Doh
Bubble Bobble
Death Knights of Krynn
Puzznic
QIX
Rambo III
Rastan

Explanation : Quite a few games support Creative C/MS or Game Blaster sound.  The sound chips are two Phillips SAA-1099s and they can be found on the Creative Music System Card or the relabeled card, the Creative Game Blaster Card.  They can also be found on the Creative Sound Blaster 1.0 and can be inserted into sockets on the Sound Blaster 1.5 or 2.0 and a few licensed clones.  However, the CMS and Game Blaster cards have a 40-pin DIP chip labeled CT-1302A.  This chip allows the card to be autodetected by programs, since the chips themselves cannot be detected.  It also acts as a transceiver for the CMS chips.  The above games have been proven to fail on Sound Blaster cards, since those cards have a Creative Digital Signal Processor where the CT-1302 is mapped on the C/MS and Game Blaster cards.  The Sound Blaster DSP works very differently than the CT-1302.  Operation Wolf will also complain that it cannot find the Game Blaster like the other Taito games, but will still play the music.  Ditto for Wolfpack from Broderbund.

Prince of Persia, v1.0, may be an honorary member in this list.  While it supports the Game Blaster, it also supports Adlib and will use that chip if it detects it in the system, regardless of what else may be inside it.  So if you have a Sound Blaster 1.0-2.0, you will need to physically remove the YM3812 chip or hack the game to disable the Adlib detection to get Game Blaster music.  Star Control acts like Prince of Persia in that it will force Adlib sound if it detects an Adlib or Sound Blaster in the system, even if you have Game Blaster chips and force it by a command line argument.

Alternatives : DOSBox SVN supports C/MS Game Blaster autodetection

Tandy 1000 DAC

Feature - Near Exclusive Digital Sound Support

Gauntlet II (also PC Speaker Tweaked)
Outrun
SimCity & Expansions (also Covox Sound Master)
Wings of Fury

Explanation : The Tandy 1000 series, specifically the SL/TL/RL models, have DAC functionality in addition to the TI SN 76496 PSG hardware.  In other words, they can play back digitized sound samples and voice.  The above games are the only known games to support digitized sound playback on a Tandy but not with a Sound Blaster card.  Some games have other options as listed.  Unfortunately, when the DAC is playing on real hardware, the built in joystick ports cannot be used.

Space Quest III originally shipped with digital sound support only for the Tandy DAC, but you can use the Sound Blaster driver from KQ1SCI and hear the digital sound effects.

Note that there were three revisions of the DAC.  The "Jacksboro" revision came first, and is found in the TL and SL. Then came the "Bonanza" revision, found in the TL/2, SL/2, RL, and 2500XL.  Finally there is the "Hensdale" revision, found in the TL/3, RLX, RSX, other computers in the 2500XL series and in the Sensation! (noticeably over-filtered in the latter).  The Hensdale chips are somewhat incompatible with the above games, producing lockups on Outrun, incorrect sound on Wings of Fury and pops in other games designed for the older chips.

MobyGames indicates that Railroad Tycoon and Metal Mutant support the Tandy DAC, but they do not.  Railroad Tycoon, which also supports Adlib and Roland MT-32 uses the Tandy 3-voice sound chip for all its sound effects.  Metal Mutant does not even support Tandy graphics, but it does support digitized sound effects on the PC Speaker and the Adlib Music Feature Card.

Alternatives : DOSBox SVN has full support for Tandy DAC.  Unlike the real hardware, some games may allow joystick control when digital sounds are played.

Sound Blaster AWE32/64 Soundfont Support

Feature - Custom Soundfont Patches

Battle Arena Toshinden
Dungeon Keeper
Eradicator
Hi-Octane
Magic Carpet 2
Nerves of Steel
Perfect General II
Terra Nova: Strike Force Centauri

Explanation : Most games that supported the Sound Blaster AWE32 or 64 in DOS merely used the 1MB of samples contained in ROM on the card.  These games upload a custom sample bank for more customized sound than what would be contained in the ROM samples.  There are also several Windows games that include Soundfont patches.  They can also use any PCI Creative sound card, but the DOS games will only recognize an AWE32 or AWE64.

Tandy 1000 Video II

Feature - 640x200x16 Mode

Mario Teaches Typing
Math Rabbit Deluxe
Sargon V
Star Trek 25th Anniversary
Time Riders in American History
Treasure Cove
Treasure MathStorm

The TL, TL/2, TL/3, SL, SL/2, RL & RL-HD support all the usual CGA and Tandy video modes but add MDA/Hercules support and an extra 640x200x16 Mode.  This mode was not supported in the BIOS and the programmer had to write to the registers to set it correctly.  The above games are the only ones known to support the 640x200x16 resolution, and both support EGA and VGA too.  Deskmate 3 also uses the mode.  Sargon V uses some different colors in Tandy compared with EGA.

Alternatives : DOSBox

Roland MPU-401

Feature - Intelligent MPU-401

A-10 Tank Killer v1.0
A-Train
Budokan
Codename : Iceman*
Colonel's Bequest*
Companions Of Xanth
Conquests of Camelot*
Cruise for a Corpse
Curse of Enchantia
David Wolf
Elvira II
Ecargxus
Eric the Unready
Flashback
Future Wars
Gateway
Gateway II
Hero's Quest/Quest for Glory I*
Hired Guns
Hoyle's Official Book of Games Volume I*
Hoyle's Official Book of Games Volume II*
Innocent until Caught
It Came from the Desert
King's Quest I : Quest for the Crown*
Kings Quest IV*
Lakers v. Celtics in the NBA Playoffs
Laser Squad
Leisure Suit Larry 2*
Leisure Suit Larry 3*
Linewars II
Might and Magic III
Mixed Up Mother Goose*
Operation Stealth
Police Quest II*
Populous
Princess Maker
Princess Maker 2
Sabre Team
Sensible Soccer
Shadoworlds
Silpheed*
Simon the Sorcerer
Sorcerian*
Space Quest III*
Spellcasting 101
Spellcasting 201
Spellcasting 301
Super Space Invaders
Superhero League of Hoboken
TimeQuest
Ultima VI
Waxworks
Wing Commander
Wing Commander II
Wonderland
Zeliard v1.0-1.208

Explanation : The Roland MPU-401 MIDI Interface supports two modes, normal (unofficially known as "intelligent") and UART (unofficially known as "dumb").  In normal mode, the interface supports a wide range of commands.  In UART mode, it only sends and receives data, not commands.  Early games that supported the MT-32 assumed that the user had a Roland MPU-401 interface and wrote their drivers to utilize the normal mode commands.  Later games dispensed with the commands and the need for normal mode.

Alternatives : DOSBox has full MPU-401 emulation.  Ensoniq Soundscape boards can trick many games into working because they can send an ACK (acknolwedge) to the game after every normal mode command.  Since games only output MIDI, they don't care how the interface handles the command.  The Soundscape does not actually carry out the command.  This does not work for every game, as Legend Enterainment games that support the MT-32 will require true hardware or DOSBox.  The MediaTrix Audiotrix Pro also supports an ACK for MPU-401 commands.  There are fan-made patches for most of the Sierra games that will allow them to use the Sound Blaster MIDI interface at 2x0h, search for mt32sb.zip  I have marked with an asterisk the games which the patch supports.   Finally, if you have a 386 or better processor, there is a program called SoftMPU which emulates an MPU-401 in DOS.  It requires EMM386.EXE or another Expanded Memory Manager to be loaded, so it will not work on a 286 or lower machine.  

Mediavision  Pro Audio Spectrum

Feature - Stereo FM/Dual OPL2

1990 Christmas Card - The Seasoned Professional
B-17 Flying Fortress
Castle of Dr. Brain
Conquests of the Longbow
David Leadbetter's Greens
DragonsSphere
EcoQuest: The Search for Cetus (patch)
F-15 Strike Eagle III
F-117A Nighthawk Stealth Fighter 2.0
Fleet Defender
Gunship 2000
Harrier Jump Jet
Hoyle's Official Book of Games Volume 3
Jones in the Fast Lane
King's Quest V (patch)
Leisure Suit Larry 5
Leisure Suit Larry 1 VGA
Lord of the Rings Volume 1
Lord of the Rings Volume 2
Mixed-up Fairy Tales
Mixed-Up Mother Goose (patch)
Pirates! Gold
Police Quest III
Quest for Glory II (patch)
Return of the Phantom
Sid Meier's Civilization
Sid Meier's Railroad Tycoon Deluxe
Space Quest I VGA
Space Quest IV (patch)
Special Forces
Strike Commander

Explanation : The Pro Audio Spectrum was the first card to offer stereo FM music.  It has two OPL2 chips on board, one for the left channel, one for the right channel.  Creative later used the dual OPL2 setup in its first Sound Blaster Pro.  The early Sierra 256-color titles listed above will support stereo FM music using the Pro Audio Spectrum Driver only.  The non-Sierra games support both cards in stereo.  Later Pro Audio Spectrums, including the Plus and 16s, will not work either as they use one OPL3 chip.  The Pro Audio Spectrum is compatible with Adlib, but in mono only.  Some of these games may appear to offer OPL3 support, but the Dual OPL2 output has been shown to be objectively superior.

Alternative : Use SB Pro 1.0 in games supporting it.  None of the Sierra games listed above support stereo on the SB Pro 1.0.  There are fan-made patches floating about the Internet for the Sierra titles, but require an OPL3 card like the SB Pro 2.0 or later.

Sound Blaster Pro 1.0

Feature - Stereo FM/Dual OPL2

Formula One Grand Prix
F-15 Strike Eagle III
Hi-Octane (also Pro Audio Spectrum 16)
Inherit The Earth: Quest For The Orb
Ultima Underworld

Explanation : See above, these games support dual OPL2 only on a Sound Blaster Pro 1.0.

Alternative : Use DOSBox SBPro1 emulation.

Innovation Sound Standard SSI-2001

Feature - 6581 SID Sound

Airball
Asterix: Operation Getafix
Bad Blood
Battle Chess II
BattleTech: The Crescent Hawks' Revenge
F-19 Stealth Fighter
Falcon A.T.
Joe Montana Football
Lord of the Rings Volume  1
Red Storm Rising
Ultima VI
Windwalker

Explanation : Uses the famous SID chip found in the Commodore 64 for music.  The SID chip is directly addressable on the ISA bus on this card, and requires a large number of I/O addresses (31) for its registers.  The chip is a 6581, not a 6582 or 8580.  The card is extremely rare.  Airball uses this card or C/MS Game Blaster for sound effects, but the sound effects sound better on this card.

Alternative : Use DOSBox SVN

Hercules InColor Card 

Feature - 720x350x16 Graphics Mode

Microsoft Flight Simulator (v3.0)
Microsoft Flight Simulator (v4.0)
Sierra's 3-D Helicopter Simulator

Description : These games support a special graphics mode found on the InColor card when connected to an EGA monitor.

Alternative : All games also support high resolution EGA graphics, 640x350x16/64.  It is not impossible that a non-Hercules card may emulate the functionality.  Also, the graphics may look the same, only with borders on the left and right sides of the frame.  Karateka only supports the Hercules Color Graphics Card, a CGA clone designed to co-exist with a Hercules (Monochrome) Graphics Card.

Covox Sound Master

Feature - AY8910 or 8930 Sound

Conan - The Cimmerian
Galleons of Glory
Megatraveller 2
Prince of Persia (v1.0 only)
Punisher, The
Sim Earth
Spirit of Excalibur
Twilight 2000
Ultima VI
Vengeance of Excalibur
Where in Time if Carmen Sandiego (AY8930 music)
Where in the World is Carmen Sandiego (320x200 VGA Version)

Description : These games support music and/or sound effects using the AY8930 PSG found on the original Covox Sound Master.  Mostly games only supported the basic AY8910 features, which were also found in the Atari ST computers, many arcade games, the Intellivision and the Mockingboard line of sound cards for the Apple II.  The card is incredibly rare.  Covox marketed a line of sound adapters, including the Speech Thing, the Voice Master, the Sound Master, the Sound Master + and the Sound Master II.  The + and II are NOT compatible with the original Sound Master, as they are essentially Sound Blaster clones.

Alternative : None

Feature - Near Exclusive Digital Sound Support

MegaTraveller 1
Space 1899
SimCity
The Punisher
Transylvania III

Description : These games support one of the digitial sound reproduction methods of the original Covox Sound Master or the Adlib-compatible Covox Sound Master II and do not support Sound Blaster digitized sound playback.

Note that Covox Lemmings only supports Adlib, Countdown and A-Train does not actually function with a Sound Master (despite what it says on the A-Train box) and Wolfenstein 3D specifically requires a Disney Sound Source and will not work with a Covox Speech Thing/Voice Master/Sound Master of any kind.

Alternative : Use other cards/devices, if supported

IBM Music Feature Card

Feature - Custom Midi Interface & YM2164 OPP 4-op FM Sound

1988 Christmas Card (Sierra SCI0 demo)
Jones in the Fast Lane (patch)
King's Quest IV (early version only)
King's Quest V (patch only)
Leisure Suit Larry 2 (early version only)
Music Construction Set (special version)
Quest for Glory 2 (patch only)
Thexder 2 (patch only)

Explanation : The above games and demo will support the 4-op FM synthesis, but only using the rare IBM Music Feature Card, IMFC.  No official patches are known to exist to let these games work with an Yamaha FB-01 + Roland MPU-401 combination.  In many cases, later versions of these games will support a Yamaha FB-01.

Alternative : None

Yamaha FB-01

Feature - YM2164 OPP 4-op FM Sound

Codename: Iceman
Colonel's Bequest, The
Conquests of Camelot (patch only)
Hero's Quest/Quest for Glory
Hoyle's Official Book of Games Volume I
Jones in the Fast Lane
King's Quest I SCI
King's Quest IV (later versions)
King's Quest V
Leisure Suit Larry 2 (later versions)
Leisure Suit Larry 3
Mixed Up Mother Goose (16-color SCI version, patch only)
Police Quest II
Quest for Glory 2
Silpheed
Sorcerian
Space Quest III

Explanation : The above games will support the 4-op FM music with the above midi module or the IBM Music Feature Card.  A Roland MPU-401 Midi Interface is required.

Alternative : There is a special version of DOSBox that will support output to the FB-01, the ordinary versions do not due to the MIDI buffer being too small for the custom sysex sounds sent to the FB-01 by the driver.  Also, you should download the patch here to avoid errors caused by Sierra's driver with DOSBox's MPU-401 emulation : http://www.vogons.org/download/file.php?id=14968  SoftMPU as of version 1.9 will also support the Yamaha FB-01.

If you have an IBM Music Feature and Roland MPU-401 interface but the game that is buggy with the IMF driver, try the FB01 driver, connecting the midi out of the MPU-401 to the midi in of the Music Feature's breakout box.  

Casio MT-540/CT-460/CSM-1

Feature - MIDI module support

Altered Destiny
Codename: Iceman
Colonel's Bequest, The 
Conquests of Camelot (patch driver officially supports CSM-1)
Elvira
Game of Harmony, The
Hero's Quest/Quest for Glory
Hoyle's Official Book of Games
Jack Nicklaus' Unlimited Golf & Course Design (officially supports CT-460)
King's Quest I SCI (driver officially supports MT-540/CT-460)
Leisure Suit Larry 3
Les Manley in: Search for the King
Sorcerian (driver officially supports MT-540/CT-460)
Space Quest III

Explanation : Certain games has specific support for these midi keyboards and module.  The MT-540 and the CT-460 function almost identically from a programmer perspective, even though the latter offers access to more sounds through the keyboard controls.  The one difference is that the CT-460 and CSM-1 assign different tones to program change numbers compared to the MT-540, and the Apogee games identify the CT-460 in their setup programs.  This would mean that the wrong sounds may be played with a MT-540.  The CSM-1 is far less common than either keyboard.  A Roland MPU-401 interface must be used.  DOSBox should work well with these devices attached to a hardware midi interface.

Alternative : None

Adlib Gold 

Feature - Optional Surroundsound Daughtercard Support

Dune

Explanation : Dune supports the Surroundsound module for the Adlib Gold for reverb, enhancing one of the best FM soundtracks ever made for a PC game.

Alternative : None

Feature - YMF-262 OPL3

Dune

Explanation : Dune supports OPL3 features on the Adlib Gold, but only OPL2 features on a Sound Blaster or Sound Blaster Pro.

Alternative : Use MediaTrix Audiotrix Pro sound card or Tandy Sensation! system, which are compatible with the Adlib Gold.

Paradise & Video 7 SVGA

Feature : 800x600x16 Graphics Mode

Wonderland

Explanation : The above early SVGA chipsets support a non-standard 800x600x16 mode.  Wonderland supports it, but only on graphics cards with the PVGA1A or Video 7 VEGA chipsets.  You probably would need a card with 512K RAM on it, even though the mode only requires a 240KB frame buffer.

Alternative : Use DOSBox with the SVGA_Paradise option.

IBM 8514/A Graphics Card

Feature - 1024x768x256 @ 43.5Hz

Mah Jongg -8514- (beta)

Explanation : The IBM 8514/A was an Microchannel (MCA) card that acted as a supplement to the built-in VGA graphics of the early PS/2 systems.  It was a graphics accelerator which added 1024x768x256 and 640x480x256 modes.  The former mode was interlaced at 43.5Hz, the latter ran at 60Hz. Some other cards like the ATi Mach 8 & 32 and the TSENG ET4000 can emulate it.  It originally required a special monitor, the IBM 8514.  The above game is the only game known to utilize the adapter, and it was only a beta.

Alternative : Use DOSBox with the SVGA_ET4000 machine type and the 8514AI emulator. 

IBM PS1 Audio/Game Card

Feature - Digital Sound Support

Silpheed (version 2.3 only)

Explanation : The IBM PS/1 2011 did not come with any ISA slots, so to give some sort of audio support, IBM released the above plug in card to provide support.  Early models of the PS/1 2121 also have the header for the card, but they also have ISA slots.  It used a TI SN76496 clone core, provided gamport joystick and midi support and a specialized DAC.  Sierra released a special and very rare version of Silpheed to support it, and it provides digital samples and voices whereas all the old versions used the PC Speaker.

Alternative : Use DOSBox SVN

Feature - SN Music

Bush Buck: Global Treasure Hunter

Explanation : Bush Buck supports TI SN 76496 based music on the IBM PS/1 Audio Card but not on a Tandy 1000.  Mickey's Colors & Shapes supports 3-voice music on a Tandy 1000 but not on an IBM PS/1 Audio/Game Card.  For the PS/1 card, it uses digitized music, just like with a Sound Blaster or Disney Sound Source.  Users with a Tandy DAC can also hear the digitized music.

Disney Sound Source

Feature - Digital Sound Support

Arachnophobia
Dick Tracy: The Crime-Solving Adventure

Explanation : The Disney Sound Source is an LPT DAC that plugs into a DB-25 female printer port (except apparently on Tandy 1000 RL & TL/3 and 2500XL).  It is similar to the Covox Speech Thing in that it outputs 8-bit digital sound, but the programming is slightly more involved.  The above games are the only games known to exclusively support it for digitized sound playback and have no Sound Blaster support.

Alternative : Use DOSBox

MCGA

Feature - 320x200x"16"

Thexder

Explanation : The MultiColor Graphics Adapter, found in the 8086-based IBM PS/2 Models 25 & 30 only, supports a 320x200x256 color mode.  Some games will use it even though they do not support more than 16 colors on the screen at a time.  Instead, they will use the 256 color mode to allow access to the 18-bit RGB palette of the MCGA and VGA.  Thexder is the only game known to do this by autodetecting the MCGA machines.  If you use a VGA card, the game will give you a 640x200x16 mode with only the default CGA/EGA palette available.

Alternative : You can trick Thexder to run in the MCGA mode if you have a VGA card by renaming MAINPS to MAINEG and MAINEG to something else.

IBM Cassette Port

Feature - PC Speaker sound output through the Cassette Port

Music Construction Set

Explanation : The IBM PC Model 5150 and the IBM PCjr. support a cassette for saving and loading BASIC programs.  It can also output sound from the PC Speaker.  Music Construction Set supported it to output tweaked PC speaker music to a real speaker.  Unfortunately the internal speaker may not be shut off.  The PCjr. has an official cable, but the PC must use a Tandy TRS-80 cassette cable.  The music does not sound any different than what is produced internally, but it does allow for volume control and easier recording.

Alternative : DOSBox or an audio card (Sound Blaster Pro, 16, AWE32-64 except Gold) with a PC Speaker output pin.

IBM PCjr.

Feature - Cartridge Slots

Crossfire (also floppy)
Demon Attack (also floppy)
Microsurgeon
Mine Shaft
Mouser
Pitfall II
River Raid
ScubaVenture

Explanation : The IBM PCjr. came with two cartridge slots on the front of the unit for games and smaller programs.  There was a version of Lotus 1-2-3 that came on two cartridges, presumably for instant loading. The two cartridge slots accept up to 64K cartridges each and are mapped to the D000 and E000 segments, respectively.  The especially rare IBM PC JX also has compatible cartridge slots, but nothing else has compatible slots.

Alternative : DOSBox with cartridge images

Feature - Reliance on PCjr. limitations

King's Quest
Touchdown Football

Explanation : The PCjr. version of King's Quest will not work on a PC or PCjr. compatible like the Tandy 1000s, except for a Tandy 1000/A/HD with 128KB of RAM.  King's Quest for the Jr. uses a graphics window from 96-128K, and the Jr. cannot change the location of the window.  The Tandy 1000 can and does if more than 128KB of RAM is inside the system.  Later Tandy 1000s come with at least 256KB RAM, so the graphics will not display.  Sierra released a version for IBM PCs and a version specifically for Tandy 1000s.  Touchdown Football is reported to have too fast digitized sound playback with a Tandy 1000.  Even though the PCjr. and the 1000 share video RAM with main RAM, the 1000 does not suffer from the performance deficiencies.

I originally included M.U.L.E is in this list because the release for the PC was extremely rare and it was assumed that it was a port IBM commissioned specifically for the PCJr.  Now it has been revealed to the world to be a strictly PC port that supports only standard CGA and PC speaker sound that happens to run on the PCjr.  See here for further details : http://www.worldofmule.net/tiki-index.php?page=IBM+PC

Alternative : Tandy 1000 w/128KB RAM or DOSBox

Feature - Speech Adapter Support

Bouncy Bee Learns Letters

Explanation : Among the few sidecars IBM released was a speech adapter, and Bouncy Bee, also released by IBM supports it.  IBM later released similar speech adapters for the PC Convertible and the PS/2.  Bouncy Bee is not PCjr. specific, so it is quite probable that the game may work with the other IBM adapters.  All adapters are rare.

Alternative : The IBM Digispeech DS201A and 301, which connect via serial and parallel port, respectively, is adverised as being compatible with the IBM Speech Adapters will work with Bouncy Bee Learns Letters, but its driver must be loaded first.

Tandy 1000

Feature - Reliance on Tandy 1000 Features

King's Quest
Touchdown Football
Demon Attack

Explanation : The Tandy 1000 version of King's Quest will not work on a PC, but it should work just fine on a PCjr.  Tandy marketed a version of Touchdown Football that is fixed for its system, but this version is very rare.  Ditto for Demon Attack, now on floppy and with a title screen.  These games will only work in Tandy 1000 machines, and may have difficulties with the TL/SL/RL machines.

Note that I have not included every game that takes advantage of PCjr./Tandy 1000 graphics and/or sound.  The list would be enormous and the machines themselves are not so rare.  I have been putting together a list of games that support Tandy graphics but not EGA or better and Tandy sound but not Adlib, Game Blaster, Roland MT-32 or other sound device beyond the PC Speaker.  Maybe I will finish it and post it on this blog.

Alternative : DOSBox

Secondary Monochrome Monitor Support

Feature - Display Secondary Information

Mah Jongg VGA
Mechwarrior 2 : Mercenaries
Rise of the Triad

Something that had been forgotten by most people is that a MDA or Hercules card can comfortably exist alongside a CGA card or Tandy Graphics Adapter found in the *X machines.  It may or may not work on the *L machines as they have built-in MDA/Tandy emulation.  It should also work with most EGA cards and many VGA cards.  The idea is that you have your color monitor attach to a color graphics adapter and that will be your "primary" display.  The monochrome adapter will of course be connected to a monochrome display and act as the "secondary" display.  With a CGA card or Tandy, the MDA card can be set to display text modes and the DOS prompt and the color adapter to display games and graphics.  With more advanced cards, typically the monochrome monitor would take on the secondary role.  CAD, programming tools, spreadsheets would often take advantage of the multiple monitor setup, but games could use it too.

Mah Jongg VGA will display information about remaining tiles, but Mechwarrior 2 and ROTT show debugging information, which was unintentional.  There is a special build of DOSBox which uses the status window to display what the monochrome monitor would have displayed.

Alternative : Special DOSBox build

Amstrad PC

Feature - 640x200x16 Graphics

Dragonfly (Title Screen Only)
Flags
Feud
Maupiti Island

The Amstrad PC1512 (aka Sinclair PC500) is an 8086 XT clone with a unique video adapter.  It is a UK machine and all games that support it come from European developers.  The PC1640 (aka PC6400) has EGA built-in and also has the 1512 graphics adapter but it is disabled.  The built-in video is based on CGA but supports an additional 640x200x16 mode.  The built in video is not quite 100% compatible with CGA, and like the original Tandy 1000/A/HD it cannot be disabled.

I have never seen a screenshot of a game supporting this adapter.  The adapter has no official support for the much more common 320x200x16 EGA/PCjr./Tandy resolution.  However, the equivalent graphics could be shown on the Amstrad by using double-wide pixels in the 640x200x16 mode.  There would be a performance hit since the memory buffer is twice as large, but the alternative is stock CGA.   All the games above have been actually confirmed to use the 640x200x16 graphics mode, the rest may advertise support for the Amstrad PC, but that only means that the game will work with the system.  These games will only support standard CGA, EGA or VGA graphic adapters.

Alternative : DOSBox SVN has an Amstrad machine type.

Feature - Digital Joystick Support

Die Hard 2: Die Harder
Feud
Iznogoud
Metal Mutant
Wizball

The Amstrad PC1512 and 1640 can support the traditional PC analog joysticks using an external ISA gameport or sound card, but also had a digital joystick port on the keyboard.  The port is a DE-9 and supports standard one and two button Atari style sticks.  The resulting joystick positions and fire button presses are sent as unused keyboard scancodes.  Since the scancodes selected are not usually used on IBM keyboards, the game had to have specific support for the Amstrad joystick interface.  Amstrad also supported a custom mouse where the two mouse buttons also corresponded to unused keyboard scancodes and non-standard I/O ports for the X and Y movement.

There are probably other games that support the Amstrad digital joystick interface, but these games are almost certain to do so since they advertise specific support for the Amstrad PCs.

Taito also supported a one-button Atari joystick using a parallel port adapter for Rastan, Renegade, Sky Shark, Bubble Bobble, Puzznic, QIX.  Other companies may have as well.

Alternative : Gravis Gamepad or digital controller with DOSBox.

Feature - Gun-Stick Light Gun

Solo

The Amstrad PC-1512 and 1640's joystick port was also used for a special kind of light gun called the Gun-Stick and supported in at least one game.  The Gun-Stick was used more in Amstrad CPC games.

Nvidia NV1

Feature - Proprietary 3D Acceleration

Nascar Racing (Diamond Edge 3D Bundle)
Panzer Dragoon
Virtua Fighter Remix (Diamond Edge 3D Bundle)
Virtua Cop

These games support the unique hardware acceleration of the NV1 GPU.  The best known cards using the NV1 were the Diamond Edge 3D boards, and they were bundled with some games designed to work only for those cards.  These cards also had built in sound, midi and joystick ports, the latter of which supporting Sega Saturn controllers.  All except Nascar are Windows games, but they may not support standard Direct 3D.  NV1 boards were no great success in the marketplace.  The software mode in Virtua Cop looks better than the NV1 3D acceleration and was presumably designed for weaker systems.

Alternative : Play these games on a Sega Saturn (except NASCAR Racing)

Rendition Verite

Feature - Proprietary 3D Acceleration

Descent II
EF2000
Grand Prix Legends
Hexen II (vHexen2)
Indycar Racing II
MDK
Mechwarrior 2 Mercs
Myth: The Fallen Lords
Nascar Racing II
Quake (vQuake)
Quake II (vQuake2)
Rebel Moon (3D Blaster PCI Bundle Only)
Scorched Planet
Sub Culture
Tomb Raider
VR Soccer
Whiplash (Fatal Racing)

The Rendition Verite 1000 was an early competitor of the 3dfx Voodoo Graphics 3D Accelerator Board.  It may not have been quite as speedy, but it could offer better graphics effects or higher resolution.  While it was Direct 3D compliant, it ran games much better that used its proprietary Speedy3D and RRedline APIs.  GLQuake supports 3dfx Voodoo and (with some cajoling) other OpenGL compliant 3D accelerators, but strictly in Windows.  If you want 3D accelerated Quake in DOS, you must use a Rendition Verite card and vQuake.  vHexen II and vQuake II are Windows only games and the games themselves obviosuly support 3dfx.

Rebel Moon and Indycar Racing II were both bundled with Rendition cards, (Creative's 3D Blaster PCI and Sierra's Screamin' 3D, respectively), so the bundled versions only work with Rendition cards.  Other than as indicated, the rest of these games will work with a 3dfx Voodoo card.

Alternative : 3dfx Voodoo cards work with most of the above

3Dfx Voodoo 1

Feature - Voodoo 1 Accelerator Only

Dreams into Reality

The above games are the only games that will not work with  a Voodoo Rush or Voodoo 2 or later 3Dfx card.  Several other DOS games will require either a patch or a batch file setting the Voodoo 2 to Voodoo 1 settings for the game to work.

Feature - Statically Linked Glide

Battle Arena Toshinden
EF2000: Tactcom
Fatal Racing/Whiplash
Starfighter 3000
UEFA CHampions League 96/97
VR Soccer '96

The above games can only work with one version of the Glide2x.dll or Glide2x.ovl file, and the driver was only designed to work with a Voodoo 1.  You can use a batch file to get the game working on a Voodoo 2, but it will not work for a a Rush, Banshee, 3/4/5 card.

Roland MT-32 rev. 0

Feature - Early Revision Firmware Bugs

Adventures of Willy Beamish, The (Floppy version)
Castle of Dr. Brain
Colonel's Bequest, The
Dune 2
Heart of China
King's Quest V
Leisure Suit Larry 3
Police Quest II
Ski or Die
Space Quest I VGA (1991 256-color remake)
Space Quest III
Wing Commander

The above games take advantage of bugs in the firmware of the MT-32 to create sounds that do not sound the same on the later Roland LA synthesis modules.  Any Roland MT-32 rev. 0, which have firmware ROM versions up to 1.07, will make these games sound perfect.  However, in most instances the difference in sound is confined to the occasional sound effect or musical note.

Alternative : MUNT or Yhkwong's DOSBox SVN MT-32 emulation should support bugs that rely on characteristics of the version 1.xx firmware ROMs, if you use it, but may not support bugs which rely on the hardware of the rev. 0 MT-32.

Roland  -I/CM-32L/CM-64/MT-100/CM-500/MT-32 rev. 1

Feature - Avoidance of Buffer Overflows, Broken Sounds and Firmware Lockups

American Gladiators
Beneath a Steel Sky
Gods
Hero Quest
Inferno
Humans, The
Immortal, The
Jurassic Park
Lemmings 2: The Tribes
Lethal Weapon
Lord of the Rings Volume 2
Lure of the Temptress
Mortal Kombat
One Step Beyond
Populous
Prophecy 1: The Viking Child
Race Drivin'
Spacewrecked 14 Billion Light Years From Earth
Team Suzuki
TFX (Tactical Fighter Experiment)
Utopia

The above games fail to work properly or at all on rev. 0 MT-32s because they were programmed on a later Roland device, usually a LAPC-I.  While the rev. 0 is sensitive to MIDI transmission speed, several games will give a buffer overflow regardless of system speed because the rev. 0 requires a 40ms delay between sending sysex and the later models do not.  

Alternative : MUNT or Yhkwong's DOSBox SVN's MT-32 will work without buffer overflows, or there in the latest vanilla SVNs there is an option to insert delays into sysex messages irrespective of the game.  This will work to produce sound in many, if not all games when the midi is being output to a real MT-32 rev. 0.  

Roland LAPC-I/CM-32L/CM-64/CM-500
.
Feature - Extra Sound Effects

Another World (aka Out of this World, certain versions only, only uses the sound effects, so no MT-32 support)
Beneath a Steel Sky
Cisco Heat
Curse of Enchantia
Day of the Tentacle
Elite Plus
Fire and Ice
Inferno
Humans, The
Indiana Jones and the Fate of Atlantis
Laser Squad
Leisure Suit Larry 5
Lure of the Temptress
Magic Pockets
Microprose Formula One Grand Prix (aka World Circuit)
Might and Magic III
Nigel Mansell's World Championship
Pinball Dreams (early version)
Pitfighter
Predator 2
Prophecy 1: The Viking Child
Pushover
Simon the Sorcerer
Speedball 2
Supaplex
Supremacy
Team Suzuki
TFX (Tactical Fighter Experiment)
Toyota Celica GT Rally
UFO: Enemy Unknown (aka X-Com: UFO Defense)
Ultima Underworld
Ultima Underworld II

These modules contain an additional 33 sound effects in the drumset compared to the MT-32 or MT-100.  The above games utilize them and may sound lacking on the MTs.

Alternative : MUNT or Yhkwong's DOSBox SVN's will emulate a CM-32L if the proper ROMs are used.  

Roland GS First Generation

Feature - Capital Tone Fallback

Blackthorne
Blood
Duke Nukem 3D
Lands of Lore
Hocus Pocus
Magic Carpet
Might and Magic : Clouds of Xeen
Might and Magic : Darkside of Xeen
Prince of Persia 2
Quarky & Quaysoo's Turbo Science
Quest for Glory III
Space Quest V

Roland GS modules, which are also functionally General MIDI compatibile, support 128 capital tones (or instruments) and 128 variation tones for each capital tone.  In theory, a GS module could support 16,256 variation tones but early modules only define a very small portion of the maximum (61 in a SC-55 not including the 128 MT-32 tones).  Thus in the early Roland GS modules, if a midi file requested a variation tone where none was present, the module would playback the capital tone.  This feature is present on all Roland MIDI modules and devices based on the Roland SC-55, including the CM-300, CM-500, JV-30 (Keyboard), SCC-1, and SC-155.

All these devices, except for the SC-155 and JV-30, were originally released without GM support, although in practice all GM support did was to disable certain GS features.  The Might and Magic games need to specifically Init GS to avoid an issue with modules bearing a General MIDI logo.  

Roland removed this feature in modules based on the Roland SC-55mkII synthesizer, including the SCB-55, SCP-55, SC-55ST, SC-33, SC-50, JV-35 & 50 (Keyboards), and did not restore it in their SC-88 or later devices.  For these devices, an attempt by a game above to access an undefined variation tone will result in no instrument playing, leading to a loss of sound and a NO INSTRUMENT error message on those devices with a LCD.  The SCC-1A, which was an SCC-1 update with the 354 sounds of an SC-55mkII, does not support the capital tone fallback feature.  

Alternative : Windows 2000, XP, Vista and 7's default MIDI patches uses the Roland GS sound set and supports capital tone fallback.  

Roland GS (includes game expansions unless otherwise noted)

Feature - Variation Tones

Blood
Duke Nukem 3D
Dune II
Might and Magic : Clouds of Xeen
Might and Magic : Darkside of Xeen

Explanation : See Above.  If you have a GS module that disables this feature with a GM Reset (all GS devices except SC-55, CM-300, CM-500 and SCC-1s without a General MIDI logo on them), then you must send a GS reset or initialize your module in the GS mode to support this feature.  

Feature - Reverb or Chorus Controller

Betrayal at Krondor*
Hi-Octane$
The Incredible Machine 2*
Prince of Persia 2
Sam & Max Hit the Road
Shadow Warrior (Shareware Only)
Ultima VIII: Pagan

Explanation : Uses the reverb or chorus controllers in Roland GS devices.

Feature - NRPN

Duke Nukem 3D

Explanation : NRPN stands for Non-Registered Parameter Number, which allows access to special, non-standard settings on a GS device.  General MIDI devices only have to support Registered Parameter Numbers (RPN).  NRPN is disabled with a GM Reset.  If you have a GS module that disables this feature with a GM Reset (all GS devices except SC-55, CM-300, CM-500 and SCC-1s without a General MIDI logo on them), then you must send a GS reset or initialize your module in the GS mode to support this feature.  

Feature - Additional Percussion Notes

Betrayal at Krondor
Duke Nukem 3D
EcoQuest 2
The Even More! Incredible Machine
Freddy Pharkas : Frontier Pharmacist
Gabriel Knight : Sins of the Fathers
The Incredible Machine$
King's Quest VI
King's Quest VII
Leisure Suit Larry 6
Magic Carpet
Pepper's Adventures in Time
Police Quest : Open Season
Prince of Persia 2
Quarky & Quaysoo's Turbo Science$
Quest for Glory III
Quest for Glory IV
Rise of the Triad: Dark War
Sam & Max Hit the Road
Shadow Warrior (Shareware Only)
Space Quest V
Ultima VIII
Warcraft II

Explanation : Uses sound effects found in the GS modues like Slap, Metronome Bell or Gun Shot.  Non-GS devices may also support these sound effects.

Feature - Special Drum Kits

Age of Empires (Windows only)
Blackthorne
Blood
Descent
Descent II
Duke Nukem 3D
Hocus Pocus
Magic Carpet
Prince of Persia 2
Pepper's Adventures in Time*
Quarky & Quaysoo's Turbo Science*$
Quest for Glory III*
Shadow Warrior (Shareware Only, Retail uses CD audio)
Space Quest V*
Warcraft II

Explanation : Uses the additional drum kits found in the GS modules.  Non-GS devices may also support these extra drum kits.

* - Needs Patch to Enable Feature
$ - Needs Patch for GM to even work!

Feature - Early pre-General MIDI capital tone arrangement

DOOM
DOOM II
Descent
Descent II
Duke Nukem 3D

Explanation : The first Roland SC-55 units had an early arrangement of what would become the canonical General MIDI and GS patch maps.  These units, which can be definitively distinguished by a "GS STANDARD" label under the LCD, have Fl. Key Click at Program Change #122.  Some early SC-55s with the "GS" label under the LCD also adhere to this patch map.  Later SC-55s with the "GS" label, all SCC-1s, CM-300s, CM-500s and any module with official General MIDI support changed the patch map in two respects.  First, Fl. Key Click was replaced with Breath Noise as the capital tone and relegated to a variation tone.  Second, on Program Change #81, Sine Wave was added as a variation tone.  While the second change would be generally difficult to notice for any piece of music, people have confirmed that some music just does not sound right with Breath Noise where it does with Fl. Key Click.  The hypothesis is that the composer used an early SC-55 to compose his MIDI tracks.

Alternative : Manually change the instrument from the capital to the variation tone on any module that has a front control panel.

Update : The composer of the music for DOOM, DOOM II and Duke Nukem 3D (and probably more), Robert "Bobby" Prince, confirmed that he used a GM-compatible SC-55 when composing, so the Breath Noise assignment for those modules is correct.  A patch exists for the Descent games to change the assignment to Fl. Key Click for later modules.

ReelMagic MPEG-1 Decoder Board

Feature - Improved Full-Motion Video and Audio

Conspiracy
Dragon's Lair
The Horde
The Psychotron
Return to Zork
Space Ace

Explanation : The ReelMagic MPEG-1 Decoder boards were a series of ISA expansion card which added hardware MPEG compression decoder.  The decoder comes in full-length ISA cards which requires a connection with a VGA card's feature card and shorter cards  that uses a custom 8-pin or 9-pin VGA passthrough cable.  The boards have an audio output for decoded MPEG-1 audio.  The boards are used with special ReelMagic CD-ROM versions of popular games.  These games would have higher quality and more colorful video and standardized audio, but they only work with one of the ISA cards and require each card's specific driver to be installed.