Sunday, August 7, 2011

Tandy 1000SX - The Best Overall Choice for IBM PC Gaming of the 1980s


Back in the 1980s, if you wanted to play games on a computer, there were many incompatible options available.  If you were on a budget, you may have had a Commodore 64.  If you were a real computer geek, you may have appreciated the open system of the Apple II.  Of course, your parents may have made the unfortunate choice of buying a Coleco Adam, Mattel Aquarius, TI-994A, a Commodore PET or TSR-80 or Color Computer.  None of these machines were particularly good for gaming.   You may have had the awesome parents that would have bought an Atari 8-bit computer or the VIC-20, which were great for games and very little else.  But later in the 1980s there were fewer options, in no small part due to the acceptance of the IBM PC in the business world.

In the second half of the 1980s, the 6502-based systems like the C64 and Apple II were really starting to show their age and the Atari machine was virtually dead.  In response, Commodore, Atari and Apple introduced new computers, the Amiga, ST, Macintosh and IIgs respectively.  The first two never caught on in the North American market, the Macintosh suffered from a lack of a color screen and gaming hardware early in its life and the IIgs withered on the vine due to a perceived slow processor and apathy from Apple.

From 1981-1986, the IBM PC line had become a huge success in the business world, but the high prices of the offerings from IBM did not make for much enthusiasm from the home market.  Even in 1987, just before IBM discontinued the line, the most basic configuration of the IBM PC cost a list price of $1,165.00.  This configuration only came with 64KB of RAM, no floppy or hard disk drive or adapter, no monitor or graphics card, no software, no game controller adapter.  To get a working configuration you would practically have to double the price.  For that year, the PC was a slow machine.

IBM's one effort to market a machine to the home user during this decade was the PCjr from 1983-1985.  The Jr. failed for reasons that are widely known, namely that people were expecting a fully PC compatible machine and got something significantly less than compatible, had a terrible chicklet keyboard, limited and proprietary expansion options, and was not especially competitive with other home computers at the high price point of $1,269.00.  If the PCjr. could not escape the shadow of its big brother and its own shortcomings, it did have some influence.  First, it was designed to be easier to get up and running.  If you got the expanded model, there was little need to open the machine as everything attached to the back or was bolted onto the side.  It had lots of built in hardware that were extras on a PC.  It had a built-in custom graphics controller that had better capabilities than the Color/Graphics Monitor Adapter found on the PC and could connect to a digital RGB or analog composite color monitor.  Comparable but incompatible graphics were available on the Enhanced Graphics Adapter, which was hugely expensive at the time.  It had a three-voice sound chip in addition to the PC Speaker and could mix external audio from a sidecar and had an audio RCA output.  All the above did not exist on the PC.  It had a serial port and a game port with plugs for two joysticks, which were extra add-in cards on the PC.  Perhaps in part to offset speed issues with RAM shared between the CPU and the Graphics Controller, the machine had two cartridge slots for games and programs.

Tandy Corporation, which operated the Radio Shack chain of stores, had a very active home computer division which had already produced the aging TRS-80 and not-exactly a sales leader Color Computer lines. Tandy had designed an MS-DOS machine called the Tandy 2000, which was at best semi-compatible with the PC and was hardly a best-seller.  The home market was crying out for affordable PC-compatible machines, and Tandy liked the PCjr.'s features and thought they could do better at the price point.  They developed a machine that supported the PCjr.s features and offered mostly better PC-compatibility.  Unfortunately, in 1985 as the machine was about to be released, IBM discontinued the Jr.  So Tandy began to emphasize MS-DOS and PC compatiblility for the machine, the Tandy 1000.

The Tandy 1000 came with a 8088 running at 4.77MHz, just like a PC, 128KB of RAM (shared with graphics),  the 90-key Keyboard used in the Tandy 2000, two joystick ports using joysticks from the CoCo, the same graphics and sound capabilities as the PCjr., composite video and digital RGB support, a printer port.  Its keyboard and joystick ports were at the front of the unit whereas IBM's were always at the back.  It had a reset button whereas IBM users had to press Ctrl-Alt-Del.  It ditched the cassette and cartridge ports of the Jr., the wireless keyboard and avoided proprietary ports to a greater extent than the Jr.  It came with a 5.25" floppy disk as standard and had the floppy controller circuitry built into the motherboard.  MS-DOS 2.11 and GW-BASIC came with the machine (no separate purchase required) as did DeskMate (Office App).  Unlike the PCjr. with its one drive bay, the 1000 came with two.  Its weaknesses included :

