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.

Thursday, April 19, 2012

PC Hardware Redundancies

I see little point for people who obtain hardware simply to have it, i.e. pure collectors.  I do not consider most vintage hardware to have any artistic value, as if people are going to go "ooh" and "ahh" over that super-duper rare IBM computer you have in a display case.  It may start a short conversation, except among the like-minded, but otherwise in my opinion it simply takes up space.  In the PC world, most computers looked as at home on a factory floor as in an office.  Apple had some interesting designs around the time of the Mac II and the Apple IIc, and those trapezoidal function keys of the Atari ST and 130XE are truly unique.

I have held that function should hold over form.  My best example is when more advanced hardware totally eclipses less advanced hardware.  For example, why use an Adlib when a Sound Blaster does everything and more?  In most cases, unless you cannot find a Sound Blaster, there is none.  However, there are a few situations where you could find use for one :

1.  A strictly 80's PC with Adlib support, because the Sound Blaster was not available until 1990.

2.  Hardware conflicts with early Sound Blaster cards.  Sound Blaster cards, until the Pro, only supported digitized sound input and output using DMA1.  I am sure some other 8-bit expansion cards required DMA1 to function, SCSI or NIC cards for instance.  I know that the Tandy Sound DAC in the TL/SL/RL requires DMA1 and the Sound Blaster is utterly incompatible with it.  They hate each other.

3.  A mini PC where there is a really tight squeeze for a card.  The IBM PC/XT and XT/286 only supports short cards in two slots, and some Unisys compact desktops will only support short cards.  The IBM PC Portable can only support two long cards due to its design.  Most Sound Blasters extend beyond the edge of a 16-bit connector.

Even so, except for these specialized uses, there is no need for a true Adlib card.  The Sound Blaster is 100% compatible with Adlib software.  The same cannot be said for a Game Blaster and a Sound Blaster 1.0 or an upgraded Sound Blaster 1.5 or 2.0, because the Game Blaster software and some games will fail if they detect something other than a true Game Blaster.  You also have the same issues as 1-3 above.

On the video card front, EGA is generally not a 100% compatible substitute for CGA, but many non-IBM EGA cards do support Hercules graphics with a monochrome TTL monitor.  EGA is virtually 100% compatible with VGA cards, there is only a few titles that tweak the card in some way that most VGA cards will fail.  So unless you really want to use a 200 or 350 line digital RGB monitor, most people use VGA even for EGA games.

Since I mentioned Hercules graphics, why would anyone want to use that when they could use a color graphics card instead?  Well, beyond the "see how it looked" people, Hercules graphics can be a nice addition to a system.  MDA or Hercules graphics can happily co-exist with CGA or Tandy graphics.  You can setup a dual monitor display, but you cannot use both at the same time.  Typically, the MDA/Hercules would display everything using a text mode, and the color graphics card would be used for games and graphics programs.  It actually would be better if you hated CGA snow or the very slow screen updates in 80-column text modes that programs used to avoid it.  On the other hand, the long persistence phosphors of a mono TTL monitor is very different than what people are used to these days.

Unfortunately, nothing can really take the place of a Roland MPU-401 Midi Interface.  There are at least 45 major DOS games that will refuse to work correctly with a UART mode only compatible interface as found on the Sound Blaster 16, the Gravis Ultrasounds, Windows Sound System and Pro Audio Spectrums and Adlib Golds.  Given the midi hanging note bug that most of the Sound Blaster 16 and all the AWE32 and 32s express to some degree, having another card handle the midi interface chores is a good idea.

The Gravis Ultrasound.does not natively support the FM synthesis of the Adlib OPL2 or OPL3 and other sound cards also support digitized sound effects, so why bother using it?  If you are really into the DOS demo scene, that is one reason.  I do not really care about demos in general, I play games.  I have not encountered any game that exclusively supports the Ultrasound without supporting Sound Blaster.  The main issues are performance and sound quality.

Take Epic Pinball, which has great music.  This is one of those games that is a killer app for the card.  It supports the Ultrasound natively, none of this MEGA-EM or S-BOS emulation nonsense.  It supports 16-bit digital playback through the Ultrasound on a 386.  To get close to the same level of quality on a Sound Blaster 16, you need a Pentium for smooth gameplay.  Pinball Dreams, Fantasies and Illusions, Star Control II, there are other great games for the Ultrasound.  Even DOOM and DOOM II can use it for multiple audio streams.

Speaking of the Sound Blaster, should you choose the Pro or the 16/AWE32/AWE64?  If you have a 386 system, choose the Pro, since most games that run well on that tend to be slightly older.  If you have a Pentium, choose the 16-bit card, since that will provide the better sound quality for later games.  If you have a 486, you may wish to consider using both to get good compatibility at both ends of the spectrum.

