|Business card from 1981||
My read/write tools for the Catweasel floppy disk controller have moved to their own page.
Tony Duell has written utilities for formatting TRS-80 disks in an Intel Linux PC with a standard PC disk controller and copying .dsk images to them. Right now the utilities work only for standard double-density LDOS5/TRSDOS6/LS-DOS6 formats, 18 sectors/track, 256 bytes/sector, 40 or 80 tracks/side, and 1 or 2 sides. They are handy if you can't run xtrs (perhaps you don't have X on your Linux box) or you haven't gotten around to setting it up.
Full documentation for the Western Digital 1771 and 179x floppy disk controller chips used in TRS-80 Models I/III/4 is now available from David Keil's documentation preservation pages. He has scans of the original data sheets and application notes for the 1771 and 179x.
Earlier, I found partial documentation for the Western Digital 1791 and 1793 floppy disk controllers at an ORIC Web site. That site seems to have gone away, so you can get a copy of the document from here.
Another useful item I found on the Web is zmac, a free Z-80 cross-assembler for Unix. Mark Rison has taken over maintenance of zmac and released a new version, 1.3. You can download it here or from Mark's CPC/IP page. You can make TRS-80 cmd files with zmac by running "zmac -h" to create an Intel hex file, then using the program hex2cmd included with my version of xtrs.
Here is a list of historic Radio Shack part numbers for computer equipment and software. It is based on work by Roy Hoff, Sr., with updates from Art McAninch, Stan Slater, and Tim Mann. Feel free to send additions and corrections to me.
Mark McDougall typed up a summary of the technical specs for the Model 4 Micro Labs Grafyx Solution hi-res card for me. Thanks, Mark!
Later I found a file on Compuserve that gives technical specs for Radio Shack's Model 4 hi-res card, including some ports that Radio Shack didn't document. This file was written in 1985 by Compuserve member Paul Bradshaw.
I haven't found any documentation for the Micro Labs Model III hi-res card, but I did find some software that works with it, so I was able to reverse-engineer what the hardware does. Here is what I learned.
Radio Shack's Model III hi-res card is the same as the Model 4 card except that the undocumented features of the Model 4 card are not present. That is, graphics are always 640x240, text and graphics cannot be overlayed, and there are no scrolling registers. There is a scan of the manual for this card on Wade Fincher's TRS-80 page.
In 1998 I helped reconstruct a lost program by reassembling it from source code that had been written with the ASM6 assembler for the Model 4. ASM6 saves source code in a proprietary compressed format similar to tokenized Basic programs. I didn't have a copy of ASM6, so I reverse-engineered the format.
In 2012, Vernon Hester contacted me and told me that the tokenized format I reverse-engineered in 1998 looks exactly the same as the one from his ZEUS assembler. At this point we don't know why. At any rate, Vernon sent me a copy of the complete list of tokens, as I had been missing a few.
If you need to decode a ZEUS or ASM6 save file, feel free to use my program. See the comments at the top for instructions.
I've scanned in the user manual (Word 97, Acrobat) and the schematic (JPEG) for the Lobo LX-80 Expansion Interface. The LX-80 was an alternative to the Radio Shack Expansion Interface for the Model I. It was not at all hardware compatible with the Radio Shack interface, but offered additional capabilities such as 8-inch floppy drive support and two serial ports. My copy of the schematic was not very good; please let me know if you have a better one and can fill in missing details.
Here is a collection of Lobo MAX-80 materials sent to me by Tom Burnett. Tom has been gearing up to work on a MAX-80 emulator, possibly based on xtrs, possibly on MESS. The manual scans were done by a friend of Tom's, the late John Ray.
In 2001 I helped someone recover the manuscript of an old book from some Model II Scripsit disks. This was pretty tricky, since I don't have a Model II, there are no Model II emulators, and Model II Scripsit uses a strange, proprietary file format. Here are some details in case anyone else wants to do this.
The first challenge was to read the 8" Model II floppy disks. I used cw2dmk and a Catweasel (see above), but xtrs (or, I believe, David Keil's TRS-80 emulator) would have worked with a standard PC disk controller that supports single density. I already had an 8" drive and 34- to 50-pin adapter cable in my closet from an earlier project. I built the cable myself, but the premade adaptor available from D Bit looks like it should work for this purpose.
The next trick was to get the DOCUMENT/CTL files off the Model II TRSDOS 2.0a disk images. It turns out that the version of CONV/CMD that came with Model II LS-DOS 6.3.1 can read Model II TRSDOS 2.0 disks and copy the files to LS-DOS disks. I got a copy off the Model II LS-DOS disk image from my Misosys software page. Although this image obviously won't boot on a Model 4 emulator, Model 4 LS-DOS can read it as a data disk, and many of the programs will run, including CONV/CMD. Unfortunately I found that CONV/CMD has a bug; it assumes the TRSDOS directory is always on track 44, but the diskettes I was looking at had it on track 1. This patch makes it look on track 1 instead: PATCH CONV/CMD.UTILITY (X'30A6'=01) After that, I exported the DOCUMENT/CTL files to Unix using xtrs's EXPORT/CMD utility.
Now I was stuck for a while. DOCUMENT/CTL files are in a strange format I had never seen before. The file takes up the whole floppy disk and has its own built-in directory that can contain several documents. Blocks of the documents and arrays of pointers are scattered all over. But I spent a Saturday poring over one of the files with a hex editor, and ended up writing a C program called scripsitx that finds all the documents and extracts the text from each to a file. I also wrote a little program scr2txt that translates some odd special characters that Scripsit uses in its files, such as 0x8d for end-of-paragraph, to a more reasonable ASCII representation.