Easy pipping, aka to pip or not to pip

A project log for Floppy "Fun" -- Backing up a unique Kay-Pro disk

Apparently I've acquired a one-of-a-kind logic-analyzer, whose lone system-diskette is in need of backing-up.

esot.eric 6 days ago2 Comments

UPDATE: NOPE. See next log...

ziggurat and I have both been unable to fiigure out how to successfully mount the disk (image) on a linux machine using cpmtools. Seems strange... seems like surely enough folk out there use (d) kaypro 2x's that surely the settings should already be in there. But alas, two folk, no go.

The idea, then, is to use pip, the peripheral interchange program, to send the files from the booted disk in the booted machine via serial port to a linux (or whatever) machine. Sounds simple enough...

Unsure how exactly to format the command line, came across this:!topic/comp.os.cpm/f9vzK1OvaII

Wherein numerous caveats I'd vagued upon are brought up... and several I hadn't considered.

 First... pip does have the ability to send binary files, but how would the receiver recognize the end of the file, when only 8 bits are transferred at a time, and a binary file can contain *any* 8bit value in any location, including the "end of file" byte...?

So then pip must use a protocol for the transfer, like xmodem, right? Well I don't see that in the manual, it looks like it isn't that sophisticated. Then raw binary transfer... I guess I could have a timeout... or maybe the handshaking lines... dunno.

Then that page made note of something I'd glossed over... pip *does* have the ability to convert an input file to intel hex format. BAM.

Which is also a great idea because:  I haven't found anywhere info on how to configure the serial port... yahknow, baudrate, parity, handshaking... which didn't seem like too big a deal until I happened upon anithher comment at that page... default it 7bit! Well shit... that'd put a serious damper on a binary transfer.

So yes... I think intel hex conversion will do quite nicely. Built into pip. And crc's to boot. BAM.


ziggurat29 wrote 5 days ago point

I was able to use cpmtools on a different Kaypro 2x disk image from one of the many archive sites (this was boston kaypro user group's disk archive), so there is simply something peculiar about this one for whatever reason.  But that disk is precious, since it has the Omni4 software on it, and it's fantastic that you painstakingly reconstructed it such that you can run the system again.  So don't worry too much about that.

Regarding pip usage, it's handy that it has some sort of binary-to-hex capability built in.  I somehow doubt it converts to Intel hex per se, but who am I to disagree!  I would thing just straight hex.  Regardless, 7bit ascii will be fine for transferring text (hex).  There also exists various Kermits out there, if you want to go to that effort.  For starters, though, it would probably be useful to first dump a text document (like the manual or something else on the disk) so that you can verify on the receiving end that all the serial stuff is correct.  To wit, the CP/M device name for the serial port is 'aux:'  Or maybe 'pun:' (paper tape(!) punch).  But this machine has 3 external serial ports (a general-purpose one, a serial printer, and an internal modem (the 4th is used internally for the keyboard)), so I'm not sure of what the correct name it.  Things to discover!

Also, I'm not sure about serial port bit rate setting.  I suspect that the programs did that themselves, rather than it being set via the OS.  Perhaps you can connect a logic analyzer and see... oh wait, nevermind; it's a challenge when the test instrument is also the device-under-test!  I somehow feel that the boot up default is 300 bps, but that's purely a guess.  I am pretty sure the Kaypro is hard-wired to be DTE.

  Are you sure? yes | no

esot.eric wrote 5 days ago point

great info here... and many discoveries not yet logged that match. Aux and pun... figures. Tty appears to be the printer port... and text file transferred... so onto binary. Nope, ihex in, not out. But it looks to be 300 8n1, 18 minutes to transfer as raw binary that wasn't saved. Blah. Maybe aux or pun defaults to a higher rate.

Interesting about the other disks working... maybe send me one of those and I can check it in here? I once tried several archived disks found online in this machine, but only a handful worked... I think the archive had images for many kaypro models.

  Are you sure? yes | no