• Please review our updated Terms and Rules here

Model II Serial handshake not working

kb2syd

Veteran Member
Joined
Mar 7, 2005
Messages
1,762
Location
Wantage, NJ
It further surprises me that the serial ports behave like this, yet they use standard Z80 SIO chips. One might expect that, if Tandy had chosen some odd combination of TTL, line drivers and other stuff to implement the ports, that you'd see these anomalies, but surely with a standard implementation, the interface's behaviour should likewise be standard.
And I just don't find this surprising at all. And I've seen this on more older machines than not. I feel that the manufacturers never anticipated constant data throughput over 300 baud. At the time (1979) a 300 baud modem was high end and quite expensive. A lot of stuff was 110. I also know that by the time of the model 16(a) these ports definitely supported hardware handshaking because we used them with 2400 baud modems and dialin users under Xenix.

I think the real problem is that hardware handshaking can be made to work, it just doesn't with the programs you are currently trying to use.
 

griffk

Experienced Member
Joined
Jun 4, 2015
Messages
200
Location
Seattle, WA / Los Angeles, CA
I think the real problem is that hardware handshaking can be made to work, it just doesn't with the programs you are currently trying to use.

And I think that you are probably right! A while back in the thread, I more or less said the same. Handshaking is more than just the wires being connected. And I am not at all sure that it's being setup right in CP/M, or that the transfer program respects and uses the HW parameters...

gwk
 

lowen

Veteran Member
Joined
Jan 16, 2014
Messages
1,520
Location
Western North Carolina, USA
It further surprises me that the serial ports behave like this, yet they use standard Z80 SIO chips. One might expect that, if Tandy had chosen some odd combination of TTL, line drivers and other stuff to implement the ports, that you'd see these anomalies, but surely with a standard implementation, the interface's behaviour should likewise be standard....

You may find http://compgroups.net/comp.os.cpm/hardware-flow-control-with-z80-sio/946326 (a slightly easier to read version of the same comp.os.cpm thread is at http://fixunix.com/cp-m/611-hardware-flow-control-z80-sio.html ) interesting. The Z80 SIO is extremely programmable, and so it really depends more upon what Lifeboat did than what Tandy did. So you do need to read the data sheet and the schematic from the Model II TR, and it would be nice to have the CBIOS sources for LifeBoat CP/M...... A tutorial can be found at http://www.blunk-electronic.de/train-z/pdf/howto_program_the_Z80-SIO.pdf on how the programming of the SIO should look, and the last hundred pages or so of http://www.z80.info/zip/um0081.pdf deals with the SIO (that last PDF is ZiLOG documentation).

If this were LS-DOS, I have the sources for that. But this is CP/M, and, well, I'm an LS-DOS guy, not a CP/M guy.

EDIT: According to the schematic, DTR, DSR, RTS, and CTS are all fully wired in to the Z80 SIO.
 
Last edited:

griffk

Experienced Member
Joined
Jun 4, 2015
Messages
200
Location
Seattle, WA / Los Angeles, CA
EDIT: According to the schematic, DTR, DSR, RTS, and CTS are all fully wired in to the Z80 SIO.

And that is what is so exasperating. Lifeboat Explicitly mention DTR as the signal they use to start&stop input to the RS232 channel Rx line. They also make a non-sequitur allusion to RTS.

So, we are believing a questionable note from Lifeboat, and there is no good roadmap as to what they really did in their CBIOS... Normal CTS/RTS handshake does not seem to work according to the OP.

I can't find the Lifeboat manual either, and this is way more complicated than it should be - because the thing is 30+yrs old, and no one seems to have set it up DTE-DTE before, and then left a breakdown on the Internet, and the original Tandy manuals are of NO HELP AT ALL...
 

kb2syd

Veteran Member
Joined
Mar 7, 2005
Messages
1,762
Location
Wantage, NJ
and no one seems to have set it up DTE-DTE before, and then left a breakdown on the Internet, and the original Tandy manuals are of NO HELP AT ALL...
Plenty of people have set up DTE to DTE before. I've done it. All I've done is what you've already experienced. If hardware handshaking is not supported you will have problems. Here's something to try.

