[sebhc] PIP

Lee Hart leeahart at earthlink.net
Fri Jul 16 14:04:43 CDT 2004

Carroll Waddell wrote:
> I'm trying to use PIP to create a file on my H8 from the PC. The
> only thing I have been able to transfer so far are ASCII files.
> When I try to transfer a COM file (first is MBASIC.COM) it stops
> at the first Control Z (026). According to my CP/M book, you can
> specify an input as an object file [O].

The [O] was only needed with the PIP that came with CP/M version 1.x.
Later versions of PIP automatically treat the file as binary if its name
ends in .COM.

Some CP/M emulators on the PC rename CP/M .COM files to something else
(like .CPM) so they won't be confused with DOS .COM files. Trying to use
PIP to transfer such a file will make it misinterpret it as an ASCII
file. In this case the [O] option should work.

On the CP/M computer side of things, what usually happens is that the
BIOS serial port drivers are forcing 7-bit transfers; it's not PIP that
is doing it. Heath CP/M has a bunch of serial drivers that you can
select with STAT. I know for sure that the TTY drivers *do* send the
full 8 bits on both send and receive; so all you need to do in PIP is to
use the [O] option so PIP won't use control-Z to mark the end of a file.

One more trick that comes in handy. PIP has a 256-byte "hole" at the
beginning where you can insert your own special input or output driver.
I have a version with a 'help' file inserted into this hole, and another
with a direct serial port driver that uses the handshaking lines, so you
can PIP large files serially without missing any characters.

> The book I have says that PIP also monitors the keyboard so that
> you can end the transfer by pressing Ctrl Z, but PIP is ignoring
> the keyboard.

Hmm... it works on mine.

> The book also says that you can tell PIP to quit copying when it
> encounters a certain string which you can specify followed by
> Ctrl Z. I haven't been able to make that work either.

That also works on mine. I suspect that you somehow got an old version
of PIP.

PIP is an amazingly versatile program. I have used it many times to
transfer files between computers.

If you are still having problems, one trick is to use the LOAD and
UNLOAD programs. UNLOAD converts a binary file (MBASIC.COM) into a .HEX
file. You can then use PIP to transfer it (all at once, or in pieces) to
the other computer. Then use LOAD to convert the .HEX file(s) back to
.COM files. That always works, even with paths that only transfer 7
bits. And, .HEX includes error checking, so you will detect any errors
that occur.
"Never doubt that the work of a small group of thoughtful, committed
citizens can change the world. Indeed, it's the only thing that ever
has!" -- Margaret Mead
Lee A. Hart  814 8th Ave N  Sartell MN 56377  leeahart_at_earthlink.net

Delivered by the SEBHC Mailing List

More information about the Sebhc mailing list