Only 3 XT/8-bit ISA slots

RAM upgrades only by special Tandy upgrade cards took up 1-2 ISA slots to get to 640KB.

No Serial port

No DMA built-in, came on one of the RAM upgrades.  This gave a stock 1000 the same kind of annoyances as the Jr. (CPU servicing disk drive, leading to ignored keystrokes, keystrokes interrupting serial data).

No ability to disable graphics circuitry (no upgrades to EGA or VGA)

No socket for a Math Coprocessor.

The Tandy 1000A added a math coprocessor socket and fixed some bugs.  (Tandy offered a version called the 1000HD with a 10MB hard drive and a 640KB RAM & DMA upgrade board that came on 1 board instead of 2).  The IRQ for the hard drive was 2 for these Tandys, with IRQ 5 used for the video.  IBM used the opposite designations for the PC line.

The next models in the series, released toward the end of 1986, are the Tandy 1000 EX and 1000 SX.  They are functionally the same machine, but the EX is a compact model with only one drive bay and the need to use Plus card for expansion with room for only three and an external drive port for a second disk drive.  The RAM and DMA upgrade comes on a Plus card.

The Tandy 1000 SX, the machine in question fixes virtually all the above issues.  It has 5 XT/8-bit ISA slots, can be upgraded to 640KB of RAM on the motherboard, can support an EGA or VGA card and a hard disk controller and a math coprocessor.  It came with 384KB standard RAM, a DMA chip and used standard 256Kx1 chips to upgrade to 640KB.  It came with MS-DOS 3.2, which added support for 720KB drives.  It could boot from either drive, which is useful if you have bootable 5.25" and 3.5" disks.  It ran is 8088 at 7.16MHz or 4.77MHz for a decent speed boost.  This speed is selectable on bootup for software expecting the slower speed.

Later models in the 1000 series added support for a 286 processor (TX), DOS-in-ROM (HX), 768KB of RAM so graphics memory would not conflict with conventional memory (TX), high density floppy controller (RLX & TL/3), 8-bit IDE interface (TL/2, RL), 3.5" drives as standard (TX & HX), improved graphics with 640x200x16 mode (TL & SL), enhanced sound with Digital-to-Analog and Analog-to-Digital conversion (Tl & SL).

Here is how I have my Tandy 1000 SX configured

Monitor :
Tandy CM-11 High Resolution Color Monitor

Keyboard :
Tandy 1000 Keyboard

Drive Bays :
5.25" 360KB Drive
3.5" 720KB Drive

ISA Slots :

1 - Serial Card
2 - 286xpres Accelerator
3 - Roland MIF-IPC-A w/ Roland MPU-401 & Roland MT-32
4 - Adlib Music Synthesizer Card or Creative Game Blaster Card
5 - ADP-50L 16-bit IDE Controller

I feel no particular need to go 100% Tandy, but the floppy drives come from, if not manufactured by, Tandy.  I used to have a 20MB Tandy Hardcard, but the drive was very noisy and soon died.  So, in my only concession to modern hardware, I have a 1.0GB Compact Flash card mounted instead.   Unfortunately, the ADP card, which supports 16-bit IDE drives on an 8-bit bus, can only utilize 504MB of that due to the infamous limitations of the straight INT 13h/ATA addressing it uses.  This limitation is independent of any DOS limitations.  Compact Flash cards are virtually IDE devices, requiring only a passive pin converter to work with an IDE port.  The ADP card is a bit finicky about which CF drives it will boot, having not been designed for that.  The Board does not use IRQs or DMAs.  Two drives can be used for a total of 1008MB. The ADP board relies on memory mapped I/O, not port mapped I/O, so it should be faster than, say an XT-IDE card.  (The XT-IDE card with a 2.0 and above BIOS eliminates virtually all hard drive barriers, but even MS-DOS 6.22 and Windows 95 pre-OSR2 only support physical disks up to 8GB).  I may also be able to use a Trantor T-130B 8-bit SCSI interface card but that requires a separate SCSI-IDE bridge.  On the plus side, it does support and can boot up to 1GB storage devices.  However, the Trantor will freeze if it writes to a hard disk using an 8088 CPU.  A V20 CPU works with it.