Get two 9600 baud modems. Hook them up back to back with rj-ll patch cable. Tell them to ignore the dial tone. Set the one on the CP/M side to answer automatically (I think it is ATS0=1) then from the PC side type in ATD and hit enter. See if the modems handle the handshaking any better.
 

griffk

Experienced Member
Joined
Jun 4, 2015
Messages
200
Location
Seattle, WA / Los Angeles, CA
Plenty of people have set up DTE to DTE before. I've done it. All I've done is what you've already experienced. If hardware handshaking is not supported you will have problems. Here's something to try.

Get two 9600 baud modems. Hook them up back to back with rj-ll patch cable. Tell them to ignore the dial tone. Set the one on the CP/M side to answer automatically (I think it is ATS0=1) then from the PC side type in ATD and hit enter. See if the modems handle the handshaking any better.

I didn't say no one has EVER setup DTE-DTE devices--I myself have done it many hundreds of times.

I stated that no one seems to have done this with a TRS-80 ModII to PC, WITH HW HANDSHAKE.

As for your Modem<->Modem example, of course they won't work, and that was exactly my point starting pages back! Serial comms are just as much (or MORE) dependent upon the controlling SW & Drivers, as they are on the wiring.

I suggested a while bck in this thread, that the OP start a LONG transfer (to have time to look around), and somehow (Logic probe/OScope/etc) probe the handshake lines to see if they were even trying to toggle --- I, more than ever, stand by that statement, and if it turns out they aren't it's probably in the SW and Drivers. I have the SIO schematics, and all lines are physically there, so .....

And it may turn out that you are 100% RIGHT on the fact that this machine is, as setup, incapable of handling its own handshake HW, and that would be Shame-Shame on the original designers of the SW (whether Tandy, Lifeboat Assoc, or whomever)!

gwk
 
Last edited:

kb2syd

Veteran Member
Joined
Mar 7, 2005
Messages
1,762
Location
Wantage, NJ
I stated that no one seems to have done this with a TRS-80 ModII to PC, WITH HW HANDSHAKE.
I misread what you wrote. I now understand what you were saying. Thanks for clarifying.
As for your Modem<->Modem example, of course they won't work, and that was exactly my point starting pages back! Serial comms are just as much (or MORE) dependent upon the controlling SW & Drivers, as they are on the wiring.
You're right, it does sound far fetched now that I think about it, but the cable for a modem is straight through and I KNOW these ports talk to modems at 2400 baud correctly. That I have done. I have transferred multiple megabytes of data through these ports in a model 16 (the a version based on the model II).
I suggested a while bck in this thread, that the OP start a LONG transfer (to have time to look around), and somehow (Logic probe/OScope/etc) probe the handshake lines to see if they were even trying to toggle --- I, more than ever, stand by that
statement, and if it turns out they aren't it's probably in the SW and Drivers. I have the SIO schematics, and all lines are physically there, so .....
This does sound like a good test. It would tell us once and for all if Lifeboat CP/M was using hardware signalling at all.
And it may turn out that you are 100% RIGHT on the fact that this machine is, as setup, incapable of handling its own handshake HW, and that would be Shame-Shame on the original designers of the SW (whether Tandy, Lifeboat Assoc, or whomever)!
It does hardware handshaking. I have done it in the past on an upgraded model II and a 16(a). I don't think the Lifeboat software is doing anything though. If I ever get up enough energy I'll give it a test on my end. For me though it is at least 5 down on list of priorities. I'm a Xenix guy and these ports work just fine in Xenix.
 

griffk

Experienced Member
Joined
Jun 4, 2015
Messages
200
Location
Seattle, WA / Los Angeles, CA
It does hardware handshaking. I have done it in the past on an upgraded model II and a 16(a). I don't think the Lifeboat software is doing anything though. If I ever get up enough energy I'll give it a test on my end. For me though it is at least 5 down on list of priorities. I'm a Xenix guy and these ports work just fine in Xenix.

And I think you are correct in that the HW is capable, but something in the SW is not functioning properly. I feel sorry for the OP, but making these old 8 bit machines talk with peripherals & each other, used to be a FULL TIME JOB in itself, since HW was always different, and SW standards were almost non-existent...

There IS an answer, but it takes BS&T

Welcome to the wonderful world of micro computing ala 1975-1990!

gwk
 
Top