January 3, 1998
Anthony J. Wood
Over the Christmas holidays I spent my time transferring all my old TRS-80 files to my PC.† I only had 34 single density disks, of which I wanted to transfer 24.† This took me about a week, and I think I must of run into every problem possible.† In the hope that I can save someone some time, this document explains the issues and solutions involved.
My saga actually started about a year ago, last Thanksgiving.† It was then I discovered all of the cool TRS-80 emulators available on the Net and decided to dig out my TRS-80 for fun.† I learned to program on my Mod I and wrote lots of software: games (mostly adventures), an adventure creation language, a smart terminal, and other miscellaneous stuff.† I wanted to check these out again.
So I dug out my TRS-80 and proceeded to set it up.† It was 13 years since I'd used my TRS-80 and there were lots of things I didn't remember.† It was a good thing I had my manuals!† I've noted a few key points in following sections.
I'd just figured out some of the basics (like that with TRS-DOS you typed "DIR :1" to see drive 1, and that I have different floppies with different numbers of tracks on them), when my drive 1 quit working.† Being an EE by training I decided to fix it myself -- this was turning into quite an Adventure!
Well, it took me a year to get around to looking at the drive (Thanksgiving '97), and 45 minutes to fix. The 7812 12Volt regulator needed replacing.
Next I decided to backup some of my key disks.† I was really worried my disks had faded away.† It turns out every disk was fine, except for a few that had read parity errors, but I think those errors had been on the disks since way back when.† So now I wondered if you could even buy 5.25" low density disks any more (they are not the same as those 1.2 MB PC disks).† Well, our local Fry's Electronics had them for $9 a box (they are called DS, DD 360K disks).
One of my disks had the source code for several of my adventures on it.† Unfortunately, in 1983 I gave it to a friend of mine to print out some of the files for me.† I didn't back it up, and he somehow managed to accidentally erase the directory track.† I've known this for a long time, and decided to have a go at recovering the data.† Using superutility2 and a copy of "TRS-80 Disk and Other Mysteries" I looked at every sector and rebuilt the directory track.† This took about a day and a half; things were getting fun now!
So everything's going good, and I decide it's time to start transferring files to my PC.† One of the emulators will actually read TRS-80 Disks if they are double density, but all mine are single density.† So the RS232C port with a null modem was in order.† Well, this turned out to be several days of hell.† Getting the physical connection was easy enough, but it turns out my XMODEM program on the TRS-80 used a single byte checksum, but most PC XMODEM packages use a two byte CRC.† See the notes below on how to solve this problem and recommendation on what communications packages to use.
After I get the TRS-80 and PC xmodem'ing back and forth, my drive 1 breaks again!† This time it's more complicated than the power supply and I suspect the stepping motor.† But I don't have the tools or parts to fix it.†† There's a place on the net that claim's to fix old drives like the Tandon TM100, but I haven't tried them yet (http://www.mfarris.com/).† My solution was to hook up a modern 1.2mb/360K 5.25" floppy to the TRS-80.† See below for instructions on how to do this.
With my last major problem solved, I finished transferring my files, and soon I'll be boxing up my model I again.† All of the files from my 24 transferred floppies take up 1.4 MB of space, and will fit on one 3.5" floppy!
Be sure and check out the adventures I wrote!† I'm sending them to Ira GoldKlang--hopefully they will be available on his TRS-80 Model I Download Page: http://w3.infonorth.com/~ira/trs80-1.htm.†† They are called Germany 1942, Ruins at Times Edge, and Space Hunt.†† I'm also uploading my MicroAdventure Development language and a few other programs.
∑ TRS-80 Model I with Level II Basic
∑ Expansion Interface
∑ 48K of RAM
∑ 1 Radio Shack 35 track drive as drive 0 (Cat 26-1160)
∑ 1 Third-party 40 track drive as drive 1 (Tandon TM100-1A)
My PC is a Pentium MMX 200 Clone.
Here's some notes that I couldn't find answers to in my manual.
∑ All connectors that plug into the TRS-80 or Expansion interface plug in such that the cable points down.
∑ My drives appear to both have the terminating resistors in them, and work okay as either drive 0 or 1.
Here's some facts I'm sure I used to know inside and out, and now do again, but took me a while to remember and a few manual look-ups.
∑ TRS-DOS 2.3 only supports 35 tacks per disk
∑ NewDos/80 Supports up to 80 track drives.† The "PDRIVE" command controls the number of tracks.
∑ When booting with NewDos/80, you can determine the default number of tracks for each drive by typing "PDRIVE,0".† TC is Track Count.
∑ On my system, my Radio Shack Drive 0 will only format up to 35 tracks, but my Tandon drive 1 will format up to 43 tracks.† Of course when it gets to the last track, it goes "BANG!".† But due to reasons only fathomable to a 17 year old who thought $5 was to much to spend on a diskette, most of mine are formated at 43 tracks.
∑ I used SuperUtility2 to discover how many tracks a disk was format as; there may be an easier way.
∑ "PDRIVE,0,1,TC=43" will set the boot drive to default to 43 tracks when using drive 1.
∑ Use "PROT" to change a disk's name or date.† E.G., "PROT,1,NAME=NewName" will change the name of the disk in drive 1.
∑ Many programs use the Clear key as control.† E.G., Clear-K will bring up the main menu in Electric Pencil.
∑ ST80III uses the Up-Arrow as control.† E.G, Up-Arrow-H will bring up the help page.
I used a null modem to connect my TRS-80 RS232 port to COM2 on my PC.† A null modem is just a cable that swaps the RX and TX pins so that RX on one side goes to TX on the other, and vice versa.
There were lots of problems here.† One is that many programs (especially on the PC, but also on the TRS-80) check CD ("Carrier Detect") which is an RS232c signal used by modems.†† Many Comm programs refuse to run if they don't detect an active CD, which is an extremely stupid thing to do, since they can't be used with direct connections.
The biggest problem for me was that most PC XMODEM packages used CRC checking, whereas the TRS-80 only got this in its waning days.† Another issue is that there appears to be a major bug in the TRS-80 version of Kermit.
Here's what I recommend you use:
1. On the TRS-80 side, use XT13C/CMD.† XTERM supports CRC XMODEM and is available on the Net, for example from Ira's site.
2. On the PC use any Xmodem package.† I used ProComm Plus 2.0 (an older version).
3. I used 4800 baud, 8 data bits, 1 stop bit, and no parity.
Initially I only had MODEM 1.0 on my TRS-80; I had to find a PC XMODEM program that supports checksum mode.† This was a lot harder than I imagined.† For example, ProComm doesn't support it.† I found a few that claimed to support checksum mode, but I couldn't get them to work.† In the end, I used wxterm 3.0.† wxterm is available from several sites on the net, try searching at www.shareware.com, www.download.com, www.cdrom.com.† Note that I tried other versions of wxterm (including larger and smaller versions) that did not work.
Wxterm first tries to use "Windowed Xmodem".† When this doesn't work it trys "CRC Xmodem", and when this doesn't work it tries Checksum Xmodem.†† With all these time-outs, itís a slow process to send a file.† And unfortunately I couldn't get wxmodem to work with my TRS-80 MODEM 1.0 program.†† I could only get it work in the following conditions:
1. Use 300 Baud
2. Use Compac on the TRS-80.† Unfortunately Compac is a program I wrote, and you probably don't have it on your TRS-80 (It is available on the Net now).
3. I haven't tried ST80III or other programs that support XMODEM, which is what you will want to do.
I used wxterm to transfer both XT13C/CMD and KERMIT/CMD to my TRS-80.† Kermit seemed optimal, since it supported 9600 baud and it will create files on my PC (when I use ProComm) without doing anything on the PC side.† Unfortunately, every binary file I sent from the TRS-80 to the PC using Kermit had bit 7 set to 0, and I can't figure out how to fix this.† I tried the usual things (SET FILE-MODE BINARY, lower baud rates, etc.)† I could use Kermit to send binary files from the PC to the TRS-80.† I suspect a bug in the TRS-80 Kermit.† I tried two PC Kermit programs.† If you know what's wrong here, please let me know.
I also considered using Jeff Vavasour's "Transmit" program.† This program comes with the registered version of his TRS-80 emulator, and will transmit an entire disk one sector at a time in ASCII HEX format.† There are three problems here:† (1) it needs GWBasic on the PC, which hasn't been shipped with MSDOS for a while.† I found a copy on the net (search for gwbasic.exe on yahoo, infoseek, etc.).† The second problem is that it doesn't send any kind of checksum to verify the integrity of the data sent, and it turns the floppy on and off for each sector (400 on a typical disk).† For these reasons I decided not to use it.
You could also try using BinHex and the ASCII buffer capture method to transfer from the PC to the TRS-80.† I didn't do this.
IBM 5.25" drives are similar to the TRS-80 Drives.† In fact, the original IBM PC used the Tandon TM100 -- the same drive I bought for my TRS-80 mail order way back when.†† Either from the beginning or very soon (I donít know which), the IBM PC standard disk format was DS,DD 360K.† These are 40 track disks, two sided, double density.† The standard PC disk then changed to 1.2MB 5.25" (80 tracks per side, and a† high density mode).† Then came the 3.5" floppies.
The interface to the 5.25" drives hasn't changed much since the old days.† The physical interface is unchanged -- A 34-pin edge connector is used on the Model I drives and on modern 5.25" drives.†† Some of the signals have changed a little.† For example, two pins that used to be un-used are now HI/LO Density select and Head Select.
I bought a TEAC 5.25" 1.2/360 drive, FD55 GFR-7XXX series.† To connect to the TRS-80 I:
∑ I used an off the shelf PC power supply to power the drive.
∑ I plugged the TRS-80 FDD Ribbon cable into the drive directly as Drive 1.
∑ The Default jumper settings for this drive and most PC drives allow it to work as Drive 1 on a TRS-80.† If you want it to be drive 0, you will have to change some settings (not discussed here).
∑ I added two jumper blocks on the FDD: The "I" jumper tells the drive to slow to 300 RPM in low density mode, and the "LG" jumper tells the drive to use low density mode when signal #2 (Density select) is high or not connected.
∑ The Side Select defaults to the correct side (side 0).
∑ In order to read older 40 track disk, you have to use a dos like NewDos/80 that can tell the drive to step twice for each track.† With NewDos/80 you need to set the "L" flag on the "TI" parameters.† On my system, PDRIVE,0,1,TI="AL" did the trick.† I also set "TSR=0" to make the drive step faster, but this is optional.
Since the new drive is 80 tracks, you can also format it as 80 tracks if you want.† The drive will read 40 track disks fine (if you set the 'L' thing to double step), but disks it wrote in 40 track mode weren't readable by my 35 track drive 0.
NOTE: Although I believe this information to be correct, I MAKE NO GUARANTEES ABOUT THE ACURACY OF THIS INFORMATION.† ANY USE YOU MAKE OF IT IS AT YOUR OWN RISK.
Tandon TM100 Disk info and Connector Pin outs: www.doc.ic.ac.uk/~ih/doc/stepper/tm100/index.html
Current Drive Pin Outs: http://theref.c3d.rl.af.mil/tech_talk/tech_talk02.html
Teac Jumper Settings:† www.teac.com, use fax back.
TRS-80 I software: http://w3.infonorth.com/~ira/trs80-1.htm
TRS-80 software and some docs (including electric pencil): www.omen.com.au/Files/hdisk/trs-80.html
Old Floppy's and Repair: http://www.mfarris.com/
Anthony J. Wood
Palo Alto, CA