Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ cpm(1) — UNIX 2.9BSD

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

dd(1)

rx(4v)

CPM(1)  —  Unix Programmer’s Manual

NAME

cpm − read and write CP/M® floppy disks

SYNOPSIS

cpm [ options ] [ filename ]

DESCRIPTION

Cpm reads and writes files with an internal structure like a CP/M file system. By default cpm assumes that the specified file has the parameters of a standard IBM format single sided single density 8" CP/M floppy disk, i.e., 2002 records containing 128 bytes each, of which 52 are reserved for system use and 16 (2 blocks) are used by the directory (maximum 64 directory entries).  These parameters may be changed by specifying the appropriate flags (see below). Thus, various double density formats may also be read and written, provided that the hardware can handle the actual format. 

The specified file may be a floppy disk drive (e.g., /dev/floppy on an 11/780 or /dev/rrx?b if rx02 drives are available on your system), or a standard UNIX file with the appropriate structure. Since it may be inconvenient (and slow) to access the device directly, in particular the console floppy on an 11/780, it is always a good idea to copy the contents of the diskette into a standard file using dd(1), e.g.,

dd if=/dev/floppy of=yourfile bs=128 count=2002

On most systems you have to be superuser to access the console floppy and to be able to write to rx02’s. 

Flags:

−d display directory on standard output

−B the files specified with the c or C flag contain binary code rather than plain text (default)

−c name1 name2 copy the CP/M file name1 to the UNIX file name2

−C name1 name2 copy the UNIX file name1 to the CP/M file name2

−p name copy the specified CP/M file to standard output

−i enter interactive mode (all the above flags are turned off)

−I force initializtion of the specified CP/M file (e.g., delete all files)

−sn skew factor (sector interleaving); default is 6

−bn block size (in bytes); default is 1K bytes

−mn max number of directory entries; default is 64

−ln sector size (in bytes); default is 128

−rn number of sectors per track; default is 26

If the −i flag is specified, the filename argument must always be present.  If the specified file does not exist, a new file will be initialized. The −C, −c and −p flags are mutually exclusive. 

The following commands are available in interactive mode:

ccopyin unixfile cpmfile copy UNIX binary file to CP/M

ccopyout cpmfile unixfile copy CP/M binary file to UNIX

copyin unixfile cpmfile copy UNIX text file to CP/M

copyout cpmfile unixfile copy CP/M text file to UNIX

del[ete] filename a synonym for erase

dir[ectory] or ls display directory

era[se] filename delete the given file

hel[p] print a short description of each command

log[out] or exi[t] terminate, return to the shell

ren[ame] file1 file2 rename file1 to file2

typ[e] filename print CP/M file to console

The commands may be abbreviated as indicated by brackets. CP/M file names are automatically converted to upper case. The copy commands refuse to overwrite any existing files.

If the CP/M floppy file becomes full during a file transfer from UNIX, the file is closed and the command terminated.  The data already written to the CP/M file will be saved. 

The copyout command assumes that CP/M text files have cr+lf as line terminators and removes carriage returns.  Copyin adds a carriage return in front of each line-feed, and adds a ^Z to the end of the file. The binary copy commands provide for “raw” file copying, thus making it possible to copy code files to and from diskettes. 

Interrupts are recognized in interactive mode, and will return you to the command level. 

FILES

/dev/floppy
/dev/rrx?b
/usr/new/lib/cpm.hlp

SEE ALSO

dd(1), rx(4v)

BUGS

CP/M user numbers are ignored, files written to the CP/M floppy file will always have user number 0. 

No testing has been done with double density floppies. 

CP/M filename extensions containing more than 3 characters will quietly be truncated. 

Wildcards are not supported. 

AUTHOR

Helge Skrivervik

4th Berkeley Distribution  —  3 May 1983

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026