Tandy MS-DOS 3.2, like all DOS versions 3.0-3.3, allows a primary DOS partition of only 32MB.  Support for extended partitions was added and standardized in DOS 3.3.  Tandy MS-DOS 3.2 does support up to three other DOS partitions on the drive (up to 32MB each), but it requires loading a driver in config.sys on startup and is non-standard.  Ultimately I chose MS-DOS 5.00 for its features (edit mainly) and it uses less conventional memory and hard disk space than DOS 6.22.  Also, while DOS 3.3's fdisk supports an extended partition up to 736MB in size, it has to be divided into 32MB logical drives from D:-Z:.  DOS 4-6 supports a primary partition of up to 2GB, all of which is the C: drive.  So MS-DOS 5.00 with a few additions from Tandy DOS (the Mode command, a device driver or two) works just fine.  If games start complaining about lack of free RAM (only 624KB is available before DOS due to sharing with the video), then I may have to go back to 3.3.

What kind of games would be played on this machine?  Well, all the important PC originals from 1981-1990. I will include any game whose maximum resolution was 320x200x16 and supports Tandy graphics or supports the Tandy sound chip for music and/or effects that does not support an Adlib, Sound Blaster, Roland MT-32 or Game Blaster.  Some examples include :

Thexder - Although the game supports an EGA 640x200x16 mode, which is appropriate considering its Japanese origins on the PC-88, it supports Tandy Sound for its music (all of two pieces).  Sound effects are PC Speaker only.

Secret of the Silver Blades, Champions of Krynn & Death Knights of Krynn - All support Adlib music, but if you select Adlib you get PC Speaker sound effects.  Tandy gives better sound effects than the speaker. Music only tends to be in the introduction to those games.

Games that require an EGA card and do not support Tandy, like Commander Keen, Duke Nukem & Sorcerian) are not going to be on this machine.  Similarly, games with a VGA version and an EGA/Tandy version aren't going to be either, unless the EGA version came out first (Indy 3, Monkey Island).  Nor would games that support a high resolution color EGA mode (Thexder II - Fire Hawk, SimCity, Zeliard, Silpheed) and sound cards.  In short, if there is no real benefit from running the game on a Tandy instead of an IBM PC or clone, then it has no real use in this machine.

The other hardware should be fairly obvious.  The Sound Blaster will see little use for its digitized sound and none for its midi or gameport capabilities.  Its there because I wanted an Adlib and a Game Blaster in one card.  The Roland is the ideal setup, nothing more need be said about it.  Chiefly only Sierra's games would have put it to any real use (custom sounds).

The 286xpress Accelerator requires a little explanation.  This device is an ISA card that can be used in a Tandy 1000, 1000A or 1000SX.  It has an 80286 CPU running at 7.16MHz and 8KB of cache.  It has a ribbon cable running from the card's daughterboard to the 8088 CPU socket on the motherboard.  It has a spare socket for a 80286 running at 4.77MHz.  The 8088 is plugged into the daughterboard.  This board does nothing unless activated when DOS boots either by a program loaded in autoexec.bat or a device driver in config.sys.  So it will not interfere with PC booter programs expecting 8088 speeds.  You can turn the cache off for better compatibility with programs.  With cache off, the system is just a little faster or slower than the system running at 7.16MHz on the 8088.  With the cache on, it is almost as fast as a Tandy TX or IBM PC AT @ 8MHz.  While an TX provides a serial port (freeing up a precious slot) and CPU upgrades fit into the slot (freeing up another slot), even at its slow speed it should still run faster than the SX at its fast speed.  So for older games that run like they are on amphetamines unless the CPU is an 8088 running at 4.77MHz,  it just isn't as good a choice.

Things to watch out for :

