TRS-80 Emulators for Windows and MS-DOS

Matthew Reed's emulators, utilities, and development tools for TRS-80 Models I/III/4

READDISK for MS-DOS — A Freeware Utility to Convert Real TRS-80 Disks

Most TRS-80 emulators (including my Model I/III/4, Model I/III, and Model 4 emulators) use virtual disk files to emulate real TRS-80 disks. In order to use those emulators effectively, you need some way to easily create virtual disks.

READDISK is a utility program for PC compatibles that reads real TRS-80 disks and converts them into virtual disk files. Obviously, READDISK requires that your PC have the right sized disk drive; in other words, if you want to convert 5¼″ TRS-80 disks, your PC must have a 5¼″ drive installed!

Under most circumstances, READDISK will automatically recognize the format of the TRS-80 disk and will adjust itself to transfer the disk automatically. (The exception is that READDISK cannot automatically determine whether your CP/M disks are double-sided. If they are, you will need to use the /2 command line option described below.) However, there are significant limitations to this type of transfer, most of which are directly related to the limitations of the PC disk controller. Specifically:

Note: READDISK will not write to or alter your TRS-80 disks in any way, but just as a common-sense precaution, place a write-protect tab on any TRS-80 disk before you convert it.

Usage

The simplest way to use READDISK is to use a command line like this:

READDISK A: DISKFILE

Replace “DISKFILE” with the name of the virtual disk file you want to create. (Note that the virtual disk files MUST be created on your hard drive; floppy to floppy transfers are not supported.) Virtual disk files will automatically be given a “.DSK” extension. If the virtual disk file you want to create already exists, you will be asked if you want to overwrite it.

If you're using drive B to transfer TRS-80 disks, then replace the "A:" in the command line with "B:".

READDISK will display a title message, and then it will start converting your TRS-80 disk into a virtual disk file. The process will take a while, but READDISK displays an on-screen status report at all times. If all goes well, READDISK will convert the disk without needing any further intervention from you. It will then display a success message and return you to the DOS prompt.

Errors

If there is a problem, you will be presented with some sort of error message. The most common error message is displayed when READDISK can’t read a sector on the TRS-80 disk, even after repeated attempts:

Retry or Skip (R/S)?

If you press “R” for “Retry”, READDISK will try to read the sector again. If you press “S” for “Skip”, READDISK will mark the sector as unreadable and go on to the next one. Be aware that unreadable sectors can make a disk unusable, so use the “Retry” option as many times as you can. Remember, you only have to successfully read the sector ONCE.

Another error occurs when READDISK can’t determine the format of your TRS-80 disk. READDISK will then display its help screen and suggest that you run READDISK again with the appropriate command line options (described below).

Command Line Options

All command line options should follow the word “READDISK” but precede the drive letter and virtual disk file name. Here are the available options and a description of what they do. Remember, though, that these options need to be used ONLY when READDISK can’t automatically determine the format of your TRS-80 disk, or when you are transferring a double-sided CP/M disk. For most TRS-80 disk transfers, these options are completely unnecessary.

/L Forces an LDOS/DOSPLUS/MULTIDOS transfer
/T Forces a TRSDOS 1.3 transfer
/C Forces a CP/M transfer (also use the /2
option if your CP/M disks are double-sided)
/1 Forces a single-sided transfer
/2 Forces a double-sided transfer
/D:track Specifies the directory track
/N:tracks Specifies the number of tracks to transfer
/8 Read 80 track disks in a 1.2Mb drive
/4 Read 40 track disks in a 1.2Mb drive
/V Create a diagnostic file

As an example, if you are using READDISK to transfer a single-sided, 40-track LDOS disk with the directory on track 20, AND if READDISK can’t determine the format of this disk automatically, you would use a command line like this:

READDISK /1 /N:40 /L /D:20 A: DISKNAME

If you are transferring a double-sided CP/M disk, the appropriate command line would be something like this:

READDISK /2 /C A: DISKNAME

If you are transferring an 80-track DOSPLUS disk, the command line would look something like this (NOTE: you MUST be using a 1.2Mb drive for an 80-track transfer to be successful):

READDISK /N:80 /L /8 A: DISKNAME

Possible Transfer Problems

On some computers, transferring TRS-80 disks with READDISK may be impossible, no matter how many command line options you use. The problem is not READDISK, but the PC disk controller itself. As strange as it may seem, the disk controllers used in TRS-80 computers were more flexible than the disk controllers used in today’s PC’s.

When READDISK tries to read a TRS-80 disk, it must manipulate the PC disk controller at a very low level, making requests that would never be made by MS-DOS or Microsoft Windows. Some PC disk controllers are just not capable of fulfilling these requests; others fulfill them, but not reliably. A good case in point is the sector placed too close to the index hole by TRSDOS 1.3 and NEWDOS/80. TRS-80 disk controllers had no problem with this practice, but PC disk controllers just can’t handle it.

Consider also that many TRS-80 disks (particularly early TRS-80 disks) were written using drives whose heads had drifted out of alignment, or whose rotational speed had drifted outside the tolerance range. Old TRS-80 magazines and newsletters are filled with questions from people who were creating disks in drive zero that could not be read in drive one, or whose drives could not read the factory-perfect master disks from companies such as Logical Systems, MISOSYS, Anitek, or Powersoft. If so many early TRS-80 disks could not be read reliably from system to system (or even between drives in the same system), then it is no surprise that READDISK on a PC can’t read them either.

Since these facts are no comfort to someone whose TRS-80 disks refuse to convert, here are some conversion suggestions:

Note

READDISK is freeware. Remember, however, that READDISK is not public domain software. All copyrights connected with the program and its accompanying document files remain with me (Matthew Reed).

READDISK is an MS-DOS program that will run on an IBM PC compatible computer. Obviously, the PC must have the proper size disk drive. (In other words, to read 5¼″ TRS-80 disks, your PC must have a 5¼″ disk drive.) READDISK will not work under Windows NT, Windows 2000, Windows XP, Windows Vista, Windows 7, or Windows 8.

Please note that not all PC disk controllers are capable of reading TRS-80 disks. This is a limitation of the disk controller, not READDISK. If you have trouble, try running READDISK on other PC’s until you find one that can read your disks. Remember, you only need to read your TRS-80 disks once to convert them to disk images, so be sure to use the “Retry” command heavily.