After a lot of aggravation trying to get one working TRS-80 Model II, by
cobbling together parts from three other machines, I've finally got one
mostly working.
I wanted to get my own programs running on it, cross-developed on a
Linux system. Model II TRSDOS 2.0 and later have a built-in "receive"
command that can receive Intel hex format from the serial port, which
can then be saved to a disk file with the "dump" command. The serial
port on my CPU card was broken. After swapping that card, which I intend
to troubleshoot later, I found that the receive command won't work
reliably above 2400 bps. (Maybe it would work at higher bit rates if
the sending computer used a long inter-character delay.)
I packaged up z80asm and z80dasm for Fedora Linux and Red Hat Enterprise
Linux 6, and submitted them to the repositories. After verifying that I
can get cross-assembled code to run, I set my sights on cross-compiling
C code.
I had to hack up crt0.s, putchar.s, and a linker script to work for the
Model II TRSDOS environment (which is almost entirely unlike TRSDOS for
the Model I/III/4), but it is finally working.
The machine I've got working is actually a Model 16, but I don't yet
have the 68K subsystem working. When I try to load TRSDOS16, it says
that it has loaded, but immediately gets an exception at address 0.
Xenix just hangs with no output.
I've got a diagnostic disk that purports to be for the Model II and 16,
but it has a lot of bad tracks, so I can't actually run the Model 16
diagnostics. Does anyone have a good copy of the Model 16 diagnostic disk?
The disk drives in the Model 16 don't work. The spindle speed of drive
0 seems to be way off, and I'm not sure what's wrong with drive 1.
Right now I'm using two other drives sitting outside the case, because I
haven't figured out how to get the drives out of the Model 16. It
appears that the machine has to be taken apart much further than I'd
hoped in order to remove the drives. :-(
Eric