The RCA composite video output hues are somewhat different compared with the IBM PC in CGA modes, causing the colors displayed, compared to the IBM colors, are off.  For example, in Winnie the Pooh in the Hundred Acre Wood, Pooh appears in brown on an IBM and blue on the Tandy.  You can try to use the tint control on your monitor or TV to adjust the colors, but most TV monitors only allow a shift between red to green, which is not enough to make the colors accurate.  A composite monitor designed for computer use may allow a greater range of adjustment.  I believe this is present throughout the Tandy 1000s that have composite color output.  One game, Indianapolis 500 - The Simulation, by Electronic Arts actually allows the player to select an IBM or a Tandy palette in composite color mode, allowing the proper colors to be displayed with either type of machine.  If you use a standard CGA card in the machine, you should be able to get a more accurate IBM color.

The RCA audio output is not turned on by default.  (The Tandy 1000/1000A suffers from a similar problem, the EX, HX, TX and later models do not) The default is for all sound to go through the internal speaker.  Some programs like Maniac Mansion and Zak McKracken & the Alien Mindbenders fail to recognize that the SX is a little different and do not turn the audio output on.  A program called tdyspkr.com can be used in your autoexec.bat to turn the output on to the RCA out and/or off to the internal PC Speaker.

The default 80-column text mode on the Tandy annoyingly uses 225 lines.  IBM uses a 200 line text mode.  All graphics modes in these machines use 200 lines.  In order to get a proper aspect ratio with the graphics modes, the vertical size control has to be set almost to the point where the graphics are almost hidden by the monitor bezel.  When you return to the text mode, this winds up cutting off either the top, bottom or both lines of the display.  Use Tandy MS-DOS 3.2 mode.com command : mode 200, to fix this.  This does not work in the TL machines.  You can use the Tandy mode command in a later, non-Tandy DOS.

Tandy floppy disk drives require a ribbon cable without a twist!  They also require setting jumpers or switches on the drives to tell the machine which is drive A and which is drive B.  On an IBM PC, both drives are set to DS1, and the twist turns the drive at the end of the cable to DS0.  If you are using a modern 1.44MB drive in these systems, they are generally soldered to DS1, so they will be the B drive.  5.25" drives should always allow you to set DS0 or DS1.  But one of the great things about a Tandy is that they allow you to boot from the B drive by pressing the F3 key at startup.  If you have a standard "universal" floppy cable (with 3x pin connectors and 2x card connectors), you have to untwist the cable by prying off the end connectors, flipping the wires around, then snapping the connectors back on again.  Tandy did not support high density drives until the RLX and TL/3, but you can use most 1.44MB floppy drives with double density/720KB media.

