I’m not sure where Rakewell’s page for the TPDD points, but half-way down the
page at http://www.oocities.org/svenqhj/z88adm1.txt is a detailed description
of connecting the TPDD to a Z88, including cabling.
That cable does not translate the rs232 signal levels, which makes it a
bad thing to connect to a real tpdd.
It's abusing and hurting either the inputs on the TPDD or the outputs on
the Z88 (or anything else), or maybe both.
Here's the run-down:
The -5v from the z88 (or anything else) should be clipped to 0v before
hitting the tpdd.
The official cable that came with the drive does that this way:
https://raw.githubusercontent.com/bkw777/TPDD_Cable/master/TPDD_Cable.svg
The 0-5v signals generated by the tpdd to the computer are connected
directly across. 0v is not a valid rs232 signal level, but it's not harmful.
The -5/+5 from the computer are clipped to 0/+5.
Another thing that's still wrong, even with the official cable, is the
signals should also be inverted, not merely clipped from +/-5 to 0-5.
-N should be converted to +5, and +N should be converted to 0. But even
the official cable doesn't do that.
The schematic for the drive does say for example that RXD is active low,
meaning it rests at 5v, and you drive it to 0v to make a signal. (The
RXD label on the line has a bar over it)
https://archive.org/details/Portable_Disk_Drive_2_Operation_Manual_1986_Tandy/page/n21/mode/1up
That is the opposite of what rs232 does. In rs232, and indeed the M100
does this, all data and control lines rest at -5v, and go to +5v to make
a signal.
And those are both expected. TTL works like that and rs232 works like
that, and that's why a MAX232 chip not only translates the min & max
voltage levels, it also inverts, converting highs to lows & lows to highs.
I'm not sure why it still works without inverting, but definitely you
should not be feeding -5v into inputs that expect only 0v to +5v
Especially not old artifacts like these TDPP drives with their ancient
ttl parts.
It gets even worse if you were ever to connect that cable to any other
rs232 port instead of a Z88. Like say some other kind of computer or
maybe some kind of ethernet bridge or line driver or terminal/port
server etc.
Many computers output only +/-5v on their rs232 ports, but the rs232
spec actually goes as far as +/-25, and anything that accepts an rs232
signal should be prepared to handle those levels. Although it's rare for
a port to go beyond +/-15v. +/-12 is more common, +/- 9v is even more
common, and +/- 5v is most common. So, if you have a cable that says
"this connects to rs232" and you ever connected it to anything but a
z88, you could possibly be feeding -9v or even -12v into an input that
is only expecting GND, and doesn't have any extra diode protection.
Look back at that schematic near the top-left. The rs232 pins on the
TPDD go right into inverting Schmitt triggers right to the cpu.
The triggers assure that the cpu only ever sees 0 or 5, so you probably
wouldn't hurt the cpu, but you could kill the triggers. Or maybe
negative voltage on the trigger could end up pulling reverse voltage
through the cpu pin. I would not want to do it. It's a data pin right on
a cpu. It's not a robust thing you can abuse like that.
Look at the big vertical rectangle on the left. That's an HD6301 which
is the CPU.
Now find pins P10, P11, P23 on the left side of that. That's the 3
serial inputs, /RXD, DSR, CTS.
Those three triangles are inverting schmitt triggers, all 3 are part of
a 4584 chip which has 6 of them in one physical package.
They are drawn as individual parts but physically they are all in a
single chip package. See the number "4584" above them, and see how
each trigger has 1 2, 3 4, 5 6 numbers.
Here is a data sheet for a 4584 (a modern one but still essentially the
same part)
http://toshiba.semicon-storage.com/info/docget.jsp?did=20900&prodName=TC4584BF
You see on page 1 the pin assignment, that indeed pins 1 & 2 connect to
the same symbol inside and in the same direction as the one on P23 on
the cpu. Same for 3 & 4, and 5 & 6.
Page 3 says the main supply for the chip (VDD) can be anywhere from +3
to +18v, and range of allowed voltages on the input pins is 0 to VDD,
meaning not 0 to 18, but 0 to whatever you are supplying on VDD.
We don't have to guess or assume what the TPDD supplies on VDD.
The bottom-left corner of the schematic shows that Vcc (another name for
VDD) to the 4584 is +5v
See the 3 boxes on the bottom-left and the middle one that says #8 under
it, it's says that +5v is connected to pin 14 of the 4584, and sure
enough, the data sheet says pin 14 is VDD.
(Just below that it also shows that one of the triggers, pins 12 & 13 on
the 4584 is unused. The data sheet says that unused inputs need to be
tied to either gnd or vdd, and that input on pin 13 is tied to +5v)
So if you supply +5v on VDD as the TPDD does, then the max allowed
voltages on any of the input pins 0 to +5v
Ok so no guesswork on that. The drive should only be fed signals of 0 to
5v and that's it.
But the drive schematic also shows that all 3 of those inputs also have
100k resistors to 0v.
Follow the lines left of the three triggers. They go through 15k
resistors (probably for current limiting), and then all 3 are connected
to 100k resistors to a 0v line. You can trace that right to pin #1 0v on
the connector and a 0v symbol just above the triggers.
I guess it depends how strong the drivers are on the computer, whether
those 100k resistors will overcome the signal from the computer and pull
a -5v up to 0, or if the computer will overcome those resistors and hit
the inputs with -5v. 100k is pretty weak, so probably the computer will
overcome the 100k and hit the inputs with -5v.
Neither of those possible results are good, and you just shouldn't do it.
It's either hurting the drive or it's hurting the computer.
You also can't do stuff like that one day and still complain about the
machine being unreliable and crashy another day, even if it was already
crashy on it's own.
Also makes me wonder why RXD is marked as active-low, when it's tied
(however weakly) to gnd instead of tied to +5v.
DTR and CTS are hooked up exacty the same way and they are not marked
active-low (they don't have a bar over the label DTR or CTS), but that's
just a curiosity not a problem.
Unless it turns out that the Z88 does not output rs232 but in fact
rs232-ttl. That would make it ok.
--
bkw