A Sound Blaster Pro 1.0 is fully backwards compatible with the Sound Blaster 1.0 or 1.5.  The Sound Blaster 2.0 actually came out after the Pro 1.0, but is in between the two products in terms of functionality.  Actually, the Pro cannot support Game Blaster chips, so in a way it is not quite compatible with a 1.0.  This is unimportant for gaming purposes, since you can always put a Game Blaster card inside a system as well (if you can find one).  There will be I/O issues, however, at the cards' default 220 address.   Some games simply couldn't understand that some people may have to use one of these cards at a setting other than the default.

Two FM devices in a system is a recipe for trouble.  It is not a big concern if a game is merely writing to the chips, since you can always find a way to mute the unwanted output.  It becomes a concern if a game is trying to read the chips, since the values read may not be the same.  Usually, the status ports get read at the Adlib port 388H.  While only the status register can be read on an OPL2 or OPL3 chip, games use it to detect and calibrate their delays to write to an OPL2 chip.

PnP capable Sound Blaster cards have the ability to turn off their Adlib ports.  This does not entirely disable the FM of the Sound Blaster, since it can still be read at 2x0 & 2x2 (Pro or better) or 2x8.  However, this will avoid conflicts with programs that read (and write) to Adlib ports.  Moreover, games supporting the Sound Blaster 16 or better typically will allow alternate I/O, IRQ and DMA settings either through their setup programs or through the BLASTER variable.

The Gravis Ultrasound ACE is the only card in the Ultrasound lineup which can do the same thing, and it does it by a jumper.  My card is a 1.0 model, which unfortunately had a reversed stereo jack.  This is fixed in the 1.1 card, or through reversing cables.

Since this is a series of random observations, let me return to the Tandy.  In the hierarchy of sound autodetection, it goes PC Speaker, Tandy/PCjr. Sound, Adlib.  Items like the Game Blaster tend to hover around the Tandy category, and Roland MT-32 always gets manually selected.  If you have a Tandy 1000, I hope you are not nostalgic for PC Speaker sound because many games will force Tandy sound.  But Tandy graphics sometimes requires use of Tandy sound, even if there is an Adlib in the system.

In a Tandy 1000 *X or later, you can put an EGA card in the machine and games using the EGA mode.  Except for those games that use 350-line EGA graphics, the games look identical.  Many earlier games, however, will insist on using Tandy graphics.  Fortunately there is a program which allows you to switch between a graphics card and the built-in Tandy graphics.  Do can also do the same for VGA so long as you can find a card that works in an 8-bit slot and fits inside the Tandy.  Later games like Commander Keen require EGA due to their smooth scrolling effects, so they will only work on a Tandy 1000 RLX or one with an upgrade card.

Friday, February 10, 2012

DOS Games Joysticks & Other Gaming Device Support

1.  Influences

When IBM released the PC in 1981, it offered a joystick add-on card. An unusual choice for a company that was all business, but they were marketing the PC for the home as well as the classroom and the office. Since this was 1981, however, there were few predecessors from which to take inspiration. At that point, only Apple and Atari had computer systems with standard joystick/paddle interfaces. Atari's 400 and 800 had four digital joystick ports, each with one button. Each port could instead support a pair of one-button analog paddles.  The Apple II/II+ had a DIP-16 connector that could support up to four analog axes and three digital switch buttons. The Apple II interface was much simpler to build, so IBM took that as a guide.


2.  IBM Gameport Interface

A standard IBM joystick port uses a DA-15 (female) connector and can support up to four analog axes and four digital switch buttons. The stick connected to a pair of potentiometers, one for each axis, which the stick moved to register movement. This interface could support up to four paddles or two joysticks. I have never seen a paddle controller built for a PC.  Two joysticks can be used with an IBM interface with a Y-adapter or a card with two DA-15 ports.  This interface was known for its finicky nature, so the joystick makers used trimmers to adjust the range in which the potentiometers are moved.  There are two of these, one for each axis.

The IBM joysticks were a simple interface built around a 558 Quad Timer.  They are officially accessed at I/O 201, but since most gameports card do not completely decode the addressing around that address, usually anything from 200H-207H will work.  Each potentiometer is 100kOhms, compared to the 150kOhms of Apple II joysticks or the 1mOhms for the Atari paddle.  Three-terminal potentiometers are usually used, but the IBM interface normally only connects wires to two of them, +5V to one of the outer terminals and the middle terminal where the resistance is output.

