Monday, July 23, 2012

Sound Blaster 16 - Distinguishing the Endless Models

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

Waveblaster Header

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

Hanging MIDI Notes Bug


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

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


ISA Plug N Play

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

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

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

SB16s with the ViBRA chips are be detailed below.  

CD Interfaces

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

QSound Advanced Signal Processor/Creative Signal Processor

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

True Yamaha OPL3 Synthesis

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

ViBRA Chips

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

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

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

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

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

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

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

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

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

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

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

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

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

Which One to Buy

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

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

If you want the least noisiest cards of the bunch, look for the CT2940 with a Yamaha YMF chip. This card has the CT2502 (ViBRA) chip but uses ISA PNP.

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

Three Generations of Sound Blaster 16s Compared

Number One : Sound Blaster 16 MCD CT-1750

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

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

Number Two : Sound Blaster 16 MCD CT-2230

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

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

Number Three : Sound Blaster 16 PnP CT-2940

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

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

Sound Blaster AWE32 & 64 Options

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

Soundfont RAM

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

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

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

Models without RAM upgradeability : CT3780, CT3910, CT3630

Waveblaster Header

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

Models supported : CT2760, CT3900, CT3980, CT3990

SPDIF

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

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

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

AWE32 Models supported : CT2760, CT3900, CT3980, CT3990

SB32 Models supported : CT3600, CT3620

AWE64 Models supported : CT4390, CT4540

ISA Plug 'N Play

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

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

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

Models without PNP : CT2760, CT3900, CT3780, CT3910

True Yamaha OPL3 FM Synthesis

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

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

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

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

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

CD Interfaces

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

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

Models with Panasonic Interface : CT3900

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

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

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

Hanging Notes MIDI

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

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

QSound ASP/CSP

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

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

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

Models with CT-1748 Socket : CT3780, CT3910

Odd Ducks

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

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

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


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

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

AWE Upgrade

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

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

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


Which one should I get?

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

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

Sunday, July 22, 2012

Observations on 8-bit Video and Sound Cards

8-bit Video Cards

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

IBM Monochrome Display Adapter

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

Hercules Graphics Adapter

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

IBM Color/Display Adapter

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

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

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

IBM EGA Adapter

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

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

IBM VGA Adapter

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

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

8-bit Sound Cards

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

AdLib Music Synthesizer Card

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

AdLib Gold 1000

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

Covox Sound Master

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

Covox Sound Master Plus

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

Covox Sound Master II

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

Creative Music System/Game Blaster

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

Creative Labs Sound Blaster 1.0 & 1.5

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

Creative Labs Sound Blaster 2.0

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

Creative Labs Sound Blaster Pro 1.0

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

Creative Labs Sound Blaster Pro 2.0

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

Innovation SSI-2001

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

Mediavision Pro Audio Spectrum (PAS)

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

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

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



Mediavision Thunderboard

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


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

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

Roland MPU-IPC or MPU-IPC-T

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

Roland LAPC-I

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

Roland SCC-1

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

Roland MPU-401/AT

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

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

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

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

Saturday, July 14, 2012

CGA and Tandy Compatibility

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

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

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



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


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

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

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

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

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

Sunday, July 8, 2012

The Gravis Ultrasound and DOS Games

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Thursday, June 21, 2012

IBM PCjr. and Tandy 1000 Games

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Rules of thumb for game compatibility :

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

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

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

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

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

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

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

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

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

% - Modern remake exists with Tandy and VGA support.

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

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

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

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

^ - Also supports EGA

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

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

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

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

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

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

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

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

Friday, May 18, 2012

The Other Early Tandy 1000s

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Wednesday, May 16, 2012

Benefits and Drawbacks of the Late Model Tandy 1000s

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

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

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

Drives : (all except SL)

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

DOS-in-ROM :

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

Fast Booting :

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

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

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

EEPROM Saving :

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

Keyboard :

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

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

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

Disable Joystick Ports :

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

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

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

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

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

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

Built-in Serial Port Availability and Disable :

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

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

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

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

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

Volume Control, Earphone and Microphone Jacks and Reset Switch :

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

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

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

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

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

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

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

Drawbacks :

Video :

No composite video

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

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

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

Audio :

Slight audio issues :

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

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

Conflicts with devices using DMA1

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

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

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

No joystick during digital audio playback

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

Peripherals

Keyboard :

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

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

Joystick :

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

Interfaces :

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

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

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

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

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

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