The EX and SX are the last Tandy 1000s that does not use the floppy connector port to power the drives.  The HX, TX and all later Tandys, (inlcuding the SX's replacement, the SL), do run power through the drive cable.  If you are using floppy drives on a Tandy 1000 system that do not correspond to Tandy's power-in-drive cable pinouts, you must cut holes in pins 3, 5, 7, 9, 11 and 29, 31, 33 for any portion of the cable going to the regular drive.  I used an Xacto knife and a pair of clippers to do the trick, and only small holes are needed.  Tandy did this themselves with their cables so an individual could connect a standard 5.25" drive into an empty bay.

In the TL/SL/RL series, there is a way to disable the Tandy joysticks and use an IBM joystick adapter.  On the early Tandys, there is no way, you you have to use Tandy joysticks.  Tandy used the same joysticks for the TSR-80 Color Computer and the 1000 series.   They come in three varieties : the one-button (cheap) black non-centering Joystick, the two-button Kraft-style Deluxe Joystick, and the flight simulator pistol grip joystick (four buttons, only two usable).  You can also use a Color Mouse (one-button) or Deluxe Color Mouse (two-buttons) in a joystick port and a special driver.  The Deluxe Joystick is virtually identical to the Kraft IBM PC joystick or the IBM PCjr. stick, and can be either set to self-centering or or free floating in one or both axes.  There are some subtle differences in the control interfaces between the PC and Tandy joysticks which may manifest themselves in compatibility issues with older games.

Now, while you could use a Tandy Color Computer mouse, this is not an ideal method because of the attention the CPU must spend on the reading the joystick ports.  This can slow the PC down.  A much better alternative is to use a serial mouse, especially as serial mice are easy to find.  So are 8-bit serial cards.  Serial cards use IRQs to get the CPU's attention so excess CPU time is not wasted in polling the serial controller's I/O ports.  You will need to use an 8250B based serial card, which is typically what 8-bit cards use.  I always use ctmouse as a driver as does virtually every other vintage computing enthusiast.  Its compatibility is excellent and it only uses 3K of precious memory.  In the SX there is no serial port, Tandy fixed this in the TX by replacing the useless Light Pen port with a serial port.  (Some games, like the Gold Box games referred to above, do not support using a mouse with Tandy graphics).

Using a printer requires a special adapter cable.  For some reason, probably TSR-80 and old-style Centronics printer compatibility, Tandy used card edge printer port on all 1000s until the RL, RLX and TL/3.  The ribbon cable would have a card edge connector on one end and a Centronics port on the other end.  Fortunately, building a compatible cable should not be a problem, especially if you are connecting it to an IBM compatible printer.  One thing to note is that all card edge printer ports are unidrectional and devices that use the port for data transfer in (like a Backpack CD-ROM drive or a parallel port ZIP drive) will not work, even in nybble mode.

Games and programs requiring BASIC may be an issue if they require ROM BASIC.  ROM BASIC is virtually unique to IBM PCs and PS/2s of the 1980s, and even highly regarded compatibles like the Compaq Portable failed to run programs that required it.  Tandy DOS comes with GW-BASIC, which incorporates the BASIC that would otherwise be in ROM and supports the Tandy graphics and sound capabilities.  GW-BASIC may work for some games.

The Tandy 1000SX has two speeds, the default 7.16MHz and the 4.77MHz speed.  The latter speed is for compatibility for PC software that was only intended to be run on an IBM PC or XT.  Pressing F4 at boot will put the computer into slow mode, which is great for PC booters.  The commands mode fast and mode slow can be used in DOS to switch back and forth.  Also useful is F1 for mono mode and F2 for TV mode to kill the color text or to make the text more legible on a TV.

With my Compact Flash card, the only noise from the system is from the Power Supply fan.  The internal speaker is a large and loud 3" cone, even bigger than the 2.25" cone of the IBM PCs.  PC speaker sound can be output to the RCA audio out.  If you have a Sound Blaster Pro, which has a 2-pin PC Speaker input, you can connect the header which would otherwise connect to the internal speaker.  This allows you to output PC Speaker and Tandy 1000 sound to speakers without having to deal with the RCA port issue and being able to directly control the sound volume.

The Sound Blaster 1.0-2.0 all use DMA1 and do not play nicely with the PSSJ sound chip in the TL/SL/RL, which also uses DMA1.  Lockups and freezes are commonplace when digital sound is played.  The SX does not have a PSSJ chip, so the issue is not present.  However, I have a Central Point Software Option Board, which requires DMA1 in a Tandy system (it can share DMA2 in an IBM system).  So if that is installed, the Sound Blaster may not play nicely with it.

The Tandy keyboard is a funny thing.  It has 90 keys, and it is much more compatible with the IBM keyboard layout than it first appears.  Since an IBM 83 and 84 key keyboard used the numberpad for directional keys, use can use the Tandy's if the dedicated cursor keys are not working in the game.  The small shift keys are not much fun, there is no separate * key, the Alt key is in a funny place, and there is no scroll lock equilavent (use Alt Break).  Beware the Hold key, it will seem like the machine has frozen until it is pressed again.  Its nice that the Num and Caps Lock keys light up, which did not on an IBM PC or XT.  The \ key is also less than ideally placed.  The fat enter key is far superior to the IBM 83-key keyboard.  However, the IBM 83-key keyboard is probably the most solid and clicky keyboard I have ever typed on.  By comparison, the Tandy keyboard is mushy and prone to registering a keypress with only the slightest pressure.  It does not use rubber dome keys, it has springs in the keys, but still the action leaves much to be desired.  PC-compatible keyboards do not work on the Tandy 1000s prior to the TL/SL, but there was an adapter from Tandy that would allow a PC keyboard to work.  The Northgate Omnikey keyboards are also compatible with a special cable (which you may have to make yourself).

The SX and TX are the first Tandys that allow their graphics to be disabled if an EGA or VGA board is installed.  (The EX and HX can as well, but require upgrade cards with the PLUS adapter).  There is a special program that improves the detection of these cards in Tandy 1000s.  An MDA or Hercules compatible card should be installable in any Tandy 1000 except perhaps the 1000 and 1000A.  You can even install a CGA card in the SX, but some games may detect a Tandy 1000 machine and set their graphics to use the Tandy Graphics Adapter, requiring you to remove it.

On the SX, adding a math coprocessor is as easy as installing it into the empty socket and removing a jumper.  The machine came with 384K and was upgradable to 640K by installing eight 256x1 RAM chips into the empty sockets by the drive cage and removing another jumper.  There are four switches.  Switch 1 is useful if you have a MDA/Hercules card, switch 2 for hard drive controllers that are hard wired to IRQ2, switch 3 and 4 disable IRQ6 and IRQ7, respectively.

The last issues which must be addressed relate to the expansion slots.  Original Tandy 1000s did not come provide -5v to the expansion bus.  Sound cards like the Sound Blaster 2.0 require this voltage, as do many VGA adapters.  The SX has the voltage on the bus, so this should no longer be an issue on the later machines (except for the EX and HX, which also do not have this voltage on the PLUS expansion port).  More concerning is that fact that only 10" boards or shorter will fit inside any Tandy 1000 case.  The Roland LAPC-I, for example, will not fit, so I used a bare MPU-401 interface box with a small card.  Nor will most EMS memory boards.  Hard cards may be difficult to come by that will fit.

Tandy 1000s are supremely easy to open, all you need to do is to unscrew two screws from the front or the side and pull the cover forward.  Working inside the first generation models is not quite so easy, due to the disk drive cage and the screws used to hold the expansion slots in place.  Inside, the screws are all of the hex nut, standard screwdriver types, no Phillips head screws.  I use a hex nut on a flexible screw driver handle to get at the screws, and it works pretty well.  The expansion slot screws are a nightmare because they are so small and covered a bit by the back plastic piece.

In late 1986, the SX was released in its 2x5.25" drive version for $1,199.00.  A similarly configured PC or XT, which did not come with a printer adapter or a graphics adapter, would have cost much more and not have been as much fun.  Like the PCjr, it supports 160x200x16, 320x200x16, and 640x200x4.  (I think only Deskmate ever supported the last resolution).  Unlike the PCjr., it has register level compatibility with CGA, whereas the PCjr. has only BIOS level compatibility.  Also, while the PCjr. and the Tandy 1000 support the PC Speaker sound generation, the PCjr. only has a piezo tweeter, while the 1000s have the biggest PC Speaker cone I have ever seen in a compatible.  This means that games that tweak the speaker, like Access Software's Realsound games, will sound far superior on the Tandy than the PCjr.  The Tandy 1000 does not require device drivers to support more than 128KB, unlike the PCjr.  256KB and greater booter games will work on the former but not the latter.  Many games use these graphics and sound capabilities to give great improvements over competing systems.  There are several games that support Tandy but not EGA graphics and games that support Tandy sound but not sound cards or midi devices.

PCjr. specific software (almost all of which was released by IBM) may not run on the Tandy or support Tandy graphics and sound.  King's Quest and Touchdown Football (PCjr. versions) will not work in anything other than a Tandy 1000 with 128KB of RAM.  Fortunately there are Tandy versions available of these games.  The near mythical M.U.L.E. port IBM PC was alleged to take advantage of PCjr features but really only supports CGA and PC Speaker sound (but it runs on the jr.).  Cartridge software, even when dumped, will not work because it expects to find itself in the D000 and E000 segments.

Unfortunately, the SX requires the 286xpress accelerator board to play those games of the late 80s that run slowly on 8088 machines.  The 286xpress is not an easy find as it was very expensive back in the day.  Also, finding an ADP-50L is not easy either, as it was a niche product.  A fast hard drive is an absolute necessity with these machines.  If you cannot find a 286xpress accelerator, then I would definitely recommend a Tandy 1000 TX instead, which has an 8MHz 80286 processor.  It is the last system to be truly Tandy 1000 compatible, as the later systems use a PC compatible keyboard and lose composite output.