When a value is written to the interface, that triggers the interface to convert the resistive load as given from the joystick to a digital pulse that will remain active proportionally to the resistive value.  The length of time measured reflects the position of the joystick.  The button state can also be read at this time. Normally, the button inputs are logically 1s (pulled up to +5V), but when the switch is pressed, the input is driven to ground.


3.  Early Joysticks (Kraft-style)

IBM did not release a joystick for the PC, but third party joystick makers quickly adapted Apple II sticks. The first generation of joysticks are generally these boxy things that have a stick that require a thumb and finger or two to manipulate. There are two buttons, one for the thumb and one for the forefinger. Kraft is the best known brand of this type.  The unique feature about these joysticks is that there are switches on the bottom to change the joystick from self centering mode to free-floating mode.  That is good for paddle games like Breakout and Arkanoid.


4.  IBM PCjr. Joystick

IBM did, however, release a joystick for the PCjr. Functionally it is the same as a regular PC joystick, except for the fact that it uses an 8-pin keyed BERG-style connector. Essentially it is a clone of the Kraft joystick and probably made by Kraft with an IBM label on it.  IBM had two distinct joystick ports of this type on the back of the jr. so there is no need for a Y-adapter.


5.  Tandy 1000 Joystick

Tandy Radio Shack, when it released its TRS-80 Color Computer, decided to use a design almost identical to the IBM standard. The differences are both cosmetic and functional. The Deluxe Joystick is a physical clone of the Kraft stick. It uses a 6-pin DIN connector and early models may not have the trimmer adjustments. When Tandy released the Tandy 1000 computers, they used the CoCo interface as it was fairly close to the IBM standard. The 1000 computers also have two distinct ports. IBM standard joysticks can be used in Tandy 1000 if you can make a pin adapter and connect the unused third terminal of each potentiometer to ground (which also connects the buttons). The (non-Deluxe) Joystick for the CoCo, a black box with one button, does work in these ports but is reported to be quite horrible to use.  Tandy also released a pistol grip joystick for the flight simulator crowd.

Unlike IBM Joystick potentiometers, Tandy joystick potentiometers connect the third terminal to GND.  The resistive signal is fed into a comparator against a a voltage source which charges at a constant time.  When the  voltages match, the interface informs the programmer, and the time it takes for the match to occur determines the joystick position.  The method is sufficiently different from IBM joysticks that some games may not work with Tandy joysticks.  Buttons are handled in the same way as IBM joysticks.


6.  Amstrad Joystick

Amstad PC clones, the 1512 and 1640 were unique in that it supported a digital joystick.  The interface (also used on the Amstrad CPCs) could use any standard Atari (CX-40) joysticks with a second button (on pin 7) which connected to a DE-9 connector.  The interface used keyboard scancodes, making joysticks function as if the user was using the numberpad.  Some games specifically support this method and more should have had these machines not been from the U.K.  The Amstrad could support more traditional PC joysticks through an add-on card.


7.  Hand-Grip Joysticks

By the late 80s, the boxy Kraft-style of joysticks were falling out of style.  Flight Simulators, such as the series from Microsoft, were becoming increasingly popular.  Joysticks increasingly looked like airplane flight sticks.  These joysticks required the whole hand to manipulate and usually had a trigger button for the crook of the index finger and a second button for the thumb.  They functioned in the same way as the Kraft-style joysticks, although some began to incorporate rapid fire switches for the buttons.  The base of the joystick was typically held down to the desktop with suction cups or a weighted bottom.

There were lots of no-name joysticks, but Advanced Gravis made a good one called the Analog Pro that pushed the limits of the standard interface.  This joystick had five buttons, one trigger, two thumb and two on the base.  Four buttons were independent.  It also had a throttle control which could be disabled.  The throttle uses the third joystick axis on the interface.


8.  Gravis Gamepad

The NES and its competitors in the console realm showed a different style of game controller, with a digital pad and face buttons.  For side scrolling and overhead arcade-style games, a large joystick was thought by many gamers to lack the precision required for tight movements.  Advanced Gravis, who had a reputation for making quality PC joysticks, released the Gravis Gamepad, which looked like a SNES controller with a D-pad on one side and four face buttons on the other.

The digital pad used a digital to analog converter in the pad to report the extreme values to the interface, as if the joystick were being pushed all the way in one direction or another.  For games that did not register movement beyond that from the extreme and neutral position, this was OK.  For games that did take the movement into account, the pad was less than an ideal device, if the game worked with it at all.  A screw hole in the middle of the D-pad allowed for the insertion of a stick for a more joystick-like experience.  Games like Commander Keen came bundled with the pad and considering the tricky controls of that game, nothing else came close to being as good to control it.  

