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

Reply via email to