Oddities abounded... apparently the KayPro 2x doesn't have a standard serial port pinout.
Key factors include: Only using CTS, and Tx and Rx swapped. I found this pinout in the technical reference manual.
Here's a cable I hacked from a typical null-modem for communicating with a newer PC...
DB25 (M) DB9 (F) 2 RxD 3 TxD 3 TxD 2 RxD 7 GND 5 GND 20 CTS 4 DTR 1 DCD,6 DSR (unnecessary?)
Note that the end-result is very different than a null-modem... weird world.
(CTS <- DTR, NOT CTS <- RTS, was necessary, otherwise the transfer never starts)
Truns out pip doesn't convert *to* ihex, only *from*... well that doesn't help. OTOH, looks like the serial port does infact send 8 bits.
On the PC-side I used 'dd bs=1 if=/dev/ttyUSB0 of=<filename>' (after setting the baud-rate to 300bps (!!!))
On the KayPro side I used 'pip tty:=<file>[o]'
tty: is the serial printer port, and [o] indicates to send the file as binary, so it won't stop early when a byte matching 'end-of-file' is found.
After the transfer completes, the KayPro returns to 'A>'... at which point I type <CTRL>-C on the PC.
The process is *slow*... and pip doesn't say much while it's running... or not (e.g. when the handhaking is not correct, it just stalls... forever?)
So I opened another terminal window on the PC and ran 'ls -l <filename>' repeatedly to make sure that filesize was increasing.
Many files from the disk are now available in the files section, after literally hours of file-transfers ;)
There were some strangenesses during the transfers. I transferred K2X* twice, and verified they matched. LA.COM I transferred numerous times and verified they matched, but the remaining I did not verify. Oddly, unlike the others, their file-sizes didn't match the output of 'D.COM' (which is essentially 'dir' or 'ls'). One I tried twice, both times receiving 4K, when D.COM claimed it was 6K... so I dunno.