The four buttons were the maximum the base PC interface could support.  There was a switch that could turn two of those buttons into rapid fire versions of the other two buttons.  The gamepad was also ambidextrous at the flick of another switch, so the buttons would get manipulated with the left thumb instead of the right and vice versa for the D-pad.  Additionally, Keen 4-6 had explicit support for the four button layout of the Gravis Gamepad or any joystick with all four buttons on it, so you could jump, use the pogo stick, shoot and check status without having to press two buttons at once.

Later Gravis Gamepads, like the Gravis Gamepad Pro, which looks like a regular Playstation controller and can allow for daisy chaining for up to four controllers, requires specific support with DOS games or a device driver in Windows.  The Microsoft Sidewinder gamepad, which looks like the precursor to the Xbox controller, requires the same.

9.  Speed Adjusting Gameports

As PC speeds began to increase and gamers upgraded their machines, sometimes their old games would not work with their joysticks, even though they worked fine with newer games and the interface was standard.  Gameports could be read by a BIOS call, Int 15H, Function 84H.  This BIOS call was available first on the IBM PC AT and later machines.  It is not available on any IBM PC, IBM PCjr. or an IBM PC XT or Portable with a BIOS dated 11/08/82.  Presumably the routines would be fine tuned to the CPU speed.  Programmers could also poll the Gameport using the system timer as a constant.  These methods are not speed sensitive.

Other games used timing loops dependent on the processor's speed to poll the gameport interface.  They would do this to achieve finer movement detection and possibly faster code.  However, as they rely on the processor's speed, this can be a problem when the processor is running too fast for the game to catch up.  So companies began to release gameport interfaces with a dial sticking out the back with multiple settings to have the interface match the speed of the processor.  I doubt that this always worked correctly.  One popular card was the Advanced Gravis Eliminator.

By the early 90s, gameports were increasingly seen on sound cards like the Sound Blaster, Adlib Gold and Pro Audio Spectrum.  Gamers could be disappointed because these cards implemented a straight gameport without any speed adjustment possible.  Also, the Sound Blaster combined midi in and out functions on the gameport, using one line for midi out and one line for midi in which had been previously connected to GND and +5V, respectively.  Do not connect a gameport to midi adapter to a straight gameport!  (Also, you cannot connect such a device to a Roland LAPC-I, which uses a DA-15 female as an MCB-1 substitute unless you rearrange pins in the adapter.  The LAPC-I does not support joysticks either).

Later gameport adapters, such as those found on the Sound Blaster 16, may allow gameport joysticks to work in faster computers like a 486DX2/66.  Earlier gameport adapters, like those that do not have any speed adjustment method or are found on 8-bit Sound Cards (including the Sound Blaster Pro) may fail to respond.


10.  Luxury Joysticks

In the 1990s, two companies were especially well known for making high end PC joysticks.  The first was CH Products Flightstick Pro, a high quality stick with four buttons, a 4-position hat switch and a throttle wheel.  The throttle used an extra axis, but the hat really added four extra buttons.  It required specific game support for the CH method, encoding the state of the eight buttons using a 4-bit binary code.  The downside to the CH method is that only one button or hat switch press could register at a time.  The method was compatible with games that did not support the encoding, as a button press would look identical to a standard stick.  To maintain compatibility, only 12 of the combinations are available.  The Flightstick Pro uses 4 combinations.  A later stick from CH had more buttons and hats and used most of the remaining 8.  They also made a flight yoke device called the Virtual Pilot, which had a special throttle control.  It was one way DOS games could get to having a proper wheel for STUNTS and Test Drive 3.  CH Products also released a standalone Pro Throttle which was programmable and could take over the third axis from the stick.

For the true sim fanatic, Thrustmaster came out with a three piece system that was made of real high quality materials and had the price to match :


FCS - Flight Control System, a standardish joystick with hat switch.  The basic stick was known under several names, including the P(ro)FCS, Mk I, Mk II, and Top Gun, etc.  Later versions include the F22 Pro and the F16 FLCS.  The later sticks were fully programmable directly because they had an AT keyboard connector in addition to the Gameport connector.

WCS Mk II- Weapons Control System, a throttle controller with six buttons and a three position switch, a later version with more buttons is the called the F16 TQS (Thottle Quadrant System).  There was an earlier version that looks virtually identical called the Mk I, but it is not programmable, only has preset keyboard combinations and does not use the gameport for the throttle action.  They connect to the system with a Gameport and AT keyboard connector.

RCS - Rudder Control System, a pair of floor pedals, a later version is called the Elite Rudders.  Although they may look like car pedals, they actually are pushed forward and pulled back with the heel, reportedly as an in airplane.

