TRSDOS for the Model III
Cover of the Model III TRSDOS manual
Unlike Model I TRSDOS, which was written under contract by Randy Cook, Model III TRSDOS was developed in-house by Radio Shack. It was at least partially based on Model II TRSDOS, and shares many of the same commands. Here is a description from a 1981 Radio Shack catalog:
The TRSDOS operating system includes the software and input/output functions needed to operate the TRS-80 Disk System. TRSDOS allows vast storage space, expanded file manipulations, and much quicker access time than you get with tape storage.
Although somewhat slow, Model III TRSDOS is reliable and (at least in its last versions) bug-free. It includes a Disk BASIC which is compatible with Model I Disk BASIC, and can run almost all the same programs.
Model III TRSDOS doesn’t have the extensible design of Model I TRSDOS (which was co-opted by other third-party TRS-80 operating systems), but it does contain the library commands that most users wanted to use. It also contains a very useful HELP command, which few other TRS-80 operating systems had.
One nice feature of Model III TRSDOS is file dating, which was lacking in Model I TRSDOS. One strange quirk was that the month and year of the file date are stored, but not the day.1
The original Model III TRSDOS was released with the Model III, which was introduced on July 30, 1980. This was followed by several major releases in quick succession with the final major update, TRSDOS 1.3 (identified by a May 1, 1981 date2), released in early 1981. TRSDOS 1.3 was a significant release that incompatibly changed the disk format from TRSDOS 1.2.
TRSDOS 1.3 had a number of minor updates (including the infamous “Rummy Buzzard” release) until its final update in 1984. The name TRSDOS 1.3 became synonymous with Model III TRSDOS.
Radio Shack developed one more version of Model III TRSDOS, which would have been known as TRSDOS 1.4, but it was never completed or released.
Model III TRSDOS is largely, but not entirely, compatible with Model I TRSDOS. It has many of the same commands and the Disk BASIC is almost entirely compatible. Unlike Model I TRSDOS, which uses a single-density floppy disk format, Model III TRSDOS uses a double-density format. It also formats disks to 40 tracks instead of 35. This means that a Model III TRSDOS disk can store 180K instead of the 87.5K of a Model I TRSDOS disk.
One compatibility problem is that there is no way for Model III TRSDOS to directly read from or write to a Model I TRSDOS disk.3 The only way to transfer files from a Model I TRSDOS disk is to use the Model III TRSDOS CONVERT utility.
Another oddity is that Model III TRSDOS 1.3 wasn’t compatible with Model III TRSDOS 1.1 and 1.2 disks. These disks needed to be destructively converted using the XFERSYS utility.
Model III TRSDOS supports most of the documented function calls of Model I TRSDOS, but not all. Many of the most important calls are at different locations than on the Model I. This was especially frustrating for software authors at the time because there didn’t seem to be much reason for the changes. It made it difficult to write complicated machine language programs that would work on both the Model I and Model III.4 On the other hand, most BASIC programs worked without alteration.
Many people wondered why Radio Shack created a new version of TRSDOS (with the accompanying incompatibilities) instead of just modifying the existing Model I TRSDOS. I have seen three reasons given:
- Both Radio Shack and Randy Cook claimed ownership to the Model I TRSDOS code. Creating a brand new version, rather than using the disputed code, avoided the ownership problems.
- The original plans for the Model III involved more ambitious changes to the hardware, which would have required more changes to the operating system. Bill Gates mentioned in a 1981 interview that the Model III had an 80-column screen in its original design, which Radio Shack later abandoned for the sake of compatibility.
- Radio Shack didn’t initially appreciate how significant these changes were. The Model III press release stated that the Model III was “compatible with most TRS-80 Model I programs.” This was true for BASIC programs but less so for machine language programs.
My guess would be that all three were factors. Radio Shack didn’t make the same mistake when they introduced the TRS-80 Model 4. The Model 4 was 100% compatible with all Model III programs.
Unlike the Model I TRSDOS disk format, which required only minor alterations to support hard drives, the Model III TRSDOS disk format was tightly tied to single-sided, 40 track floppy disks. There were third-party patches to support 80 track drives, and even some to treat the second side of a floppy as another drive. But it’s hard to see how Model III TRSDOS could have been expanded to support hard drives. Radio Shack obviously felt the same way; when they introduced their Model I/III hard drive packages in 1982, they used LDOS from Logical Systems, not TRSDOS, as their official hard disk operating system.
Model III TRSDOS had a built-in PATCH command, and almost everyone who used TRSDOS ran a heavily patched version. Radio Shack published a number of official patches in their TRS-80 Microcomputer News newsletter.
But many of the patches were created outside of Radio Shack. Two of the biggest collections were by Andy Levinson in his articles “Patch Works” and “Patch Works II: The Sequel” published in the January and August 1985 issues of 80 Micro. Another large collection was by David Goben in his “Visit With David Goben” column in Computer News 80. Many of these patches drastically changed TRSDOS by speeding it up and altering the behavior of commands.
The most extensive TRSDOS patches were included in the SYSTEM 1.5 package written by Gary Campbell and sold through GRL Software of Kelowna, British Columbia, Canada. SYSTEM 1.5 maintained complete compatibility with TRSDOS, while improving performance, adding new commands, and supporting the extra features of the TRS-80 Model 4.
This isn’t just a quirk of the DIR command as some have stated. The day portion of the date really isn’t stored in the directory. ↩︎
Radio Shack used TRSDOS dates only as identifiers. This didn’t mean that TRSDOS 1.3 was released on May 1, 1981. ↩︎
This was caused by the fact that the Model III floppy disk controller (due to a design mistake by Western Digital) couldn’t read the data address mark Model I TRSDOS used for directory sectors. ↩︎
Radio Shack allowed Model III owners to exchange many of their Model I programs for Model III versions (when they existed). In later years, it was a rare program that didn’t have both Model I and Model III versions. Many programs would automatically detect if they were running on a Model I or Model III and change their function calls accordingly. ↩︎