How do you use PIP ?

Started by Mark Smith, December 14, 2006, 11:58 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Mark Smith

Hi there,

Can anyone give me a run down on using PIP ?  It's a bit before even my time :-)

What I want to do us copy files from user area 1 on drive A: to drive B:

The background is that I've gotten CPM on a D81 (yay for the MMC64 D81 writer! :-) but the version does not work with my 512K 1750 REU plugged in .. so what I want to do is assmble a new version of CPM by following it's including instructions, problem is that some files are in User 0, some in User 1 and so on ... and I don't know how to use PIP to copy them from those user areas to a 1571 drive.

Any pointers ?

Or even better a copy of CPM on D81 that is the most recent version and supports the REU and supports all the other extra bits in the C128 :-)

Thanks!

Mark
------------------------------------------------------------------------------------------------------------------

Commodore 128, 512K 1750 REU, 1581, 1571, 1541-II, MMC64 + MP3@64, Retro-Replay + RR-Net and a 1541 Ultimate with 16MB REU, IDE64 v4.1 + 4GB CF :-)

8502

hi

Did you try "help pip" from the cp/m prompt?

pip generally follows the following format:
pip drive:{destination filespec}=drive:{source filespec}[option list]
If you're feeling masochistic there's also an interactive prompt version (just type pip and press return [control-c to exit :P]).

I made a 1581 copy of cp/m the following way:

System Setup:
internal c128d 1571 device#8 = cp/m drive a:
external 1581 device#9 = cp/m drive b:

* boot cp/m from 1571 (I used the"fastfinal" version but any version will work as long as the format.com file is the June 8, 1987 version which supports the 1581)

* format 1581 floppy
>format
(follow the prompts)

* copy all files from drive a: to drive b: (including system files)
>pip b:=a:*.*[r]

After that I had a bootable 1581 version of cp/m!

To copy files to a specific user area the format would be:
>pip b:[g3]=a:*.*[g1]
which copies all (non-system) files from a: user 1 area to b: user 3 area.

Options can be combined:
>pip b:[g3]=a:*.*[g1r]
copies all files (including system files) from a: user 1 area to b: user 3 area.

Enjoy!

Paul
c128dcr  |  1581  |  1750  |  1084s  |  1351  |  mmc64  |  super-g  |  competition pro

OzOne

Quote from: strandedinnzHi there,

Can anyone give me a run down on using PIP ?  It's a bit before even my time :-)

What I want to do us copy files from user area 1 on drive A: to drive B:

The background is that I've gotten CPM on a D81 (yay for the MMC64 D81 writer! :-) but the version does not work with my 512K 1750 REU plugged in .. so what I want to do is assmble a new version of CPM by following it's including instructions, problem is that some files are in User 0, some in User 1 and so on ... and I don't know how to use PIP to copy them from those user areas to a 1571 drive.

Any pointers ?

Or even better a copy of CPM on D81 that is the most recent version and supports the REU and supports all the other extra bits in the C128 :-)

Thanks!

Mark
PIP: More Than a Copy Program!
     ------------------------

     As most of you already know PIP is a transient CP/M command, that
is it must be on the program disk to use.  This CP/M utility most common
use is for copying files from one disk to another.

     PIP can be used in two different ways, if you type in PIP without
any parameters you will get the prompt "*>".  This is the PIP command
prompt.  (To cancel, press return alone at the "*>" prompt).  If you
type in PIP with parameters it will copy the specified files and return
you to the system.  Example:

               PIP A:OLDNAME.FILETYPE=A:NEWNAME.FILETYPE
           or without parameters following...
               PIP (loads program)
               *A:OLDNAME.TYP=A:NEWNAME.TYP

     Commands for one drive differ from commands for two drives only by
designation of the drives.  Example:

PIP B: means to drive B from drive A
PIP E: means to drive E from drive A

Note: Drive E is a simulated disk drive in memory and is referred to as
a "virtual" drive.

     Wildcards may be used when coping a file, IE: PIP B:=A:*.* will
copy all the files on drive A to the disk in drive B.

     Another option available is the verify option.  IE: PIP B:=A*.*[V].
This will copy all the files as in the first example, but will verify by
comparing to the original file.

     PIP has many other uses other than copying files...  For example,
you can concatenate files (join together) IE:

*> MEMO.TXT=MEMO1.TXT[V],MEMO2,TXT[V],MEMO3.TXT[V]

     The above example takes the files MEMO1.TXT, MEMO2.TXT, and
MEMO3.TXT and combines them into one file called MEMO.TXT, and also
verifies them during the process.  To do the same thing and put the new
file on a different drive, you would enter:

*>B:MEMO.TXT=A:MEMO1.TXT[V],A:MEMO1.TXT[V],A:MEMO2.TXT[V],A:MEMO3.TXT[V]

     (This would put the file on drive B, also, please note that in the
verify parameter the "[" and "]" are brackets and not parentheses.)

     PIP has another option that will allow you to make only copies of
files that have been altered since last copied.  When you alter a file,
CP/M sets a flag known as the archive flag.  If you were to enter, for
example, B:*.TXT[AV] (A=Archive, V=Verify), PIP would make a copy of all
the TXT files on the disk that have been changed.

     You may see the status of your files be entering DIR[FULL and you
will see "ARCV" in the attribute column if a file needs to be backed up.

     PIP can also be used to display and/or print files.  Example:

PIP CON:=A:MEMO.TXT, will display the file MEMO.TXT to the screen.  (CON
is the device name for the console keyboard.)  It works like the TYPE
command, but is more versatile.

     If you were to enter LST:=A:MEMO.TXT, it would also print the file
just as it is or with options as follows:

     N - adds line numbers to listings
     U - prints in uppercase only
     L - prints in lowercase only
     F - removes form feeds
     PN - form feed every "n" lines
     TN - tabs set every "n" columns

     For example, to print a file all in uppercase, form feed every 60
lines and filter out all embedded line feeds in the file the command
would look like this: LST:=A:MEMO.TXT[UP60F].

     Here is a list of some possible commands you may want to save for
reference:

PIP B:=A:MEMO.TXT
Copy a file from disk in drive B from disk in drive A.

PIP B:=A:*.*
Copy all files on disk in drive A to disk in drive B.

PIP B:=A:*.*[V]
Copy all the files and verify them.

PIP B:=A:*.*[VR]
Copy all the files including the system files with verify.

PIP B:=A:*.TXT[AV]
Copy (back-up) altered text files.

PIP B:=A:MEMO.TXT=MEMOX.TXT[E]
Will copy the file MEMO.TXT, rename it to MEMOX.TXT and display the file
on the screen as it is being copied.

===============================================================

     I hope this short text file has helped you in some way to
understand the world of CP/M on the Commodore computer.  I know I have a
lot to learn and if I learn anything new I will try to share it with you
as i go along.  If you would like to write a text file like this and
share your knowledge of CP/M with us... Please upload it to the system
and leave feedback to the sysop and I will place it in the text file
section for all to read.

Written by: Mike Fontaine - SYSOP -
            COMTEL 64 BBS - 813-989-9128

     A Commodore BBS supporting the commodore 64, 128, and CP/M 3+ for
the 128 Commodore computer... 8:00PM - 6:00AM Weekdays - 24 Hours on
weekends... <> A C-NET support BBS <>