The combination of the first two is called HOTAS, hands on throttle and stick.  The buttons and hats on the FCS (except possibly the trigger) and WCS are programmable in software.  The programmable buttons and hats then acted like keyboard keys, and both devices could plug into the keyboard port for that purpose.  The keyboard would plug into a port on either device.

Connecting all this was a bit of an experience.  The Rudders had a joystick port which connected to the stick or the throttle.  The stick's joystick port connected to the throttle with a Y-adapter, and the throttle's joystick connector connected to the gameport.  The keyboard's connector was inserted into the stick, than a keyboard cable went from the stick to the system.  The gameport interface used two axes for the joystick, one for the throttle (a one axis device) and one for the rudders.  (I assume the rudders began at one extreme and pushing each to the limit would shift the direction by half).   Thrustmaster also made a true wheel called the Grand Prix 1 and a dual port gameport called the ACM Game Card with a speed dial and a second joystick interface at a default I/O 209H.

The hat switch on the standalone joystick works differently than on the CH Products sticks.  Each position on the hat is encoded to a discrete resistance value, which is then read on the third axis.  Five positions (up, down, left, right and center) equal five values.  A game had to have specific support for this method.  When the stick was plugged into a programmable throttle, the throttle would take over the axis and the hat buttons should be fully programmable.

11.  Notebook Options

In the DOS days, notebooks were very expensive business tools.  I cannot think of any notebooks offhand that came with a Gameport built in.  Many did have serial and parallel ports, and there were dongles that allowed you to connect a gameport joystick to a serial or parallel port.  Unfortunately, unless there was specific support for this hardware in a game, these dongles had to rely on drivers and TSRs to emulate the gameport.  Your mileage did vary in terms of compatibility.

There were PCMCIA gameport adapters.  I have one called the EXP Game Traveler.  There is another called the EXP Midi Traveler, which adds midi support to the gameport connector.  Both devices require drivers to load, but I did not have a problem with them.  Not common cards to find, for sure.  Look here for more info : http://www.expnet.com/know.nsf

12.  Mice and Six Degrees of Freedom Controllers

PC Games had been supporting mice since Microsoft Flight Simulator 2.0 in 1984.  The first mice used serial ports or proprietary interfaces to transmit data.  Mice and trackballs used a pair of rotary encoders to indicate movement on the x and y axes.  A standard Microsoft Mouse (including compatible mice made by third parties) supports two buttons.  Logitech mice often extended the protocol to enable support for a third button.  The Mouse Systems protocol always supported a third button, as did the PS/2 mouse protocol.  Tandy even made a mouse for its CoCo that could work in its Tandy 1000 machines, since it used 6-pin gameports with a special driver.

In DOS, a driver is required to enable mouse support.  The Cutemouse driver supports virtually any mouse ever made that can run in DOS.  Most people use it today because it takes up so little free RAM and is quite compatible.  A game does not have to have specific support for the mouse protocols because a driver will translate them into standard Int calls that are readily documented.  Sierra's SCI1 games supported the third mouse button for those games' point and click interface.  In those games, hitting the middle button will switch the icon from whatever it may be (eye, hand, item) to the walk icon.  PC Booter titles, which do not run on DOS, should only work with serial mice supporting the Microsoft Mouse protocol.

In 1996, Microsoft released its first Intellimouse, which popularized the scroll wheel.  A scroll wheel acts like a z-axis and third button.  It was released in serial and PS/2 versions.  I do not know that any DOS games that support a scroll wheel, which was mainly popular in Windows 95 programs.  However, there were at least two controllers that functioned like a mouse with support for a z-axis, the Logitech Cyberman and the Space Orb 360.


The SpaceTec SpaceOrb 360 (f/k/a Spaceball Avenger) looks like a gamepad with a trackball stuck on it.  It was great for Descent 2 and usable in Quake and Quake II.  The trackball can be pushed, pulled or twisted as well as rolled.  It has six programmable buttons.  The weirdness of the ball movement prevented it from achieving true popularity.


The first Cyberman was a mouse mounted on a pedestal, yet offered six degrees of freedom (6DOF).  It was supported in DOOM, System Shock and the floppy version of Quest for Glory IV.  It has three buttons.  You could move the mouse left and right (x-axis), forward and back (y-axis) and push and pull it up and down (x-axis).  You could also push forward/pull back the mouse relative to its base (pitch), twist it to the left or right relative to the x-axis (yaw) or the y-axis (roll).  It also has force feedback.  Unfortunately its poor ergonomics and limited ability to use it as a standard mouse made it unpopular.  Cyberman 2 was a Windows only device.