TRS-80 was Tandy Corporation's desktop microcomputer model line, sold through Tandy's Radio Shack stores in the late 1970s and early 1980s. The line won popularity with hobbyists, home users, and small-businesses. Tandy Corporation's leading position in what Byte Magazine called the "1977 Trinity" (Apple, Commodore and Tandy) had much to do with retailing the computer through more than 3000 of its Radio Shack (Tandy in the UK) storefronts. Notable features of the original TRS-80 included its full-stroke QWERTY keyboard, small size, well-written Floating Point BASIC programming language, an included monitor, and a starting price of $600.
One major drawback of the original system was the massive RF interference it caused in surrounding electronics. This became a problem when it was determined to violate FCC regulations, leading to the Model I's phase out in favor of the new Model III.
By 1979, the TRS-80 had the largest available selection of software in the microcomputer market.
Tandy ended up selling over 10,000 TRS-80s in its first month of sales, and an additional 55,000 in the next 4 months. Before its January 1981 discontinuation, Tandy sold more than 250,000 Model Is. By the end of its lifetime, the computer had become affectionately known by its users as the "Trash-80".
Even though Apple is credited with creating the home computer industry, if it had not been for Radio Shack's TRS-80 entry in to the market at the same time, there would not have been the interest in personal computing required to jump start the industry.
A version of the computer was produced which replaced the nameplate with a numeric keypad.
Many users complained about the TRS-80 keyboards, which used mechanical switches and suffered from "Keyboard Bounce", resulting in multiple letters being typed accidentally. A Keyboard De-Bounce tape was distributed to compensate, which both ignored key contact closures if they were detected within a short time of a contact opening, and slowed down polling of the keyboard. Eventually, this was added to a later ROM revision. The keyboard was also changed to be less vulnerable to bounce.
Later models came with a green-on-black display.
Because of bandwidth problems in the interface card that replaced the TV's tuner, the display would lose horizontal sync if large areas of white were displayed; a simple hardware fix (involving less than half an hour's work) could be applied to correct that.
The video hardware could only display text at 64 or 32 characters wide by 16 lines of resolution. This was because the video memory system used a single kilobyte of video memory. Seven of the bits of each byte were used to display ASCII characters, with the eighth bit used to differentiate between text and "semigraphics" characters.
Primitive graphics ("text semigraphics," rather than a true bitmap) could be displayed because the upper 64 characters of the 128 character set displayed as a grid of 2×3 blocks (very similar to Teletext). BASIC routines were provided which could write directly to this virtual 128×48 grid.
The original TRS-80 Model I could differentiate between upper and lower characters in memory, but lower case characters were not displayed on the video display. In order to display the lower case properly on the Model I, one had to solder or clip an eighth memory chip onto the back of one of the existing seven video RAM chips, and then bend up a pin to tap an address line off the system bus. This modification became a popular third-party add-on.
Later models came with the hardware allowing the lowercase character set to be displayed with descenders. The software, however, remained unchanged, and when using standard BASIC programming, no lower case characters could be displayed. A small keyboard driver written in machine language could overcome this shortcoming.
Any access to the screen memory, either by writing to it using the BASIC statement PRINT or accessing the screen memory directly, caused "flicker" on the screen. The bus arbitration logic would block video display while access was given to the CPU, causing a short black line. This had little effect on normal BASIC programs, but fast programs made in assembly language could be affected if the programmer didn't take it into consideration. Many software authors were able to minimize this effect. Notwithstanding this primitive display hardware, many arcade-style games were available for the Tandy TRS-80.
TRS-80s with Level I BASIC read and wrote tapes at 250 baud; however, "baud" was a misnomer in this application. The data rate was 25 bytes per second. Level II BASIC doubled this to 500 "baud", or 50 bytes per second.
Some programmers wrote machine language programs that would increase the speed to up to 1500 baud without loss in reliability.
For loading and storing data, no hardware controller existed. Instead, the processor created the sound itself by switching the output voltage from minus to plus and back, thus creating a click for every 1 and silence for every 0 in the bit stream.
The first models of the Model I also had problems reading from the cassette drives. Tandy eventually offered a small board which was installed in a service center to correct earlier models. The ROMs in later models were modified to correct this.
Originally, one could not print from the Model I without purchasing an Expansion Interface. However, Tandy Corp. soon sold a printer-only Interface for the Model I for approx. 300 Deutschmark in Germany.
The Expansion Interface was the most troublesome part of the TRS-80 system. It went through several revisions (a pre-production version is said to have looked completely different, and to have had a card cage) before on-board buffering of the bus connector lines cured its chronic problems with random lockups and crashes. Its edge card connectors tended to oxidise due to the use of two different metals in the contacts, and required periodic cleaning with a pencil eraser. The unit required a second power supply, identical to that of the TRS-80, and was designed with an interior recess which held both power supplies.
Since the cable connecting the expansion interface carried the system bus, it was kept short (about two inches). This meant that the user had no choice but to place it directly behind the computer with the monitor on top of it. This caused problems if one owned a monitor whose case did not fit the mounting holes. Also, the loose friction fit of the edge connector on the already short interconnect cable created the precarious possibility of disconnecting the system bus from the CPU if either unit happened to be moved during operation.
Much of the unreliability was due to bugs in Radio Shack's early version(s) of TRS-DOS. The 1771 could not report its status for a short interval (several instruction cycles) after it received a command. A common method of handling this was to issue a command to the 1771, perform several "NOP" instructions, then query the 1771 for command status. Early TRS-DOS neglected to use the required wait period, instead querying the chip immediately after issuing a command, and thus false status was often returned to the OS, causing various errors and crashes. If the 1771 was handled correctly by the OS, it was actually fairly reliable.
The drives sold by Radio Shack were 35-track models with a 160K capacity.
Two other printers were offered: one for 57 mm metal coated paper, selling for approximately 600 Deutschmark in Germany, and one built by Centronics for normal paper, costing at first 3000 Deutschmark, later sold at approximately 1500 Deutschmark in some stores. It had only 7 pins, so letters with descenders such as lowercase "g" did not reach under the baseline, but were elevated within the normal line.
Level I Basic was based on Li-Chen Wang's free Tiny BASIC, additional functions added by Radio Shack. It achieved a measure of noteworthiness due in large part to its outstanding manual, written by David Lien, which presented lessons on programming with text and humorous graphics, making the subjects very easy to understand. It had only two string variables (A$ and B$), 26 numeric variables (A - Z) and one array, A(). Code for functions like SIN(), COS() and TAN() was not included in ROM but printed at the end of the book. The error messages were: "WHAT?" for syntax errors, "HOW?" for arithmetic errors such as division by zero, and "SORRY" for out of memory errors.
Level II BASIC was licensed from Microsoft. It was a cut-down version of the 16 KB Extended BASIC, since the Model I had 12 KB of ROM space. The accompanying manual was not nearly as colorful and suited for beginning programmers as the Level I BASIC manual.
The Disk Based BASIC added the ability to perform disk I/O, and in some cases (NewDos/80, MultiDOS, DosPlus, LDOS) added powerful sorting, searching, full screen editing, and other features. Level II BASIC recognized some of these commands and issued a "?L3 ERROR", suggesting that a behind-the-scenes change of direction intervened between the recording of the Level II ROMs and the introduction of Disk BASIC, which Radio Shack didn't call Level III.
Microsoft also marketed a tape-cassette based enhanced BASIC called Level III BASIC. This added most of the functions in the full 16 KB version of BASIC.
TRS-DOS—Radio Shack's operating system for its TRS-80 computers—had significant limitations, opening the market for various alternative OSes, including NewDOS, a third-party rival sold by a company called Apparat Personal Computers, which went out of business in 1987. Others included LDOS, DOSPLUS, and VTOS.
Many clones of the TRS-80 Model I came on the market: the Lobo Max-80 (Lobo also produced their own version of the Expansion Interface), the LNW-80 Models I/II and Team computers (LNW also produced an alternate version of the Expansion Interface), and the Dutch Aster CT-80, a computer that could run both TRS-80 and CP/M software, and also had all the improvements of the later Model III.
EACA in Hong Kong made a Model I clone that was marketed around the world under different names with modifications. In Australia and New Zealand it was the Dick Smith System-80, in North America it was PMC-80 and PMC-81, in Hungary the HT-1080Z, in South Africa the TRZ-80, and in Western Europe it was Video Genie. The expansion bus was different and EACA also made its own Expansion Interface to fit it. There were several versions, and it was later split into a 'home' and a 'business' version, Genie I and II, and System-80 Mark I and II, where the II would have a numeric keypad instead of the built-in cassette player. EACA's Colour Genie was also based on TRS-80 Model I but with improved graphics and other changes, reducing its compatibility.
In Brazil there were several manufacturers of different Model I/III/IV clones. Digitus made the DGT-100 and DGT-1000, Prologica made the highly-successful CP300 and CP500 series, Sysdata Eletrônica Ltda. made the Sysdata Jr. Dismac made the D8000/D8001/D8002 series. Prologica also made the CP400 / CP 400II which were copies of the TRS-80 Color Computer, with the external case being almost a copy of the Timex Sinclair 2068.
In Germany, S.C.S. GmbH in Mörfelden- Waldorf offered the Komtek-I Model I clone. Noteworthy was its four relay switching outputs.
The TRS-80 Model III also came with the option of integrated disk drives.
Running CP/M had previously only been possible via a hardware modification that remapped the BASIC ROMs away from memory address zero, such as the third-party add-on sold as the Omikron Mapper board, or by running a version of CP/M modified to run at a starting address other than zero. However, this also required modified applications, since the area of memory at zero continued the vectors for applications to access CP/M itself.
The Model 4 also had the ability to display high-resolution graphics with an optional board. A "luggable" version known as the Model 4P (1983) was a self-contained unit with a case design similar to that of a portable sewing machine.
In October 1979, Tandy began shipping the Model II, which was targeted to the small-business market. It was not an upgrade of the Model I, but an entirely different system, built using the faster Zilog Z80A chip running at 4 MHz, with the computer, 8" floppy disk drive, and monochrome 80x24 monitor built into a single cabinet, DMA and vectored interrupts that the Model I lacked, and a detached keyboard. It was available with 32 KB or 64 KB of RAM; two RS-232 serial ports and a Centronics printer port were standard. Unlike the Model I, the video and keyboard were not memory-mapped, leaving the entire memory space available for programs. Hard disk drives and additional floppy drives were available as options. The Model II ran the TRSDOS-II operating system and BASIC. TRSDOS-II was not very compatible with TRSDOS for the Model I, thus the Model II never had the same breadth of available software as the Model I. This was somewhat mitigated by the availability of the CP/M operating system for the Model II from third parties such as Pickles & Trout.
Tandy offered a desk custom-designed for the Model II for US$370. It could hold an additional three 8" disk drives or up to four 8.4MB hard drives.
The Model II was later replaced by the Model 12, which was essentially a Model 16B (described below) without the Motorola processor and other features such as an expansion cage. Customers could choose to later upgrade a Model 12 to a Model 16B.
Tandy later released the TRS-80 Model 16, as the follow-on to the Model II; an upgrade kit was available for Model II systems. The Model 16 added a 6 MHz, 16-bit Motorola 68000 processor and memory card, keeping the original Z-80 as an I/O processor. It could run either TRSDOS-16 or Xenix, Microsoft's version of UNIX. Of the two operating systems, Xenix was far more popular. TRSDOS-16 was essentially Model II TRSDOS, with no additional features and little compatible software. 68000 functionality was added as an extension, loading 68000 code into the 68000 memory via a shared memory window with the Z80.
Xenix, on the other hand, offered the full power of UNIX System III including multi-user support. The Model 16 family with Xenix became a popular system for small business, with a relatively large library of business and office automation software for its day. Tandy offered multi-user word processing (Scripsit 16), spreadsheet (Multiplan), and a 3GL "database" (Profile 16, later upgraded to filePro 16+), as well as an accounting suite with optional COBOL source for customization. RM-COBOL, Basic, and C were available for programming, with Unify and Informix offered as relational databases. A kernel modification kit was also available.
TRS-Xenix was notable for being a master/slave implementation, with all I/O being performed by the Z80 while all processing was done within the otherwise I/O-free 68000 subsystem.
The Model 16 evolved into the Model 16B, and then the Tandy 6000 HD, gaining an internal hard drive along the way and switching to an 8 MHz 68000 and half-height, 8-inch floppy drives (double-sided, double density, 1.2 MB). Tandy offered 8.4MB, 15 MB, 35 MB, and 70 MB external hard drives, up to 768 KB of RAM, and up to six additional RS-232 serial ports supporting multi-user terminals. Additional memory and serial port expansion options were available from aftermarket companies.
Internal variants of the Model 16 architecture were built running at speeds in excess of 10 MHz, 68010 processors, up to 8Mb of RAM, SCSI disk interfaces, and up to 12 RS-232 ports.
The Model 100 had an internal 300 baud modem, built-in BASIC, and a limited text editor. It was possible to use the Model 100 on essentially any phone in the world with the use of an optional acoustic coupler that fit over a standard telephone handset. The combination of the acoustic coupler, the machine's outstanding battery life (it could be used for days on a set of 4 AA batteries), and its simple text editor made the Model 100/102 popular with journalists in the early 1980s. The Model 100 line also had an optional bar code reader, serial/RS-232 floppy drive and a Cassette interface.
Also available as an option to the Model 100 was an external expansion unit supporting video and a 5 1/4" disk drive. It is connected via the 40-pin expansion port in the bottom of the unit.
The Model 200 was introduced in 1985 as the successor to the Model 102. The Model 200 had 24 KB RAM expandable to 72 KB, a flip-up 16 line by 40 column display, and a spreadsheet (Multiplan) included. The Model 200 also included DTMF tone-dialling for the internal modem. Although less popular than the Model 100, the Model 200 was also particularly popular with journalists in the late 1980s and early 1990s.
It was a small system based on the Motorola 6803 processor and featured 4 KB of RAM. A 16 KB RAM expansion pack that connected on the back of the unit was offered as an option as was a thermal paper printer. A modified version of the MC-10 was sold in France as the Matra Alice.
Programs loaded using a cassette which worked much better than those for the Sinclair. A magazine was published which offered programs for both the CoCo and MC-10 but very few programs were available for purchase. Programs for the MC-10 were not compatible with the CoCo.
Originally, Tandy offered computers manufactured by Tandon Corporation, and then started producing their own line of systems.
The Tandy 2000 system was similar to the Texas Instruments Professional Computer in that it offered better graphics, a faster processor (80186) and higher capacity disk drives (80 track double sided 800k 5.25 drives) than the original IBM PC
However, around the time of its introduction, the industry began moving away from MS-DOS compatible computers and towards fully compatible clones; later Tandy offerings moved toward full PC hardware compatibility.
The later Tandy 1000 systems and follow-ons were also marketed by DEC, as Tandy and DEC had a joint manufacturing agreement.