The TRS-80 Micro Computer System, often called the "Trash-80" and later renamed the TRS-80 Model I, is a desktop computer made by the American company Tandy Corporation and sold through their Radio Shack stores. It was introduced in 1977 and was one of the first home computers produced and sold in large numbers. The name comes from Tandy Radio Shack Z80, which refers to the Zilog Z80 microprocessor used in the computer.
The TRS-80 includes a full-sized QWERTY keyboard, 4 KB of standard memory, a small design, and a BASIC programming language stored in its memory. It also has a screen that shows 64 characters per line and was originally priced at US$600 (equivalent to US$3,200 in 2025). A cassette tape drive for saving and loading programs was included in the original package. While the software worked well, problems with the cassette drive, keyboard issues, and the Expansion Interface made the Model I less suitable for heavy use. At first, the Model I did not support lowercase letters, which may have limited its use in business settings. Tandy/Radio Shack offered many upgrades and accessories for the TRS-80. The basic system could be expanded with up to 48 KB of memory, and up to four floppy disk drives or hard disk drives. Tandy/Radio Shack provided repair, upgrade, and training services through their stores worldwide.
By 1979, the TRS-80 had the most software available in the microcomputer market. Until 1982, it was the best-selling computer line, selling five times more than the Apple II, according to one report. The TRS-80 Model III, which was broadly compatible with the Model I, was released in 1980. The Model I was later discontinued because of stricter rules from the US FCC about radio interference. In April 1983, the Model III was replaced by the TRS-80 Model 4.
After the Model I and its compatible versions, the name "TRS-80" was used for other unrelated computer models sold by Tandy, including the TRS-80 Model II, TRS-80 Model 2000, TRS-80 Model 100, TRS-80 Color Computer, and TRS-80 Pocket Computer.
History
In the mid-1970s, Tandy Corporation’s Radio Shack division was a successful American chain of more than 3,000 electronics stores. Among Tandy employees who bought a MITS Altair kit computer was buyer Don French, who began designing his own computer and showed it to John V. Roach, the vice president of manufacturing and Tandy’s former electronic data processing manager. Although Roach was not impressed by the design, he was interested in the idea of selling a microcomputer. When French and Roach visited National Semiconductor in California in mid-1976, they met Steve Leininger, a member of the Homebrew Computer Club, who had expertise with the SC/MP microprocessor. National Semiconductor refused to share Leininger’s contact information when French and Roach wanted to hire him as a consultant, but they found him working part-time at Byte Shop. Leininger was unhappy at National Semiconductor, his wife wanted a better job, and Texas had no state income tax. Hired for his technical and retail experience, Leininger began working with French in June 1976. The company planned to sell a kit, but Leininger convinced others that a preassembled computer would be better because many people could not solder.
Tandy had 11 million customers who might buy a microcomputer, but the cost would be much higher than the US$30 average price of a Radio Shack product, and the idea was risky for the conservative company. Executives worried about losing money, like Sears had with Cartrivision, and many opposed the project. One executive told French, “Don’t waste my time—we can’t sell computers.” As the popularity of CB radio—once more than 20% of Radio Shack’s sales—declined, the company sought new products. In December 1976, French and Leininger received official approval for the project but were told to focus on cost savings. For example, leaving out lowercase letters saved US$1.50 in parts and reduced the retail price by US$5. The original US$199 retail price required a manufacturing cost of US$80. The first design included a membrane keyboard and no video monitor. Leininger persuaded Roach and French to add a better keyboard, a monitor, data cassette storage, and other features that increased the retail price to meet Tandy’s typical profit margin. In February 1977, they showed their prototype, running a simple tax-accounting program, to Charles Tandy, head of Tandy Corporation. The program crashed when Tandy typed in his salary of US$150,000, as the computer’s version of Tiny BASIC could not handle large numbers. To fix this, they added support for floating-point math to Level I BASIC. The project was officially approved on 2 February 1977. Tandy had already told the press about the computer. When he first saw the prototype, he said the project could be valuable even if it did not sell, because of the publicity it might generate.
MITS sold 1,000 Altairs in February 1975 and 10,000 a year. When Charles Tandy asked who would buy the computer, company president Lewis Kornfeld admitted they did not know but suggested small businesses and schools might be interested. Knowing demand for the US$795 Altair—costing more than $1,000 with a monitor—Leininger suggested Radio Shack could sell 50,000 computers, but others doubted him. Kornfeld said, “If I gave one of these to my wife for Christmas, she’d think I was some kind of nut,” and Roach called the number “nonsense,” as the company had never sold that many of anything at that price. Roach and Kornfeld suggested selling 1,000 to 3,000 units a year, as 3,000 was the minimum needed to buy parts in bulk. Roach convinced Tandy to build 3,500 units—the number of Radio Shack stores—so each store could use one for inventory if they did not sell. RCA agreed to supply the video monitor—a black-and-white television with the tuner and speakers removed—after others refused because of Tandy’s low initial production volume. Tandy used the black-and-silver colors of the RCA CRT unit’s cabinet for the TRS-80 units as well.
Radio Shack spent less than US$150,000 on development and announced the TRS-80 (Tandy Radio Shack) at a New York City press conference on August 3, 1977. It cost US$399 (equivalent to $2,100 in 2025), or US$599 (equivalent to $3,200 in 2025) with a 12-inch monitor and a Radio Shack tape recorder. The most expensive product Radio Shack previously sold was a US$500 stereo. The company hoped the new computer would help sell higher-priced products and improve its image. Small businesses were the primary target, followed by educators, then consumers and hobbyists. Despite hobbyists being part of the customer base, Radio Shack saw them as “not the mainstream of the business” and “never our large market.”
Although the press conference received little media attention due to a terrorist bombing elsewhere in the city, the computer gained more publicity at Boston University’s Personal Computer Fair two days later. A front-page Associated Press article described the TRS-80 as a home computer that could “do a payroll for up to 15 people in a small business, teach children mathematics, store your favorite recipes, or keep track of an investment portfolio. It can also play cards.” Six sacks of mail arrived at Tandy headquarters asking about the computer, over 15,000 people called to buy a TRS-80—overloading the company’s switchboard—and 250,000 joined the waiting list with a $100 deposit.
Despite internal skepticism, Radio Shack aggressively promoted the TRS-80. The company advertised it as “the most important, useful, exciting, electronic
Hardware
The Model I combines the mainboard and keyboard into one unit, a design common during the 8-bit microcomputer era. However, the Model I has a separate power supply. It uses a Zilog Z80 processor that runs at 1.78 MHz (later models used a Z80A). Early Model I machines, released in late 1977 to early 1978, had only 4 KB of RAM. After the Expansion Interface and Level II BASIC were introduced in mid-1978, RAM options expanded to 16 KB and higher. The first 16 KB was included in the Model I itself, while additional RAM was added through the Expansion Interface.
On the Model I, the first 16 KB of memory is used for OS ROMs, I/O areas, video memory, and OS work space. The remaining 48 KB of the 64 KB memory map is available for programs, depending on how much RAM is physically installed. Although the Z80 CPU can use port-based I/O, the Model I uses memory-mapped I/O, except for the cassette tape and RS-232 serial ports.
The TRS-80 Model I keyboard uses mechanical switches that cause "keyboard bounce," where pressing a key may result in multiple letters being typed. This issue was described by Wayne Green in an editorial for the first issue of 80 Micro. Dirt, smoke, or other contaminants in the unsealed switches create electrical noise, which the computer interprets as multiple key presses. Cleaning the switches can temporarily fix the problem, but bounce returns if the keyboard is exposed to contaminants again.
Keyboard bounce only occurs in Model I computers with Level II BASIC firmware. Level I BASIC includes a "debounce" delay in the keyboard driver to prevent this issue. Tandy's KBFIX utility, the Model III, the final Model I firmware, and most third-party operating systems also use software fixes. Tandy later replaced the Model I's keyboard with an Alps Electric design featuring sealed switches, which was available as an upgrade for $79.
The keyboard is memory-mapped, meaning specific memory locations correspond to the status of key groups.
The 12-inch (300 mm) KCS 172 RCA monitor used on the Model I displays text in a faintly blue color (standard P4 phosphor used in black-and-white televisions). Green and amber filters or replacement tubes were popular aftermarket additions to reduce eye strain. Later models included a green-on-black display.
Users often criticized the video display quality. As Wayne Green noted, the monitor was "a cheap black and white television set with a bit of conversion for computer use." (The computer could be purchased without the Radio Shack monitor.) CPU access to screen memory causes visible flicker. During CPU writes to VRAM, the bus arbitration logic stops video display refresh, creating a brief black line. This has little impact on normal BASIC programs but may affect fast assembly language programs. Software developers worked to reduce this effect, and many arcade-style games were available for the TRS-80.
The display loses horizontal sync when large white areas are shown due to bandwidth limitations in the interface card replacing the TV's tuner. A simple 30-minute hardware fix resolves this issue.
The graphics resolution is 64×16 character positions on a screen 7.5 inches (19 cm) wide and 6.625 inches (16.83 cm) tall. Each character is made of a 2×3 pixel matrix and corresponds to one byte in the 1 KB video memory. Each byte's first six bits control pixel display, the seventh bit is unused, and the eighth bit toggles graphics mode. The unused seventh bit exists because the computer used only seven 2102 static-RAM chips instead of eight to reduce costs. This design limits the TRS-80's character set to 64 symbols, with no lowercase letters. A workaround involves removing the unused bit and adding an eighth 2102 chip. Alphanumeric symbols are displayed in 5×7 pixel matrices. The 1978 manual for the Electric Pencil word processor included instructions for this modification. While Level II BASIC disables the modification, the design became an industry standard and was sold in kit form with an eighth 2102 chip. Later models included hardware for lowercase characters with descenders.
Higher-resolution displays are possible with denser RAM and dedicated monitors. The Model II, Model 4, and later systems support 80×24-character displays.
The Model I has no built-in speaker. Square-wave tones can be created by sending data to the cassette port and connecting an amplifier to the "Mic" line. Most games use this method for sound effects. An adapter was available for using Atari joysticks.
Peripherals
User data was stored on cassette tapes. Radio Shack included the CTR-41 cassette recorder with the US$599 package. Leininger said the format was similar to one developed by Hal Chamberlin. Tandy chose not to use the Tarbell Cassette Interface because it was much more expensive, Leninger said.
The software-based cassette interface was slow and unreliable. Green called it "crummy" and said it frustrated users. The first issue of 80 Micro had three articles about improving cassette performance. The interface was sensitive to audio volume, and the computer gave only a simple signal to show if the correct volume was set. A blinking character on the screen showed this during data loading. To find the right volume, users started the load, adjusted the volume until the TRS-80 picked up the data, then stopped the load to rewind the tape and restart it. Users were told to save multiple copies of software files, especially if using audio tapes instead of certified data tapes. Automatic gain control or indicator circuits could be built to improve loading. The owner’s manual included complete circuit diagrams for the machine and peripheral interfaces, with notes on how to operate them.
An alternative to using tapes was data transmissions from the BBC’s Chip Shop program in the UK, which broadcast software for microcomputers over the radio. A special program was loaded using the tape interface. Then the radio broadcast was connected to the cassette interface. Tandy later replaced the CTR-41 with the CTR-80, which had built-in AGC circuitry (and no volume control). This improved performance, but tape operation remained unreliable.
TRS-80 Model I computers with Level I BASIC read and wrote tapes at 250 baud (about 30 bytes per second). Level II BASIC doubled this to 500 baud (about 60 bytes per second). Some programmers wrote machine-language programs that increased the speed to 2,000 bits per second without losing reliability. With the Model III and better cassette interface electronics, the standard speed increased to 1,500 baud, which worked reliably on most tape recorders.
To load and store data from tape, the CPU created sound by switching the output voltage between three states, forming a simple sine wave audio signal.
The first version of the Model I had a hardware issue that made loading programs from cassette recorders difficult. Tandy offered a small board to fix the problem, installed at a service center. Later models had modified ROMs to correct the issue.
Only the Model I used an Expansion Interface; later models had all components integrated into the same housing.
The TRS-80 did not use the S-100 bus like other early 8080 and Z80-based computers. Leininger said its I/O could adapt to S-100 or other buses. Instead, Tandy provided a proprietary Expansion Interface (E/I) box that fit under the video monitor and served as the computer’s base. Standard features of the E/I included a floppy disk controller, a Centronics parallel port for a printer, and an added cassette connector. Optional upgrades included extra RAM (16 or 32 KB) and a daughterboard with an RS-232 port. A 40-conductor expansion connector allowed external peripherals like hard disk drives, voice synthesizers, or VOXBOX voice recognition units. Leininger predicted in 1977 that Radio Shack or another company would release an S-100-compatible expansion interface.
Originally, printing with the Model I required the Expansion Interface. Later, Tandy made an alternative parallel printer interface available.
The Model I Expansion Interface was the most problematic part of the TRS-80 Model I system. It went through several revisions. The E/I connected to the CPU/keyboard with a 6-inch unshielded ribbon cable, which was vulnerable to RF interference. Its card edge connector tended to oxidize due to base metal contacts, requiring periodic cleaning with a pencil eraser to avoid spontaneous reboots. This contributed to its nickname, "Trash-80." Aftermarket gold-plated connectors fixed this permanently. Software developers also created a recovery method used in many commercial programs. They used an "asterisk parameter," where an asterisk (star) was typed after the program name when running from the TRSDOS Ready prompt. If a program crashed or rebooted unexpectedly, users could recover data by entering the program name with an asterisk. For example, a VisiCalc user could type "V + C + SPACE + ✶" at the TRSDOS Ready prompt to restore the previous session.
The power button on the E/I was recessed to prevent accidental use. A pencil eraser or similar object was needed to press it. The E/I had no power LED, making it hard to tell if it was running.
The expansion unit required a second power supply, identical to the base unit’s. Both supplies fit into an interior recess.
Users were instructed to power on and off peripherals in a specific order to avoid data corruption or hardware damage. Manuals said to turn on the monitor first, then peripherals attached to the E/I (powering on the last drive first if multiple disk drives were used), then the E/I, and finally the computer. When powering down, the computer was turned off first, followed by the monitor, E/I, and peripherals. Users were also told to remove all disks from drives during power changes or leave the drive door open to disengage the read/write head. This was because a magnetic pulse from the read/write head could corrupt data. This was a common issue with early floppy drives.
The E/I displayed a screen full of random characters on startup. If no bootable system disk was in Drive 0, it would freeze until the user pressed RESET on the computer or Break + Reset to enter BASIC. To avoid disk corruption, users were advised to power up with empty disk drives, insert a system disk, and press RESET.
Software
Three versions of the BASIC programming language were created for the Model I computer. Level I BASIC uses 4 KB of ROM memory, and Level II BASIC uses 12 KB of ROM memory. Level I BASIC works with single precision numbers and has fewer commands. Level II BASIC supports double precision numbers and includes more commands. When a disk system was added, Level II BASIC could load Disk BASIC, which allows using a disk drive.
Level I BASIC was based on a program called Tiny BASIC, with extra features added by Radio Shack. David A. Lien helped choose which commands to include or remove and wrote the Level I BASIC manual. The manual used text and cartoons to teach programming. Lien said the manual was written for people who had no computer experience and wanted to make learning fun. Reviewers praised the manual’s quality. Level I BASIC has only two string variables (A$ and B$), 26 numeric variables (A–Z), and one array (A()). The code for functions like SIN(), COS(), and TAN() is not stored in ROM but is printed in the manual. Error messages include "WHAT?" for syntax errors, "HOW?" for math errors like dividing by zero, and "SORRY" for memory errors.
Level I BASIC is not tokenized, meaning words are stored as they are written. To save space in 4 KB of memory, users can use short forms of commands. For example, typing "P." instead of "PRINT" saves memory.
Level II BASIC was introduced in mid-1978 and was licensed from Microsoft. It requires an expansion bus and disk drives to work. Radio Shack planned for Level I BASIC to be a temporary solution until Level II was ready. The first Model I brochure in 1978 said Level II BASIC was "coming soon." Level II BASIC is a shorter version of the 16 KB Extended BASIC because the Model I has only 12 KB of ROM. Bill Gates said Level II BASIC was between 8K BASIC and Extended BASIC. It included double precision variables and the PRINT USING statement but left out some features like user-defined functions. Development took about four weeks. The Level II manual is more technical than the Level I manual. Level I BASIC machines could be upgraded to Level II by replacing the ROM, which cost $199. Programs saved on cassette tapes needed to be converted to Level II BASIC before use. A tool for this was included with Level II ROMs.
Disk BASIC allows using a disk drive and adds features like sorting and editing in some systems. Level II BASIC keeps some keywords for Disk BASIC, causing a " ?L3 ERROR " message in some cases.
Microsoft also made a version called Level III BASIC, which added more features from the full 16 KB BASIC and included TRS-80-specific improvements. Many Level III BASIC features later appeared in the Model III’s Level II BASIC and Disk BASIC.
Level I BASIC remained available on the Model I in 4K or 16K versions even after Level II was introduced.
Radio Shack created a tool called the Series I Assembler Editor for writing and editing programs. A modification allowed it to work with the Model 4’s TRSDOS Version 6. Radio Shack also made a program called Tiny Pascal.
Microsoft provided Fortran, COBOL, and BASCOM BASIC compilers through Radio Shack.
In 1982, Scientific Time Sharing Corporation released APL*PLUS/80 for the TRS-80 Model III.
The TRS-80 came with games like Blackjack and backgammon. At first, Radio Shack offered four programs on cassette tapes for payroll, finance, and education. However, many of their programs were poorly made. A 1980 review called a text adventure game "another example of Radio Shack’s inability to meet consumer needs." The review also said the instructions seemed to assume the reader was a child or someone with limited understanding.
By 1982, over 2,000 Radio Shack stores sold third-party software and hardware. However, over 4,300 company-owned stores were not allowed to sell or even mention products not sold by Radio Shack. A writer said Radio Shack avoided advertising the large number of available programs because they wanted to keep customers from discovering better options. Broderbund, a company started in 1980, initially made TRS-80 software but later said the TRS-80 had a poor market because distribution was limited.
Charles Tandy wanted to support outside developers, but after his death, a committee took over the company and avoided helping outside developers. This led to fewer software options. An author wrote in 1979 that Radio Shack hid important information about the TRS-80, making it hard for hobbyists to use the computer fully. The first technical book about TRSDOS for the Model I was published after the computer was no longer made.
By 1982, Radio Shack admitted it should have encouraged third-party developers, like Apple did with VisiCalc. However, many small businesses and governments still used the TRS-80 to create custom programs for data processing.
Reception
Dan Fylstra, one of the earliest owners, wrote in Byte magazine in April 1978 that the TRS-80, as an "appliance" computer, brought personal computers closer to the average customer. He said it was suitable for home and small business use and noted that it was not the only option for people wanting a personal computer, but it was a strong competitor. Jerry Pournelle wrote in 1980 that the basic TRS-80 offered a lot of value for its price. He pointed out problems with the quality of Tandy’s software and the high cost of extra parts, but mentioned that with the Omikron board, a customer could buy a computer compatible with TRS-80 and CP/M software for less than $5000 without assembling any kits.
Three years later, Pournelle was more critical. In May 1983, he wrote, "As to our TRS-80 Model I, we trashed that sucker long ago. It was always unreliable, and repeated visits to the local Radio Shack store did not help. The problem was that Tandy took shortcuts." In July 1983, Pournelle wrote:
Compatible successors
Tandy replaced the Model I with the broadly compatible Model III in 1980. (The TRS-80 Model II is an entirely different and incompatible design).
Tandy released the TRS-80 Model III on July 26, 1980. The Model III improved upon the Model I with features such as built-in lowercase letters, a better keyboard with repeating keys, an enhanced character set, a real-time clock, a 1500-baud cassette interface, a faster (2.03 MHz) Z80 processor, and an all-in-one design that used fewer cables. A Model III with two floppy drives needed only one electrical outlet, while a two-drive Model I required five outlets. The Model III avoided the complicated power on/off sequence of the Model I. Soon after its release, Model I production stopped because it did not meet new FCC rules about electromagnetic interference, which took effect on January 1, 1981.
Tandy separated the high-end Model II and Model III, calling the Model II "an administrative system, good for tasks like word processing, data management, and VisiCalc operations" and suitable for small businesses. The cheapest Model III version came with 4 KB of RAM and cassette storage. The computer’s CPU board had three banks of sockets (8 sockets per bank) that used type 4116 DRAMs, allowing memory sizes of 16 KB, 32 KB, or 48 KB. Computers with 32 KB or 48 KB RAM could be upgraded with floppy disk drives. The Model III had space for two full-height drives inside its case. Tandy/Radio Shack’s drives were single-sided, 40-track, double-density (MFM encoding) for 180K of storage. Third-party suppliers offered double-sided and 80-track drives, but these required changes to the TRSDOS driver code or the use of a different third-party DOS. Adding floppy drives also required upgrading the computer’s power supply. The Model III did not have an internal cooling fan; it used passive convection cooling (unless many power-hungry expansions, like a hard disk drive or graphics board, were installed).
Tandy claimed the Model III was compatible with 80% of Model I software. Many software publishers provided patches to allow Model I programs to run on the Model III. Marketing director Ed Juge explained that designers considered changing the Model I’s 64-column by 16-row video screen layout but decided compatibility was most important.
The Model III’s memory map and system architecture were mostly the same as the Model I’s, but the disk drives and printer port were moved from memory mapped to port I/O. This meant Model I software that directly controlled the disk or printed to the printer (like Model I DOS, VisiCalc, or Scripsit) would not work on the Model III. Under TRSDOS 1.3, Model I disks could be read on the Model III, but not the other way around. The optional LDOS OS (by Logical Systems Inc.) used a common disk format for both Model I and Model III versions.
Customers and developers reported bugs in the Model III’s Microsoft BASIC interpreter and TRSDOS. Tandy/Radio Shack (and TRS-80 magazines like 80 Micro) regularly published software patches to fix these issues and allow users to customize software.
Differences between the WD1771 and WD1791 floppy controllers caused problems reading Model I disks on the Model III. The Model I’s double-density upgrade included both chips, while the Model III had only the WD1791. The WD1771 supports four data markers, while the WD1791 supports only two, and some Model I TRSDOS versions used them. These markers were also used in copy protection schemes. Software was available to read Model I disks on the Model III. The WD1791 supported the 500-bit/s bitrate for high-density floppy drives, but the controller could not use them without major changes.
TRSDOS for the Model III was developed in-house by Radio Shack instead of being outsourced like the Model I’s DOS. None of the Model I DOS code was reused, and the Model III DOS was rewritten from scratch, creating some compatibility issues because the Model III DOS’s API was not identical to the Model I’s. This was partly to avoid legal disputes with Randy Cook over code ownership and because Radio Shack planned features like 80-column text support for the Model III that were not included. Early versions, 1.1 and 1.2, were replaced by version 1.3 in 1981, which became the standard Model III OS. TRSDOS 1.3 was not format compatible with 1.1 and 1.2; a utility called XFERSYS converted older disks to TRSDOS 1.3 format (this change was permanent, and the disks could not be read by older DOS versions).
The Model III’s boot screen was improved from the Model I. Instead of showing random characters on startup, it displayed a "Diskette?" prompt if a bootable floppy was not detected. Users could insert a disk and press any key to boot. Holding the Break key during startup or reset booted the computer into ROM-based Level II BASIC. This feature was useful if the disk drive failed or no boot disk was available, allowing users to run diagnostics using BASIC’s PEEK and POKE commands. This also worked for the Model 4 but not the 4P.
While Model I DOS was flexible, Model III DOS was hard-coded to support only 180K single-sided floppies, a problem fixed by third-party DOS options. When Radio Shack introduced hard disks for the TRS-80 line in 1982, the company licensed LDOS instead of modifying Model III DOS for hard disk support.
Level II BASIC on the Model III was 16 KB in size and included a few