Converting TRS-80 Disks to Virtual (and Back Again if you need it)
Modern hardware and operating systems are making it more difficult to convert actual TRS-80 disks into an emulator (DMK or DSK) format.
- No ability to read single density disks whatsoever
- Current operating systems do not allow for direct hardware addressing
- No 5.25″ drive support in the BIOS
- Degrading media (See Warning below)
Send them to me:
Disks which are 35+ year old may have no more than 1 good read on them. If the disks were exposed to any level of humidity over the past 35+ years, odds are that the mylar will separate on the first read. While I cannot guarantee results, I can guarantee that if you try to read them first, I won’t be able to. Please see this FAQ.
Click to Enlarge
Before putting a disk in your drive, make sure to inspect it. Improperly stored disks will degrade, and will shred in your drive. Inserting one of these disks in your drive will not only produce a disheartening noise, but will likely coat your read/write head with oxide, requiring you to clean the heads. Here are some pictures I took of some of these improperly stored or otherwise decayed disks.
Modern Day Solutions:
There are a number of third party products which can be used, to varying degrees of success, to read and TRS-80 disks.
- Catweasel (PCI Card inside a PC) (Out of production)
- FreHD Controller installed in a real TRS-80. This will use the TRS-80 to treat images on a SD card as a virtual drive which can be backed up onto a real TRS-80 drive.
- Gotek/Lotharek installed in a real TRS-80. This will also use the TRS-80 to treat images on a SD card as a virtual drive which can be backed up onto a real TRS-80 drive. You will need apppropriate firmware:
- FlashFloppy Firmware – Free and Open Source: https://github.com/keirf/FlashFloppy/wiki.
- HxCDrive Emulator Firmware – Can be found http://hxc2001.com/download/floppy_drive_emulator/index.html.
I am not a fan of Flux readers for rescuing old disks. If you just want to read and write disks for a TRS-80 you have right now, then they are a perfectly fine solution. But for archiving a disk of unknown quality, I can only recommend the Applesauce.
Please understand, I have read tens of thousands of disks as of this point. I have seen which disk makes are inherently bad (Wabash and CDC top that list), which parts of the world have disks the least likely to be readable (Brazil on top), and all kinds of errors and issues (spikes/erased tracks due to opening the TRS-80 disk drive at the wrong time, extraneous data due to not bulk erasing disks, etc.)
With all this experience, I would say that there is one rule above all else in reading old disks … You May Only Get One Read. Poorly made or stored disks are very likely to shred on their first read – the oxide is no longer fully bonded and the pressure of the disk head (and any dirt on that head) will tear up the oxide. If you want to get a good read on a diskette, your first read needs to be spot on.
And this is where current Flux Readers, other than the Applesauce, fail in my opinion.
If you are going to try to maximize your first (and possibly only) read, you need to have on-the-fly CRC checking. If a track CRC tests good, then move on (no need to keep reading the same track, which will add wear). If the track CRC tests bad, then re-read the track while you can … and keep rereading until you get a good read, or you know you won’t.
Having that level of control on the initial read makes it infintely more likely to get a good read. Only the Applesauce provides this flexibility.
NOTE: The Catweasel is free of such issues as it has software which will read and write directly to and from DMK but it is not currently in production:
Utilizes special hardware called a Catweasel card to read all formats of TRS-80 disks on a PC. Also includes a utility of general use for converting DMK format disks to DSK format.
Modern Day Solutions – AppleSauce
What Is It:
The Applesauce Floppy Drive Controller is a stand-alone box which acts as a middleman in reading TRS-80 disks. It can read hard sectored disks as well as Apple II, Apple III, Apple Lisa, Apple Macintosh, Atari 8-Bit, Atari ST, Commodore 1541, Commodore Amiga, Heathkit/Zenith, IBM PC, North Star, TI-99/4, and Victor 9000.
On the hardware side, there are 3 drive connections on the unit: a 20-pin Apple Disk II-compatible, a DB-19 for Apple compatible 5.25″ and 3.5″ drives, and a Shugart-compatible 34-pin port for 5.25″ and 3.5″ PC drives. At the other end is a USB A connector for plugging into your computer. All of the popular drives used for imaging should be good to go: TEAC FD-55B (5.25 360K), TEAD FD-55GFR (5.25 1.2M), Panasonic JU-475 (5.25 1.2M), Sony MPF920 (3.5 1.44M), etc. Applesauce will test the drive jumper settings when you set up a profile for your drive.
The Applesauce unit provides +12V, +5V, and -12V power for the floppy drive so that no separate power supply is needed and it watches the power consumption of the drive (checks 20,000 times per second) to detect electrical shorts or other unusual conditions and can shut off the power to the drive within milliseconds in order to minimize damage to your equipment.
On the software side, the Applesauce Client Software controls the Applesauce hardware and is also a standalone disk image analysis/repair/conversion tool. The software currently only supports macOS 10.11 or better. Runs natively on 64-bit Intel and M1 Macintosh computers. You can download the software from the Applesauce Software Download Page.
One of the things the client can do is convert between disk formats, such as A2R, KryoFlux, SCP, DiscFerret, etc to DMK. The HxC conversion program does NOT do this reliably, so this software would be recommended even if you do not own the Applesauce hardware.
The Applesauce software, which currently runs only on a Mac, boasts the ability to validate the track/sector structure of the diskette it is reading and, if an error is found, will retry the bad sectors. Unlike every other reader (as of this writing), the Applesauce will even allow you to pause your read, eject the diskette, clean the drive head, and resume where it left off; which is wonderful for reading a disk which is shredding.
Another interesting (and unique) function of the Applesauce software, is that if it does find a bad sector, it will try to determine what program is on that sector, so you can decide if you really want to keep trying that sector or not.
These functions make Applesauce the best tool for imaging.
What if I have a PC?
You can run the Applesauce Client Software in VMWare once you have run VMware Unlocker; a program which patches VMWare to permit the installation of Mac operating systems.
- Buy, Download, and/or Install
- VMwareUnlocker v3.0.4 or later. I’m not including links because they will likely be bad.
- An ISO of macOS v10.12. I’m not including links because they will likely be bad.
- VMWare Tools DARWIN. I’m not including links because they will likely be bad.
- Run VMWare
- Choose FILE -> New Virtual Machine
- Choose CUSTOM (advanced) and click NEXT
- Choose Workstation 16.2.x (or whatever you are offered) and click NEXT
- Choose “I WILL INSTALL THE OPERATING SYSTEM LATER” and click NEXT
- Choose the newly added “APPLE MC OS X” and then macOS 11 in the pulldown. Then click NEXT
- Verify you are happy with the name and file location and click NEXT
- Choose 1 processor and 4 cores per processor and click NEXT
- Select a memory size (not less than 4GB) and click NEXT
- Select USE NETWORK ADDRSS TRANSLATION and click NEXT
- Select LSI LOGIC and click NEXT
- Select SATA and click NEXT
- Click CREATE A NEW VIRTUAL DISK and click NEXT
- Choose 80GB and STORE VIRTUAL DISK AS A SINGLE FILE and click NEXT
- Verify you are happy with the name and click NEXT
- Click on CUSTOMIZE HARDWARE
- Click on PROCESSORS on the left and some check boxes will appear on the right. Click all 3 check boxes
- Click on NEW CD/DVD on the left and USE ISO IMAGE FILE on the right. Select the macOS 10.12 image you downloaded.
- Click CLOSE
- Click FINISH
- Right click on mac OS in the library and choose OPEN VM DIRECTORY
- Open the macos 11.vmx file in a text editor
- Add the following and save the file:
smbios.reflectHost = “TRUE”
hw.model = “MacBookPro14,3”
board-id = “Mac-551B86E5744E2388”
smc.version = “0”
- Click POWER ON THIS VIRTUAL MACHINE
- After you answer a few questions you will be told you don’t have enough space
- Go to UTILITIES -> DISK UTILITY
- Select the VMWare Drive and click ERASE and then click ENTER. When that’s done, exit the Disk Utility and you will now see an available hard drive. Pick that drive.
- When its down installing, choose all your options, and then shut down.
- Mount the DARWIN.ISO into the drive.
- Start the VM again.
- Run DARWIN
- Start the VM again.
Modern Day Solutions – GreaseWeazel
A description as to the different GreaseWeazel models can be found at https://github.com/keirf/Greaseweazle/wiki/Greaseweazle-Models.
The current software can be found at https://github.com/keirf/Greaseweazle/wiki/Download-Host-Tools.
A generic command line to read a 40 track single sided disk would be:
gw read ‐‐drive=0 ‐‐tracks=”c=0-39:h=0:step=1″ ‐‐adjust-speed 300rpm ‐‐format raw.250 image.hfe
Pete Cervasio has provided two BASH scripts to make using the GreaseWeazel a bit easier. Symlinks must be set per the instructions in the files
Reading single-density disks (which is what the Model I used; noting that even double density disks tended to have a single density track 0) is MUCH more complicated. “Modern” computers do not have the crystal needed to generate a single density clock, so they simply cannot read single density. Even those that can will have trouble with TRSDOS 2.x (DAM problem) or NEWDOS/80 v1.x (DAM problem) or NEWDOS/80 v2.0 (Inner Track Problem).
To use a really old PC, you need to be operating in either pure MSDOS or Windows ’98 and earlier as those are the only operating systems that allow you to access the hardware directly. If you are going the Windows ’98 or earlier route, you should set your system to boot straight into DOS instead of going into the GUI. To do this click START -> SHUTDOWN -> SHUTDOWN IN MSDOS. Then once in DOS type CD \ to get to the root directory. Then enter attrib msdos.sys -r -a -s -h. Then enter edit msdos.sys. Then find where it says BOOTGUI=1 and change 1 to 0. Once you do that, the next reboot should go straight to MSDOS.
Once you are set with a PC that boots straight to DOS, the next thing you should do is run Dave Dunfield’s PCTest Utility which will check your floppy drive controller to see how well it will read and write single density and double density disks. You can download that utility here.
- The Adaptec 1522 SCSI controller (ISA, non-bus-mastering, NS8473 Controller) can read/write/format FM (Single Density) floppies, including LDOS-format SD floppies. TRSDOS2.3 directory tracks CANNOT be handled on these because of the DAM.
- It is possible that the Adaptec 1542 SCSI controller (ISA, bus-mastering, NS8473 Controller)
- The Acculogic ISApport SCSI adapters (SMC FDC37C65) will read 360K Double Density but will not read single density on a 1.2MB HD drive.
If you have a PC (with a 5.25″ drive, of course), booting into pure DOS, that can read/write single and double density, then you would use the following programs and/or utilities:
Reading/Writing TRS-80 Disk Media on a PC
If you have a 5.25″ drive hooked up to your IBM PC, the following programs can be used to read TRS-80 disks into the DMK/DSK format. If you want to read Model 1/3/4 disks and have a Catweasel card, use Tim Mann’s CW2DMK utility. If you want to read Model 1/3/4 disks and do not have a Catweasel card, use Matt Read’s READDISK utility. If you want to read COCO disks, use Jeff Vavasour’s RETRIEVE utility.
David Keil’s emulators permit mounting a physical drive attached to a PC as a virtual disk drive inside the emulator. The floppy disk selection screen can be accessed inside the emulator by pressing the F9 key. Once on that screen, for example, if you wanted to backup a TRSDOS image in virtual drive :0 onto a real disk mounted in the PC Drive A: you would simply configure virtual drive :1 inside the emulator to be A:. Going this route has the virtual TRS-80 making the images, so any limitations of the TRS-80 in terms of backing up a disk would apply to this scenario.
Similar to David Keil’s emulators, Matthew Reed’s DOS emulators permit mounting a physical drive attached to a PC as a virtual disk drive inside the emulator. The floppy disk selection screen can be accessed inside the emulator by pressing the F8 key. Once on that screen, for example, if you wanted to backup a TRSDOS image in virtual drive :0 onto a real disk mounted in the PC Drive A: you would simply configure virtual drive :1 inside the emulator to be A:. Going this route has the virtual TRS-80 making the images, so any limitations of the TRS-80 in terms of backing up a disk would apply to this scenario.
Transfer runs on a TRS-80 and will read/write to IBM PC Formatted 5.25″ disks.
The TRS-80 Model 4 Emulator’s virtual disk utilities have been provided free for download in order to allow you to determine whether your PC has the features necessary to read and write TRS-80 floppies directly. The emulator can either access your TRS-80 floppies directly in its floppy drive, or as images copied to your hard drive. Either way, you need to be able to determine whether the PC hardware can read the floppies.
Reading, writing, editing and formatting TRS-80 disks on a PC.
Standalone utility to transfer files from a COCO Diskette to a .DSK image.
READDISK transfers files from a TRS-80 Diskette to an IBM .DSK file without special equipment. This version can also read Tandy 1000 disks.
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.