TPDD: Difference between revisions

From Tandy Tech
Jump to navigation Jump to search
 
(87 intermediate revisions by the same user not shown)
Line 1: Line 1:
=Overview=
=Tandy Portable Disk Drive=
There were two versions of the Tandy Portable Disk Drive. Both were very similar. The drive is a a re-branded Brother FB-100.
There were two versions of the original Tandy Portable Disk Drive, "26-3808 Tandy Portable Disk Drive" or now called "TPDD1", and "26-3814 Tandy Portable Disk Drive 2" or "TPDD2". Both were very similar.
 
The original TPDD1 is a re-branded Brother FB100. In fact the Brother FB100 was sold under several names. At least:
:Brother FB100
:TANDY Portable Disk Drive
:knitking FDD19
:Purple Computing D103
 
The TPDD2 was also sold under multiple names. At least:
:TANDY Portable Disk Drive 2
:XOB Disc-88


==Common features of both versions==
==Common features of both versions==
Line 9: Line 19:
:Drive is single-sided. The disks may be single or double-sided, but the drive only uses one side.
:Drive is single-sided. The disks may be single or double-sided, but the drive only uses one side.


=Documentation=
==Tandy Portable Disk Drive==
==Tandy Portable Disk Drive==
100K
100K


:[http://www.club100.org/library/sup/07.txt TPDD bootstrap procedure]
:[https://archive.org/details/TandyPortableDiskDriveOperationManual26-3808 Operation Manual]
:[https://archive.org/details/TandyPortableDiskDriveOperationManual26-3808 TPDD Operation Manual]
:[https://archive.org/details/tandy-service-manual-26-3808-s-software-manual-for-portable-disk-drive Software Manual]
:[https://archive.org/details/Portable_Disk_Drive_Command_Reference_19xx_Tandy Command Reference]
:[https://archive.org/details/tandy-portable-disk-drive-service-manual-26-3808 Service Manual]
:[https://archive.org/details/TandyPortableDiskDriveSoftwareManual26-3808s Software Manual]
:[http://www.club100.org/library/sup/07.txt TPDD1 bootstrap procedure]
<!-- :[http://bitchin100.com/wiki/index.php?title=Base_Protocol Command Reference] -->
 
:[[File:TPDD1_ROM.zip]] - dump of the 4k rom built into the HD63A01V1 cpu
:ROM is also identical in Brother FB-100, KnitKing FDD19, and Purple Computing D103


==Tandy Portable Disk Drive 2==
==Tandy Portable Disk Drive 2==
200K in the form of 2 100K banks (still only uses one side of the disk)
200K, in the form of 2 100K banks
 
:[https://archive.org/details/Portable_Disk_Drive_2_Operation_Manual_1986_Tandy TPDD2 Operation Manual]
:[https://archive.org/details/tpdd-2-service-manual TPDD2 Service Manual]
:[http://www.club100.org/library/sup/08.txt TPDD2 bootstrap procedure]
<!-- :[http://bitchin100.com/wiki/index.php?title=TPDD-2_Sector_Access_Protocol TPDD2 Sector Access] -->


:[http://www.club100.org/library/sup/08.txt TPDD-2 bootstrap procedure]
:[[File:TPDD2_ROM.zip]] - dump of the 4k rom built into the HD63A01V1 cpu
:[https://archive.org/details/Portable_Disk_Drive_2_Operation_Manual_1986_Tandy TPDD-2 Operation Manual]


=Parts=
=Parts=
Line 30: Line 49:


===Cable===
===Cable===
The "RS-232C" interface to the TPDD is actually 5v TTL (0v to +5v), while RS-232 serial ports use -12v to +12v. So the cable isn't just a cable, it has electronics inside the DB25 plug to convert the signal levels between TTL and RS-232.
You can't buy the original special cable any more, but you can [https://github.com/bkw777/TPDD_Cable build one], or buy one from [https://www.arcadeshopper.com/wp/?page_id=11#!/Special-serial-cable-for-Tandy-Portable-Disk-Drive-and-Tandy-Portable-Disk-Drive-2/p/144969001/category=28313042 ArcadeShopper] (picture is outdated, the cables are the same as the one on github), or [https://www.soigeneris.com/tpdd2_cable SoiGeneris].


Pinout
Pinout
Line 50: Line 72:
:6 TXD
:6 TXD
:7 RXD
:7 RXD
:8 NC
:8 EB+ (External Battery +4.8 to +6v) (Only on TPDD2, n/c on TPDD1)


In the beginning, there was the [ftp://salsa.net/pub/M100SIG/Lib-09-PERIFERALS/TPDD.DO Marty Goodman Document], and it was good.
[[File:TPDD2 original cable.jpg|thumb|none]]
<!-- http://www.club100.org/library/ups/tpdd.do -->
<!-- [http://www.digikey.com/short/jj2vb2 Parts to build one cable] -->
<!-- [http://www.digikey.com/short/jpv2r5 Parts to build one cable] -->


More recently, Rick Shear has taken a new and very careful look at a real cable, and the Marty Goodman doc, and has probably identified the "mystery" components that Marty Goodman talks about. It looks right, and this cable does indeed work.
<!-- save until duplicated somewhere
:[https://rsmicro.wordpress.com/2018/08/26/tpdd-cable/ Rick's Initial post]
:[https://rsmicro.wordpress.com/2018/09/08/built-tpdd-cable-comparison-to-oem/ Rick's Follow-up]
:[https://oshpark.com/shared_projects/vntX40yC Rick's PCB]
 
Since then I have made my own pcb using the same key transistor, but in a smaller pcb which fits more types of back shells and leaves more room for cord strain relief, and the pads for the db25 plug are longer and spaced more accurately to work with a plug that has through-hole solder pins instead of solder cups, so the PCB actually fits in between the rows of pins.
 
Here are all the parts to build the cable:
 
*[https://oshpark.com/shared_projects/xKfsPP5o Circuit Board (updated version not shown in these pics)]
*[https://www.digikey.com/short/pmb339 Components]
::OSHPark sends 3 boards. If you want to use all 3 boards and build 3 cables, multiply all quantities in the DigiKey cart by 3.
::DigiKey web site is sometimes pretty glitchey. If it says invalid part numbers, just reload the page.
 
* The numbers 1-7 on the PCB correspond to the numbers on the TPDD connector in the diagram above. Pin 8 on the TPDD is not used.
* You need a [https://www.google.com/search?q=sn-28b SN-28B Crimp Tool].
* Additional materials:
:: 3/16" heat shrink tubing
:: 1/2" heat shrink tubing (double wall, 3:1 ratio)
 
<!-- [https://photos.app.goo.gl/MN3VEmhEbqehxEzh8 Pictures] -->
These photos show Rick's original PCB, not the new one, but it works the same way.
<gallery>
RS-TPDD-1.jpg
RS-TPDD-2.jpg
RS-TPDD-3.jpg
RS-TPDD-4.jpg
RS-TPDD-5.jpg
RS-TPDD-6.jpg
RS-TPDD-7.jpg
RS-TPDD-8.jpg
RS-TPDD-9.jpg
RS-TPDD-10.jpg
RS-TPDD-11.jpg
RS-TPDD-12.jpg
RS-TPDD-13.jpg
RS-TPDD-14.jpg
</gallery>
 
===Cable BKW 1===
Re-work of Rick's pcb:
* smaller pcb to allow more room to strain-relieve the cable end inside the back shell, and allow possible compatbility with more types of backshells.
* fewer, shorter, simpler traces and vias
* adjusted footprint for db25 plug to use a through-hole solder type instead of solder cup type, so the pcb actually fits between the pins. That type has longer pins so the solder pads needed to be lengthened.
<gallery>
tpdd-bkw-1.1.png
tpdd-bkw-1.2.png
tpdd-bkw-1.3.png
</gallery>
 
===Cable BKW 2===
New design with the transistors on the TPDD-end instead of the DB25-end. This way you do not need to crimp Dupont style pins. You just assemble this tiny pcb, cut the 9-pin plug off of a cheap pre-made 9/25 modem cable and throw it away, and solder the cable with factory molded 25 pin plug to this pcb, and finally secure with some hot-glue & heat-shrink, maybe a zip-tie. This uses the same transistor as the two other versions above. Still working on an answer for polarity. Probably replace the single 2x4 header with a 2x3 header standing up, and two 1x2 headers to either side of that.
<gallery>
TPDD_BKW_2_size.jpg
TPDD_BKW_2_1.png
TPDD_BKW_2_2.png
TPDD_BKW_2_3.png
TPDD_BKW_2_4.png
TPDD_BKW_2_5.png
TPDD_BKW_2_6.png
TPDD_BKW_2_7.png
TPDD_BKW_2_8.png
</gallery>
 
===Cable BKW 3===
The through holes for the wires were way too small and close in BKW2.
<gallery>
TPDD_BKW_3_1.png
TPDD_BKW_3_2.png
TPDD_BKW_3_3.png
TPDD_BKW_3_4.png
</gallery>
 
===Cable BKW 4===
Adds a place to secure the cable with a zip tie.
:PCB: https://oshpark.com/shared_projects/dyMZxoye
:BOM: https://www.digikey.com/short/pbc3pp
:Assembly:
:Assembly:
:*Solder all components to pcb per the render pics.
:*Solder all components to pcb per the render pics.
:*Cut the db9 plug off the serial cable. Strip the outer sheath back 1 to 2 inches. Strip each wire 1/8".
:*Pull the two un-soldered pins from the top of the socket and discard.
:*Put 2 to 3 inches of 1/2" diameter heat shrink on the serial cable. (don't shrink yet)
:*Cut the 9-pin plug off the serial cable. Strip the outer sheath back 1 to 2 inches. Strip each wire 1/8".
:*Use a dmm continuity tester to identify which wires go to which pins on the db25. Find pin 2 on the db25, find which wire goes to pin 2, solder that wire to through-hole labeled 2 on the pcb. Repeat for all the numbered holes. Cut any left-over wires short at the cable sheath.
:*Put 2 to 3 inches of 1/2" diameter heat shrink on the serial cable. (don't shrink yet)
:*Secure the end of the cable to the pcb with a zip-tie.
:*Identify which color wires go to which pins on the DB25 plug.
:*Add some hot-glue around the soldered wires where they meet the pcb.
::Find pin 2 on the db25
:*Pull the two un-soldered pins from the back of the female 2x3 pin socket. Or cut them off with flush cutters.
::Find which color wire goes to pin 2 using a DMM continuity tester
::Repeat for all the numbered holes on the PCB: 2,3,4,5,6,7,20
::Cut any left-over wires short right at the cable sheath.
:*Solder the wires to their matching numbered holes, with the wires on the top side (without the transistors).
:*Put some hot-glue on the top side of the pcb in the "dog bone", press the end of the cable into the glue, and secure to the pcb with a zip-tie.
:*Add some hot-glue around the soldered wires where they meet the pcb to immobilize them.
:*Slide the heat-shrink up over the pcb and shrink.
:*Slide the heat-shrink up over the pcb and shrink.
<gallery>
<gallery mode="packed-hover">
TPDD_BKW_4_1.png
TPDD_Cable_1.jpg
TPDD_BKW_4_2.png
TPDD_Cable_2.jpg
TPDD_BKW_4_3.png
TPDD_BKW_4_3.png
TPDD_BKW_4_4.png
TPDD_BKW_4_4.png
Line 165: Line 113:
TPDD_BKW_4_20.jpg
TPDD_BKW_4_20.jpg
</gallery>
</gallery>
[[TPDD:Other_Cable_Designs]]
-->


=Software=
=Software=
==For PCs==
Software related to these drives can be broken into 2 main categories, [[TPDD_client|clients]] and [[TPDD_server|servers]].
TPDD used double density 3.5" disks, but used a format that is incompatible with modern pc drive controllers. Normal MS-DOS formatted disks are written with MFM encoding, while the TPDD used FM encoding. Even using special software to read non-standard formats, you can't make a normal drive & drive controller read or write FM.
 
A [[TPDD_client|TPDD client]] (aka dos) is software that uses a TPDD drive. This includes TS-DOS, and the program called "Floppy" which came on the special disk that came with the TANDY versions of the drives.
 
A [[TPDD_server|TPDD server]] (aka emulator) is software that pretends to BE a TPDD drive. This includes LaddieAlpha, dl2, and others.


To read or write a TPDD disk from a modern machine, you need a working TPDD drive and the special RS232-to-TTL level-shifting serial cable that came with it, and a "TPDD Client" software to talk to the drive over the serial connection the same way the M100 does.
=Misc Related Info=
TS-DOS implements an extension to the TPDD protocol to provide subdirectories.<br>
A real TPDD or TPDD2 doesn't support this, but some TPDD emulators do (NADSBOX, LaddieAlpha, dl2, PDDuino, at least)
:[http://bitchin100.com/wiki/index.php?title=Desklink/TS-DOS_Directory_Access TS-DOS Directories]


There are several TPDD clients for more modern machines. Most of these are themselves also no longer modern. For example Lap-Desk and PDD are both 16-bit DOS programs that don't work on Windows.
TPDD uses standard 720k DD 3.5" disks, but uses a format that is incompatible with modern pc drive controllers.<br>
Normal MS-DOS formatted disks are written with MFM encoding, while the TPDD uses FM encoding.<br>
Even using special software to read non-standard track/sector formats, you can't make a normal drive & drive controller read or write FM. An old pc with an early floppy controller chip and an old 720k drive may be able to do it.


[http://trs80stuff.net/tpdd/tools.html TpddTool] Python TPDD Client
To read or write a TPDD disk from a modern machine, you need a working TPDD drive, the special RS232-to-TTL level-shifting serial cable, a 9F-to-25F straight through (not null-modem) serial adapter or combination of cables & adapters, and TPDD client software to talk to the drive over the serial connection the same way the M100 does. See pdd.sh, PDD.EXE, or TpddTool.py from the TPDD clients link above.


==For M100/102/200==
Don't use 1.44M HD disks in a TPDD. Use 720K DD disks.<br>
The normal way to use a TPDD is to install a "dos" on an M100. Several such dos's have been made. The drive came with a utility disk and a functional dos called "floppy". Others have been made by 3rd parties that provided more features or smaller ram footprint or more flexible installation/usage. There are also various special purpose utility programs aside from dos's.
[[File:720vs144.jpg|left|thumb]]


===Floppy/Floppy2===
<!--
===Teeny===
https://www.ordersomewherechaos.com/rosso/fetish/m102/web100/docs/pdd2-sector-0.html
===TS-DOS===
https://www.ordersomewherechaos.com/rosso/fetish/m102/web100/docs/pdd-sector-access.html
===POWR-DOS===
-->

Latest revision as of 11:05, 25 January 2024

Tandy Portable Disk Drive

There were two versions of the original Tandy Portable Disk Drive, "26-3808 Tandy Portable Disk Drive" or now called "TPDD1", and "26-3814 Tandy Portable Disk Drive 2" or "TPDD2". Both were very similar.

The original TPDD1 is a re-branded Brother FB100. In fact the Brother FB100 was sold under several names. At least:

Brother FB100
TANDY Portable Disk Drive
knitking FDD19
Purple Computing D103

The TPDD2 was also sold under multiple names. At least:

TANDY Portable Disk Drive 2
XOB Disc-88

Common features of both versions

Size, shape, weight
Batteris: 4 x AA
Wall power: 5.5mm x 2.1mm, 6vdc, center negative, 400ma (Tandy 26-3804)
Media: 3.5" DD, aka "720K" diskettes (not HD 1.44M)
Drive is single-sided. The disks may be single or double-sided, but the drive only uses one side.

Documentation

Tandy Portable Disk Drive

100K

Operation Manual
Software Manual
Service Manual
TPDD1 bootstrap procedure
File:TPDD1 ROM.zip - dump of the 4k rom built into the HD63A01V1 cpu
ROM is also identical in Brother FB-100, KnitKing FDD19, and Purple Computing D103

Tandy Portable Disk Drive 2

200K, in the form of 2 100K banks

TPDD2 Operation Manual
TPDD2 Service Manual
TPDD2 bootstrap procedure
File:TPDD2 ROM.zip - dump of the 4k rom built into the HD63A01V1 cpu

Parts

Belt

Standard size code: FRW-8.5

Search "FRW 8.5 belt" on Google or ebay

Cable

The "RS-232C" interface to the TPDD is actually 5v TTL (0v to +5v), while RS-232 serial ports use -12v to +12v. So the cable isn't just a cable, it has electronics inside the DB25 plug to convert the signal levels between TTL and RS-232.

You can't buy the original special cable any more, but you can build one, or buy one from ArcadeShopper (picture is outdated, the cables are the same as the one on github), or SoiGeneris.

Pinout

+------------------------------------------------+
|                                                |
|                                                |
|                 RS-232C                        |
|                   ___                          |
|               +--+   +--+              +-----+ |     
|               | 7 5 3 1 |              | (o) | |
|               | 8 6 4 2 |              |     | |
|               +---------+              +-----+ |
+------------------------------------------------+
1 GND
2 CTS
3 DTR
4 RTS
5 DSR
6 TXD
7 RXD
8 EB+ (External Battery +4.8 to +6v) (Only on TPDD2, n/c on TPDD1)


Software

Software related to these drives can be broken into 2 main categories, clients and servers.

A TPDD client (aka dos) is software that uses a TPDD drive. This includes TS-DOS, and the program called "Floppy" which came on the special disk that came with the TANDY versions of the drives.

A TPDD server (aka emulator) is software that pretends to BE a TPDD drive. This includes LaddieAlpha, dl2, and others.

Misc Related Info

TS-DOS implements an extension to the TPDD protocol to provide subdirectories.
A real TPDD or TPDD2 doesn't support this, but some TPDD emulators do (NADSBOX, LaddieAlpha, dl2, PDDuino, at least)

TS-DOS Directories

TPDD uses standard 720k DD 3.5" disks, but uses a format that is incompatible with modern pc drive controllers.
Normal MS-DOS formatted disks are written with MFM encoding, while the TPDD uses FM encoding.
Even using special software to read non-standard track/sector formats, you can't make a normal drive & drive controller read or write FM. An old pc with an early floppy controller chip and an old 720k drive may be able to do it.

To read or write a TPDD disk from a modern machine, you need a working TPDD drive, the special RS232-to-TTL level-shifting serial cable, a 9F-to-25F straight through (not null-modem) serial adapter or combination of cables & adapters, and TPDD client software to talk to the drive over the serial connection the same way the M100 does. See pdd.sh, PDD.EXE, or TpddTool.py from the TPDD clients link above.

Don't use 1.44M HD disks in a TPDD. Use 720K DD disks.