term% cat index.txt PIP(8) System Manager's Manual PIP(8)
NAME
pip - CD-ROM workbench
SYNOPSIS
disk/pip
DESCRIPTION
Pip is a SCSI I/O program centered around a SCSI disk of files called
tracks. Various commands will load and store tracks from and to vari‐
ous CD-ROM readers, writers, and files. Pip was written to be run on a
stand-alone workstation so that the I/O data rates required for CD-au‐
dio can be sustained.
When pip starts, it probes the SCSI bus and looks for one of the fol‐
lowing disks. The table in the program should be extended to include
your favorite disk. The program does not recognize just any disk be‐
cause it might scribble on precious data.
SEAGATE ST42400N
SEAGATE ST41520N
SEAGATE ST410800N
Pip looks for the following device for the CD ROM writer.
IMS CDD521/10
Pip looks for one of the following devices for the CD ROM reader. The
Philips will not read cdda format and the NEC does not work well with
pip. The Toshiba does not accurately seek on cdda media. We recommend
the Plextor. The first column is the device name that should be given
in the interactive commands.
plex PLEXTOR CD-ROM PX-4XCS
tosh TOSHIBA CD-ROM DRIVE:XM
phil IMS CDD521/10
nec NEC CD-ROM DRIVE:5001.0
nec NEC CD-ROM DRIVE:8411.0
The following commands are recognized.
help Print a one line description of each command.
load device track format disktrack
A track is copied from the device to the designated track on the
disk. The track is a number or *, designating all tracks. If
the copy completes normally, the old data on that disk track is
lost. format is either cdda or cdrom.
verif device track format disktrack
This is the same as load except that the data is not copied, but
compared to the data on the disk. The compare allows a slip of
multiples of four bytes as might occur copying an audio CD with
imprecise seek.
store track file
The disk track is written to a regular Plan 9 file. The track
may be a number or *. If the track is *, then the string file
is prefixed to the track number for every track.
toc [device]
Will print the table of contents of the specified device. If no
device is given, then the track table of contents of the disk is
given.
cleartoc
All tracks on the disk are deleted.
remove track
The specified track on the disk is deleted.
sum track
The specified disk track is read and checksummed.
publish track
The specified disk track is copied to the next track on the
Philips CD writer. The format of the data is not specified un‐
til the table of contents is written. Although it is not re‐
quired, it is usual that all tracks are the same format.
fixate format
Issue a fixate command to the Philips CD writer. Format is ei‐
ther cdda or cdrom. This makes the table of contents permanent.
session format
Issue a session command to the Philips CD writer. This is the
same as fixate except that a second session is opened and more
data may be put on the CD. Most readers can only see the table
of contents from the first session.
9660 proto track
A filesystem description is read from the proto file in mkfs(8)
format. The file system is converted to ISO 9660 format and
written on the specified disk track.
The first line of the proto file for the 9660 command is parsed for op‐
tions. The following options are recognized.
-c Convert all file names in the file system so that they conform
to 9660 standards. (Roughly this is eight or fewer single case
alphanumerics followed by an optional period and three or fewer
single case alphanumerics.) File names that conform are con‐
verted from lower case letters in the input file system to upper
case in the output file system. Names that do not conform are
renamed to Fnumber and directories are renamed Dnumber. A file
named _CONFORM.MAP is created in the root of the output file
system with old-name new-name pairs of all converted files.
-e Add a system-use field to every directory record that contains
the name, uid, gid, and mode of the file. With or without this
extension, directory records conform to the 9660 standard and
should be able to be read on other systems.
-a file
Places the named file in the abstract field of the primary vol‐
ume descriptor. The file must be in the root directory.
-b file
Places the named file in the bibliographic field of the primary
volume descriptor. The file must be in the root directory.
-n file
Places the named file in the copyright field of the primary vol‐
ume descriptor. The file must be in the root directory.
-s dir Prefix the directory name dir to the names of files in the proto
file. This permits a file tree to be assembled cleanly under a
special directory, to be then copied into the new file system at
the root.
-v Print each file name as it is copied.
All dates in the output file system are set to the date the command was
executed. The volume identifier field of the primary volume descriptor
is set to the last component of the proto file name. The system iden‐
tifier field of the primary volume descriptor is set to PLAN 9, and
should be keyed to the interpretation of the system-use fields of the
directory records.
Example
To cut your own audio CD with your favorite CDs:
cleartoc
load plex 5 cdda 1 # read track 5 from an audio CD
load plex 2 cdda 2 # read track 2 from an audio CD
load ... # etc.
publish * # write all tracks to Philips CD writer
fixate cdda # write table of contents
To cut your own 9660 CD-ROM:
mount /srv/bootes /n/bootes # make a clean, bind-free tree
9660 mkfs 4 # make a 9660 image from a mkfs specification
# for the Plan 9 distribution
# the first line of mkfs is
# -s /n/bootes -c -e -n notice
publish 4 # write 9660 image to Philips CD writer
fixate cdrom # write table of contents
SOURCE
/sys/src/cmd/disk/pip
SEE ALSO
mkfs(8)
BUGS
The program only knows about a few devices. The tables and device code
must be extended to be more comprehensive. The industry has not
adopted a standard way to read and write audio.
PIP(8)