cpm commands
This commit is contained in:
parent
33d7cb7a40
commit
1cd0d2a818
|
|
@ -0,0 +1,21 @@
|
|||
Im Verzeichnis cpm muessen folgende Files vorhanden sein:
|
||||
|
||||
184 1 -rw-rw-rw- 1 erish eris 45 Aug 2 07:30 cpfloppy
|
||||
201 3 -rwxr-xr-x 1 wega system 1135 Jul 28 16:44 cpm-zu-wega
|
||||
70 10 -rw-rw-rw- 1 erisg eris 4842 Aug 1 15:10 cpm.1
|
||||
16 14 -rw-rw-rw- 1 erish eris 7055 Aug 2 07:31 cpm.1C
|
||||
28 2 -rw-rw-rw- 1 erisg eris 921 Aug 1 17:14 cpm.hlp
|
||||
75 9 -rw-rw-rw- 1 erisg eris 4441 Aug 1 13:49 cpm.orig.1
|
||||
125 2 drwxrwxrwx 2 erish eris 960 Aug 2 07:29 cpm3
|
||||
359 2 -rwxr-xr-x 1 erish eris 650 Aug 1 16:52 cpma
|
||||
362 2 -rwxrwxrwx 1 erish eris 643 Aug 1 17:35 cpmi
|
||||
194 7 -rw-rw-rw- 1 erish eris 3342 Aug 2 07:31 osm
|
||||
80 3 -rwxr-xr-x 1 wega system 1050 Feb 23 09:52 wega-zu-cpm
|
||||
|
||||
Das Programm cpm wurde original fuer UCB 2.9 entwickelt und danach
|
||||
fuer 1630, A7150 und P8000 angepasst.
|
||||
Das in einigen Prozeduren verwendete OS/M-Format ist im File osm
|
||||
ausfuehrlich erlaeutert, das DOS-Format ist im CP/A-Menue des Programms
|
||||
Format unter Buchstaben j angeboten. Es koennen im Prinzip alle
|
||||
CP/M, CP/A oder SCP ueblichen Formate bearbeitet werden, falls der
|
||||
Diskettentreiber von MUTOS bzw. WEGA dies zulaesst.
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
echo -n '"cpm-zu-wega" uebertragt'
|
||||
if test $# != 0
|
||||
then
|
||||
echo -n ' nach Anfrage'
|
||||
else
|
||||
echo -n ' alle'
|
||||
fi
|
||||
echo -n ' Files der Diskette nach: '
|
||||
echo `pwd`
|
||||
echo 'von der Diskette duerfen nur Text-Dateien (ASCII-Code) uebertragen werden !!'
|
||||
echo 'cpm-diskette ---> Laufwerk 0, Quittung mit ET; sonst DEL'
|
||||
read a
|
||||
./cpm -d -S 1 /dev/fd0 | tr ":" "\012" | \
|
||||
awk '{print $1,".",$2}' | \
|
||||
tr -d "\040" >/tmp/fnamen$$
|
||||
echo 'ende' >>/tmp/fnamen$$
|
||||
i=anfangswert
|
||||
while test $i != "." -a $i != "Total.of"
|
||||
do
|
||||
ed - /tmp/fnamen$$ <<eof
|
||||
1w /tmp/fna$$
|
||||
1d
|
||||
w
|
||||
q
|
||||
eof
|
||||
i=`cat /tmp/fna$$`
|
||||
if test $i != "." -a $i != "Total.of"
|
||||
then
|
||||
if test $# -eq 0
|
||||
then
|
||||
/z/bin/cpm -S 1 -c $i $i /dev/fd0 >/tmp/fehler$$
|
||||
if test -s /tmp/fehler$$
|
||||
then
|
||||
echo 'Fehler bei Uebertragung von ' $i
|
||||
rm /tmp/fehler$$
|
||||
else
|
||||
echo $i 'uebernommen'
|
||||
rm /tmp/fehler$$
|
||||
fi
|
||||
else
|
||||
echo -n $i 'uebertragen [y/n] :'
|
||||
read a
|
||||
if test $c = 'y'
|
||||
then
|
||||
/z/bin/cpm -S 1 -c $i $i /dev/fd0 >/tmp/fehler$$
|
||||
if test -s /tmp/fehler$$
|
||||
then
|
||||
echo 'Fehler bei Uebertragung von ' $i
|
||||
fi
|
||||
rm /tmp/fehler$$
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
rm /tmp/fna$$
|
||||
done
|
||||
rm /tmp/fnamen$$
|
||||
|
|
@ -0,0 +1,149 @@
|
|||
.TH CPM 1 WEGA
|
||||
.ad
|
||||
.fi
|
||||
.SH NAME
|
||||
.IP
|
||||
cpm \- Lesen und Schreiben von Disketten mit CP/M-Format
|
||||
.SH SYNTAX
|
||||
\fBcpm\fR [\fBoption\fR] [\fBfilename\fR]
|
||||
.SH BESCHREIBUNG
|
||||
.B cpm
|
||||
liest und schreibt Dateien mit der Struktur des
|
||||
CP/M-Filesystems.
|
||||
.br
|
||||
Das angegebene File muss ein Floppy-Disk-Laufwerk sein
|
||||
(/dev/fd* bzw. /dev/rfd*) oder ein Unix-Standard-File
|
||||
mit der gleichen Struktur. Da es unbequem und langsam ist,
|
||||
auf das Geraet ueber Special-File zuzugreifen, ist es immer
|
||||
guenstig eine Kopie des Disketteninhaltes im
|
||||
Unix-Standard-Filesystem anzufertigen. Dazu kann das
|
||||
dd-Kommando benutzt werden.
|
||||
.PP
|
||||
.RS
|
||||
dd if=/dev/rfd1 of=
|
||||
.I ihrfile
|
||||
bs=512 count=..
|
||||
.RE
|
||||
.PP
|
||||
Zu den Geraeten /dev/fd* bzw. /dev/rfd*
|
||||
darf nur von der console aus zugegriffen werden.
|
||||
.SH FLAGS:
|
||||
.RS
|
||||
.IP -d 16
|
||||
Anzeige des Directory auf Standard-Ausgabe
|
||||
.IP -B 16
|
||||
die Dateien die mit Hilfe des c- bzw. C-Flags uebertragen werden
|
||||
sollen, sind Binaercode - andernfalls Textdateien.
|
||||
.IP -c\ \fIname1\fR\ \fIname2\fR 16
|
||||
Kopiere die CP/M-Datei \fIname1\fR in das UNIX-File \fIname2\fR
|
||||
.IP -C\ \fIname1\fR\ \fIname2\fR 16
|
||||
Kopiere das Unix-File \fIname1\fR in die CP/M-Datei \fIname2\fR
|
||||
.IP -p\ \fIname\fR 16
|
||||
Kopiere die angegebene CP/M-Datei nach Standard-Ausgabe.
|
||||
.IP -i 16
|
||||
Uebergang in den interaktiven Modus. (alle o.g. Flags
|
||||
sind wirkungslos)
|
||||
.IP -I 16
|
||||
Initialisiere das angegebene File im CP/M-Systemformat;
|
||||
d.h. alle CP/M-Dateien in diesem System werden geloescht.
|
||||
.IP -s\ \fIn\fR 16
|
||||
Sektor-Interleaving-Faktor = \fIn\fR; Standard ist 6
|
||||
.IP -b\ \fIn\fR 16
|
||||
Blocklaenge = \fIn\fR (in Byte); Standard ist 2K (2048) Byte
|
||||
.IP -m\ \fIn\fR 16
|
||||
maximale Anzahl von Directory-Eintraegen = \fIn\fR; Standard ist 128
|
||||
.IP -l\ \fIn\fR 16
|
||||
Sektorlaenge (in Bytes) = \fIn\fR; Standard ist 512
|
||||
.IP -r\ \fIn\fR 16
|
||||
Anzahl der Sektoren pro Spur = \fIn\fR; Standard ist 18
|
||||
.IP -S\ \fIn\fR 16
|
||||
Anzahl der Systemspuren; Standard ist 0
|
||||
.IP -t\ \fIn\fR 16
|
||||
Anzahl der Spuren der Diskette; Standard ist 80
|
||||
.IP
|
||||
.RE
|
||||
Wird das i-Flag gesetzt, muss trotzdem der Filename mit angegeben
|
||||
werden. Existiert das angegebene File nicht, so wird nach entsprechender
|
||||
Rueckfrage ein CP/M-Filesystem mit diesem Namen im Unixsystem initialisiert.
|
||||
.br
|
||||
Die Flags -C, -c und -p schliessen einander aus.
|
||||
.SH
|
||||
KOMMANDOS IM INTERAKTIVEN MODUS
|
||||
.RS
|
||||
.IP ccopyin\ \fIunixfile\fR\ \fIcpmfile\fR 30
|
||||
Kopiere Unix-Binary-File ins CP/M
|
||||
.IP ccopyout\ \fIcpmfile\fR\ \fIunixfile\fR 30
|
||||
Kopiere CP/M-Binary-Datei ins Unix
|
||||
.IP copyin\ \fIunixfile\fR\ \fIcpmfile\fR 30
|
||||
Kopiere Unix-Text-File ins CP/M
|
||||
.IP copyout\ \fIcpmfile\fR\ \fIunixfile\fR 30
|
||||
Kopiere CP/M-Text-Datei ins Unix
|
||||
.IP del[ete]\ \fIfilename\fR 30
|
||||
Synonym fuer erase
|
||||
.IP dir[ectory] 30
|
||||
Anzeige Directory des CP/M-Filesystems
|
||||
.IP dum[p]\ \fIfilename\fR 30
|
||||
hexadezimale Anzeige der angegebenen Datei auf dem Terminal
|
||||
.IP era[se]\ \fIfilename\fR 30
|
||||
Loeschen der angegeben Datei aus dem CP/M-Filesystem
|
||||
.IP exi[t] 30
|
||||
Ende; Fortsetzung im Shell
|
||||
.IP hel[p] 30
|
||||
Anzeige des help-Textes
|
||||
.IP log[out] 30
|
||||
Synonym fuer exit
|
||||
.IP ls 30
|
||||
Synonym fuer dir
|
||||
.IP ren[ame]\ \fIfile1\fR\ \fIfile2\fR 30
|
||||
Umbenennung der CP/M-Datei \fIfile1\fR in \fIfile2\fR
|
||||
.IP typ[e]\ \fIfilename\fR 30
|
||||
Anzeige der genannten CP/M-Datei am Terminal
|
||||
.IP !\ \fIUNIX-kommando\fR 30
|
||||
Ausfuehren des UNIX-Kommandos
|
||||
.IP disk 30
|
||||
Anzeige der gesetzten Diskettenparameter
|
||||
.RE
|
||||
.IP
|
||||
Die Kommandonamen koennen mit 3 Buchstaben abgekuerzt werden.
|
||||
CP/M-Dateinamen werden automatisch in Grossbuchstaben umgewandelt.
|
||||
Die Kopierkommandi' erlauben nicht das Ueberschreiben bereits
|
||||
existierender Dateien.
|
||||
.IP
|
||||
Wird waehrend der Uebertragung das CP/M-Floppy-Geraet voll, wird
|
||||
die Datei geschlossen und das Kommando abgebrochen. Die bereits
|
||||
geschriebenen Daten im CP/M-File bleiben erhalten.
|
||||
.IP
|
||||
Das Kommando copyout setzt voraus, dass die CP/M-Textdateien als
|
||||
Zeilenabschluss \fIcr + lf\fR haben und ignoriert \fIcr\fR bei der Uebertragung
|
||||
ins Unix-File.
|
||||
copyin fuegt vor jeden \fIlf\fR im Unix-File bei der Uebertragung in die
|
||||
CP/M-Datei \fIcr\fR ein und schliesst eine Datei mit ^z ab.
|
||||
.IP
|
||||
Die binaeren Kopierkommandos fuehren die Uebertragung mit 'raw'-Dateien
|
||||
durch, womit auch Code-Dateien von und zu Disketten uebertragen
|
||||
werden koennen.
|
||||
.IP
|
||||
Interrupts werden im interaktiven Modus erkannt. Die
|
||||
Fortsetzung erfolgt mit Eingabeanforderung fuer eine neue
|
||||
Kommandozeile.
|
||||
.SH
|
||||
FILES
|
||||
.IP
|
||||
/dev/fd* bzw. /dev/rfd*
|
||||
.br
|
||||
/usr/new/lib/cpm.hlp
|
||||
.SH
|
||||
FEHLERQUELLEN
|
||||
.IP
|
||||
CP/M-Nutzernummern werden ignoriert; Dateien, die auf ein
|
||||
CP/M-Floppy-Filesystem geschrieben werden, erhalten immer die Nutzernummer 0.
|
||||
.IP
|
||||
CP/M-Dateinamenerweiterungen laenger als 3 Zeichen werden entsprechend
|
||||
abgeschnitten.
|
||||
.IP
|
||||
Wildcardzeichen sind nicht erlaubt.
|
||||
.IP
|
||||
CP/M-Dateinamen werden nicht erkannt, wenn in Zeichen des Namens das
|
||||
7. Bit eingtragen (POWER-Kommando "SET") bzw. jenes Bit in
|
||||
Zeichen der Filenamenergaenzung gesetzt ist (POWER-Kommando "SETRO"
|
||||
und "SETSYS").
|
||||
|
|
@ -0,0 +1,264 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
CPM(1) - 1 - CPM(1)
|
||||
|
||||
|
||||
|
||||
NNNNAAAAMMMMEEEE
|
||||
cpm - Lesen und Schreiben von Disketten mit CP/M-Format
|
||||
|
||||
SSSSYYYYNNNNTTTTAAAAXXXX
|
||||
ccccppppmmmm [ooooppppttttiiiioooonnnn] [ffffiiiilllleeeennnnaaaammmmeeee]
|
||||
|
||||
BBBBEEEESSSSCCCCHHHHRRRREEEEIIIIBBBBUUUUNNNNGGGG
|
||||
ccccppppmmmm liest und schreibt Dateien mit der Struktur des CP/M-Filesystems.
|
||||
Das angegebene File muss ein Floppy-Disk-Laufwerk sein (/dev/fd* bzw.
|
||||
/dev/rfd*) oder ein Unix-Standard-File mit der gleichen Struktur. Da es
|
||||
unbequem und langsam ist, auf das Geraet ueber Special-File zuzugreifen,
|
||||
ist es immer guenstig eine Kopie des Disketteninhaltes im Unix-
|
||||
Standard-Filesystem anzufertigen. Dazu kann das dd-Kommando benutzt
|
||||
werden.
|
||||
|
||||
dd if=/dev/rfd1 of= _i_h_r_f_i_l_e bs=512 count=..
|
||||
|
||||
Zu den Geraeten /dev/fd* bzw. /dev/rfd* darf nur von der console aus
|
||||
zugegriffen werden.
|
||||
|
||||
FFFFLLLLAAAAGGGGSSSS::::
|
||||
-d Anzeige des Directory auf Standard-Ausgabe
|
||||
|
||||
-B die Dateien die mit Hilfe des c- bzw. C-Flags
|
||||
uebertragen werden sollen, sind Binaercode -
|
||||
andernfalls Textdateien.
|
||||
|
||||
-c _n_a_m_e_1 _n_a_m_e_2 Kopiere die CP/M-Datei _n_a_m_e_1 in das UNIX-File _n_a_m_e_2
|
||||
|
||||
-C _n_a_m_e_1 _n_a_m_e_2 Kopiere das Unix-File _n_a_m_e_1 in die CP/M-Datei _n_a_m_e_2
|
||||
|
||||
-p _n_a_m_e Kopiere die angegebene CP/M-Datei nach Standard-
|
||||
Ausgabe.
|
||||
|
||||
-i Uebergang in den interaktiven Modus. (alle o.g.
|
||||
Flags sind wirkungslos)
|
||||
|
||||
-I Initialisiere das angegebene File im CP/M-
|
||||
Systemformat; d.h. alle CP/M-Dateien in diesem
|
||||
System werden geloescht.
|
||||
|
||||
-s _n Sektor-Interleaving-Faktor = _n; Standard ist 6
|
||||
|
||||
-b _n Blocklaenge = _n (in Byte); Standard ist 2K (2048)
|
||||
Byte
|
||||
|
||||
-m _n maximale Anzahl von Directory-Eintraegen = _n;
|
||||
Standard ist 128
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
CPM(1) - 2 - CPM(1)
|
||||
|
||||
|
||||
|
||||
-l _n Sektorlaenge (in Bytes) = _n; Standard ist 512
|
||||
|
||||
-r _n Anzahl der Sektoren pro Spur = _n; Standard ist 18
|
||||
|
||||
-S _n Anzahl der Systemspuren; Standard ist 0
|
||||
|
||||
-t _n Anzahl der Spuren der Diskette; Standard ist 80
|
||||
|
||||
|
||||
Wird das i-Flag gesetzt, muss trotzdem der Filename mit angegeben
|
||||
werden. Existiert das angegebene File nicht, so wird nach entsprechender
|
||||
Rueckfrage ein CP/M-Filesystem mit diesem Namen im Unixsystem
|
||||
initialisiert.
|
||||
Die Flags -C, -c und -p schliessen einander aus.
|
||||
|
||||
|
||||
KOMMANDOS IM INTERAKTIVEN MODUS
|
||||
|
||||
ccopyin _u_n_i_x_f_i_l_e _c_p_m_f_i_l_e Kopiere Unix-Binary-File ins CP/M
|
||||
|
||||
ccopyout _c_p_m_f_i_l_e _u_n_i_x_f_i_l_e Kopiere CP/M-Binary-Datei ins Unix
|
||||
|
||||
copyin _u_n_i_x_f_i_l_e _c_p_m_f_i_l_e Kopiere Unix-Text-File ins CP/M
|
||||
|
||||
copyout _c_p_m_f_i_l_e _u_n_i_x_f_i_l_e Kopiere CP/M-Text-Datei ins Unix
|
||||
|
||||
del[ete] _f_i_l_e_n_a_m_e Synonym fuer erase
|
||||
|
||||
dir[ectory] Anzeige Directory des CP/M-
|
||||
Filesystems
|
||||
|
||||
dum[p] _f_i_l_e_n_a_m_e hexadezimale Anzeige der angegebenen
|
||||
Datei auf dem Terminal
|
||||
|
||||
era[se] _f_i_l_e_n_a_m_e Loeschen der angegeben Datei aus dem
|
||||
CP/M-Filesystem
|
||||
|
||||
exi[t] Ende; Fortsetzung im Shell
|
||||
|
||||
hel[p] Anzeige des help-Textes
|
||||
|
||||
log[out] Synonym fuer exit
|
||||
|
||||
ls Synonym fuer dir
|
||||
|
||||
ren[ame] _f_i_l_e_1 _f_i_l_e_2 Umbenennung der CP/M-Datei _f_i_l_e_1 in
|
||||
_f_i_l_e_2
|
||||
|
||||
typ[e] _f_i_l_e_n_a_m_e Anzeige der genannten CP/M-Datei am
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
CPM(1) - 3 - CPM(1)
|
||||
|
||||
|
||||
|
||||
Terminal
|
||||
|
||||
! _U_N_I_X-_k_o_m_m_a_n_d_o Ausfuehren des UNIX-Kommandos
|
||||
|
||||
disk Anzeige der gesetzten
|
||||
Diskettenparameter
|
||||
|
||||
Die Kommandonamen koennen mit 3 Buchstaben abgekuerzt werden.
|
||||
CP/M-Dateinamen werden automatisch in Grossbuchstaben umgewandelt.
|
||||
Die Kopierkommandi' erlauben nicht das Ueberschreiben bereits
|
||||
existierender Dateien.
|
||||
|
||||
Wird waehrend der Uebertragung das CP/M-Floppy-Geraet voll, wird
|
||||
die Datei geschlossen und das Kommando abgebrochen. Die bereits
|
||||
geschriebenen Daten im CP/M-File bleiben erhalten.
|
||||
|
||||
Das Kommando copyout setzt voraus, dass die CP/M-Textdateien als
|
||||
Zeilenabschluss _c_r + _l_f haben und ignoriert _c_r bei der Uebertragung
|
||||
ins Unix-File. copyin fuegt vor jeden _l_f im Unix-File bei der
|
||||
Uebertragung in die CP/M-Datei _c_r ein und schliesst eine Datei mit
|
||||
^z ab.
|
||||
|
||||
Die binaeren Kopierkommandos fuehren die Uebertragung mit 'raw'-
|
||||
Dateien durch, womit auch Code-Dateien von und zu Disketten
|
||||
uebertragen werden koennen.
|
||||
|
||||
Interrupts werden im interaktiven Modus erkannt. Die Fortsetzung
|
||||
erfolgt mit Eingabeanforderung fuer eine neue Kommandozeile.
|
||||
|
||||
|
||||
FILES
|
||||
|
||||
/dev/fd* bzw. /dev/rfd*
|
||||
/usr/new/lib/cpm.hlp
|
||||
|
||||
|
||||
FEHLERQUELLEN
|
||||
|
||||
CP/M-Nutzernummern werden ignoriert; Dateien, die auf ein CP/M-
|
||||
Floppy-Filesystem geschrieben werden, erhalten immer die
|
||||
Nutzernummer 0.
|
||||
|
||||
CP/M-Dateinamenerweiterungen laenger als 3 Zeichen werden
|
||||
entsprechend abgeschnitten.
|
||||
|
||||
Wildcardzeichen sind nicht erlaubt.
|
||||
|
||||
CP/M-Dateinamen werden nicht erkannt, wenn in Zeichen des Namens
|
||||
das 7. Bit eingtragen (POWER-Kommando "SET") bzw. jenes Bit in
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
CPM(1) - 4 - CPM(1)
|
||||
|
||||
|
||||
|
||||
Zeichen der Filenamenergaenzung gesetzt ist (POWER-Kommando "SETRO"
|
||||
und "SETSYS").
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,169 @@
|
|||
.TH CPM 1
|
||||
.SH
|
||||
\fBNAME\fR
|
||||
cpm \- read and write CP/M\*R floppy disks
|
||||
.SH
|
||||
\fBSYNOPSIS\fR
|
||||
.OP cpm
|
||||
[ options ] [ filename ]
|
||||
.SH
|
||||
\fBDESCRIPTION\fR
|
||||
.PP
|
||||
.I Cpm
|
||||
reads and writes files with an internal structure
|
||||
like a CP/M file system. By default
|
||||
.I 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.
|
||||
.PP
|
||||
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
|
||||
\fIdd\fP(1), e.g.,
|
||||
.sp
|
||||
.nf
|
||||
dd if=/dev/floppy of=yourfile bs=128 count=2002
|
||||
.fi
|
||||
.PP
|
||||
On most systems you have to be superuser to access the console
|
||||
floppy and to be able to write to rx02's.
|
||||
.PP
|
||||
Flags:
|
||||
.TP 20
|
||||
.OP \-d
|
||||
display directory on standard output
|
||||
.TP
|
||||
.OP \-B
|
||||
the files specified with the \fBc\fR or \fBC\fR flag contain binary
|
||||
code rather than plain text (default)
|
||||
.TP
|
||||
.OM \-c \fIname1 name2\fR
|
||||
copy the CP/M file \fIname1\fR to the UNIX file \fIname2\f
|
||||
.TP
|
||||
.OM \-C \fIname1 name2\fR
|
||||
copy the UNIX file \fIname1\fR to the CP/M file \fIname2\f
|
||||
.TP
|
||||
.OM \-p \fIname\fR
|
||||
copy the specified CP/M file to standard output
|
||||
.TP
|
||||
.OP \-i
|
||||
enter interactive mode (all the above flags are turned off)
|
||||
.TP
|
||||
.OP \-I
|
||||
force initializtion of the specified CP/M file (e.g., delete all files)
|
||||
.TP
|
||||
.OM \-s \fIn\fR
|
||||
skew factor (sector interleaving); default is 6
|
||||
.TP
|
||||
.OM \-b \fIn\fR
|
||||
block size (in bytes); default is 1K bytes
|
||||
.TP
|
||||
.OM \-m \fIn\fR
|
||||
max number of directory entries; default is 64
|
||||
.TP
|
||||
.OM \-l \fIn\fR
|
||||
sector size (in bytes); default is 128
|
||||
.TP
|
||||
.OM \-r \fIn\fR
|
||||
number of sectors per track; default is 26
|
||||
.PP
|
||||
If the
|
||||
.I \-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
|
||||
.I \-C,
|
||||
.I \-c
|
||||
and
|
||||
.I \-p
|
||||
flags are mutually exclusive.
|
||||
.PP
|
||||
The following commands are available in interactive mode:
|
||||
.TP 24
|
||||
\fIccopyin unixfile cpmfile\fR
|
||||
copy UNIX binary file to CP/M
|
||||
.TP
|
||||
\fIccopyout cpmfile unixfile\fR
|
||||
copy CP/M binary file to UNIX
|
||||
.TP
|
||||
\fIcopyin unixfile cpmfile\fR
|
||||
copy UNIX text file to CP/M
|
||||
.TP
|
||||
\fIcopyout cpmfile unixfile\fR
|
||||
copy CP/M text file to UNIX
|
||||
.TP
|
||||
\fIdel\fR[ete] \fIfilename\fR
|
||||
a synonym for \fIerase\fR
|
||||
.TP
|
||||
\fIdir\fR[ectory] or \fIls\fP
|
||||
display directory
|
||||
.TP
|
||||
\fIera\fR[se] \fIfilename\fR
|
||||
delete the given file
|
||||
.TP
|
||||
\fIhel\fR[p]
|
||||
print a short description of each command
|
||||
.TP
|
||||
\fIlog\fR[out] or \fIexi\fR[t]
|
||||
terminate, return to the shell
|
||||
.TP
|
||||
\fIren\fR[ame] \fIfile1 file2\fR
|
||||
rename \fIfile1\fR to \fIfile2\fR
|
||||
.TP
|
||||
\fItyp\fR[e] \fIfilename\fR
|
||||
print CP/M file to console
|
||||
.PP
|
||||
.sp
|
||||
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.
|
||||
.PP
|
||||
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.
|
||||
.PP
|
||||
The
|
||||
.I copyout
|
||||
command assumes that CP/M text files
|
||||
have cr+lf as line terminators and removes carriage returns.
|
||||
.I 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.
|
||||
.PP
|
||||
Interrupts are recognized in interactive mode, and will return you to
|
||||
the command level.
|
||||
.SH
|
||||
\fBFILES\fR
|
||||
/dev/floppy
|
||||
.br
|
||||
/dev/rrx?b
|
||||
.br
|
||||
/usr/new/lib/cpm.hlp
|
||||
.SH
|
||||
\fBSEE ALSO\fR
|
||||
dd(1), rx(4v)
|
||||
.SH
|
||||
\fBBUGS\fR
|
||||
CP/M user numbers are ignored, files written
|
||||
to the CP/M floppy file will always have user number 0.
|
||||
.PP
|
||||
No testing has been done with double density floppies.
|
||||
.PP
|
||||
CP/M filename extensions containing more than 3 characters will quietly be
|
||||
truncated.
|
||||
.PP
|
||||
Wildcards are not supported.
|
||||
.SH
|
||||
\fBAUTHOR\fR
|
||||
Helge Skrivervik
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
: interaktives Verarbeiten von CP/M Disketten
|
||||
flags="-i -S 2 -m 64"
|
||||
typ="OS/M Format 6"
|
||||
file="/z/floppy"
|
||||
flag2=""
|
||||
|
||||
|
||||
if test a$1 != a
|
||||
then
|
||||
if test a$1 = "a-osm"
|
||||
then
|
||||
flags="-i -S 2 -m 64"
|
||||
typ="OS/M Format 6"
|
||||
shift
|
||||
elif test a$1 = "a-1530"
|
||||
then
|
||||
flags="-i -t 40 -b 1024 -r 9 -S 1 -m 64"
|
||||
typ="CP/M Diskette im DOS-Format"
|
||||
shift
|
||||
fi
|
||||
fi
|
||||
if test a$1 != a
|
||||
then
|
||||
if test a$1 = "a-f"
|
||||
then
|
||||
shift
|
||||
file=$1
|
||||
shift
|
||||
fi
|
||||
fi
|
||||
if test a$1 != a
|
||||
then
|
||||
if test a$1 = "a-I"
|
||||
then
|
||||
flag2=-I
|
||||
shift
|
||||
fi
|
||||
fi
|
||||
if test a$1 != a
|
||||
then
|
||||
echo usage: cpma "[ -osm | -1530 ] [-f file] [-I]"
|
||||
exit
|
||||
fi
|
||||
echo CP/M Diskettenemulation fuer $typ
|
||||
cpm -i $flags $flag2 $file
|
||||
|
|
@ -0,0 +1,116 @@
|
|||
Ueberspielen der Files aus dem MUTOS auf 5130-Diskette
|
||||
|
||||
1. Files vermittels tar in einem gemeinsamen File (max. 50kB)
|
||||
sammeln.
|
||||
2. Am 5130 dfv8911 starten
|
||||
3. Wie gehabt am MUTOS anmelden.
|
||||
4. ^E (CTRL E) eingeben.
|
||||
5. n eingeben
|
||||
6. Menue abarbeiten (! tar-Files sind Binaerfiles !!!)
|
||||
7. ^z eingeben (abmelden bei MUTOS)
|
||||
8. ^E eingeben und mit e beantworten
|
||||
|
||||
==================================================================
|
||||
|
||||
Am PC 1715 :
|
||||
Einstellen des Diskettenformates fuer OS/M Disketten im CP/A
|
||||
|
||||
Aufruf von FORMATP
|
||||
|
||||
danach ist der folgende Dialog abzuarbeiten:
|
||||
(<ET> bedeutet dabei immer die betaetigung der ET-Taste des 1715)
|
||||
|
||||
Disketten-FORMAT fuer CP/A auf PC 1715, Version 24.07.87
|
||||
^C bricht die aktuelle FORMAT-Aktion ab!
|
||||
|
||||
|
||||
0 - Formatieren einer Diskette
|
||||
1 - Pruefen einer Diskette auf Lesbarkeit
|
||||
3 - Einstellen des Diskettenformats im BIOS
|
||||
|
||||
q,x - Rueckkehr ins Betriebssytem
|
||||
|
||||
Bitte FORMAT-Funktion auswaehlen (ENTER=0): 3<ET>
|
||||
|
||||
Bitte Laufwerk angeben: B<ET>
|
||||
|
||||
Einstellen des OS/M - Formates im Betriebssytem CPA
|
||||
|
||||
Formate fuer 5 1/4", 80 Spuren, doppelseitig (DS) ["A": autom. Formaterk.]
|
||||
|
||||
0 =
|
||||
...
|
||||
@ = Spezielles Format
|
||||
|
||||
Bitte Format auswaehlen (ENTER= 0) : @<ET>
|
||||
Anzahl der phys. Spuren auf Diskette ( <= 80): 80<ET>
|
||||
Anz. der phys. Sekt. fuer DatenSpuren pro Seite (1..52): 9<ET>
|
||||
Sektorlaengencode (0=128,1=256,2=512,3=1024): 2<ET>
|
||||
Offset fuer Sektornummern auf Rueckseite (hex, ENTER=0): <ET>
|
||||
Physische Sektoranordnung auf der Spur
|
||||
SektorNr. (hex, ENTER fuer Rest monoton): <ET>
|
||||
Doppelschritte von Spur zu Spur? (j, ENTER=n): <ET>
|
||||
Einseitig (s) oder doppelseitig (d oder ENTER): <ET>
|
||||
Erst Vorders. komplett (v) oder abwechselnd (a oder ENTER): <ET>
|
||||
Logische Reihenfolge der physischen Sektoren
|
||||
SektorNr. (hex, ENTER fuer Rest monoton): <ET>
|
||||
Gesamtzahl Systemspuren (0..9, ENTER=0) 4<ET>
|
||||
Anzahl abweichender Systemsp. mit 26*128 Sektoren (0..3, ENTER=0): <ET>
|
||||
Directory-Groesse in 64er Einheiten (1=64,2=128,3=192,4=256): 1<ET>
|
||||
BDOS-Blockgroesse in kB (1,2,4): 2
|
||||
|
||||
Disketten-FORMAT fuer CP/A auf PC 1715, Version 24.07.87
|
||||
^C bricht die aktuelle FORMAT-Aktion ab!
|
||||
|
||||
|
||||
0 - Formatieren einer Diskette
|
||||
1 - Pruefen einer Diskette auf Lesbarkeit
|
||||
3 - Einstellen des Diskettenformats im BIOS
|
||||
|
||||
q,x - Rueckkehr ins Betriebssytem
|
||||
|
||||
Bitte FORMAT-Funktion auswaehlen (ENTER=0): Q<ET>
|
||||
A>
|
||||
===========================================================
|
||||
|
||||
Kopieren der Files von 5130-Diskette auf OS/M Diskette
|
||||
|
||||
1. Aufruf von POWER von CP/A-Systemdisk im LW a
|
||||
2. Entfernen der CP/A Sytemdisk
|
||||
3. Einlegen der 5130-Diskette ins Laufwerk a
|
||||
4. ^C (Warmstart)
|
||||
5. Kopieren mit Power
|
||||
|
||||
==========================================================
|
||||
Einlesen der Diskette ins WEGA:
|
||||
|
||||
dd if=/dev/fd1 of=/z/eris/floppy bs=512 count=1440
|
||||
|
||||
Aufruf der Diskettenverarbeitung:
|
||||
|
||||
cpm.osm
|
||||
|
||||
folgende Kommandos stehen zur Verfuegung:
|
||||
|
||||
ccopyin wegafile cpmfile Kopiere Binaerfile aus WEGA ins CPM
|
||||
|
||||
ccopyout cpmfile wegafile Kopiere Binaerfile aus CPM ins WEGA
|
||||
|
||||
copyin wegafile cpmfile Kopiere Textfile aus WEGA ins CPM
|
||||
|
||||
copyout cpmfile wegafile Kopiere Textfile aus CPM ins WEGA
|
||||
|
||||
del[ete] cpmfile
|
||||
era[se] cpmfile Loeschen eines CPM-File
|
||||
|
||||
exi[t]
|
||||
log[out] Verlassen cpm
|
||||
|
||||
dir[ectory]
|
||||
ls Anzeige des CPM-Verzeichnisses
|
||||
|
||||
ren[ame] cpmname1 cpmname2 Umbenennen des CPM-Files cpmname1
|
||||
in cpmname2
|
||||
|
||||
typ[e] cpmfile Anzeige des CPM-Files cpmfile am
|
||||
Terminal
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
echo -n '"wega-zu-cpm" uebertragt'
|
||||
if test $# != 0
|
||||
then
|
||||
echo -n ' nach Anfrage'
|
||||
else
|
||||
echo -n ' alle'
|
||||
fi
|
||||
echo -n ' Files aus: '
|
||||
echo -n `pwd`
|
||||
echm ' auf Diskette'
|
||||
echo 'auf Diskette duerfen nur Text-Dateien (ASCII-Code) uebertragen werden !!'
|
||||
echo 'die Filenamen muessen CP/M-Konventionen entprechen !'
|
||||
ls
|
||||
echo -n 'muessen Sie aus diesem Grund Files umbenennen [y/n] :'
|
||||
read a
|
||||
if test $a = y
|
||||
then
|
||||
ezit
|
||||
fi
|
||||
echo 'Diskette ---> Laufwerk 0'
|
||||
echo -n 'Diskette neu formatieren ? [y/n] :'
|
||||
read a
|
||||
if test $a = 'y'
|
||||
then
|
||||
format fd0
|
||||
/z/bin/cpm -I -S 1 /dev/fd0
|
||||
fi
|
||||
for i in `ls`
|
||||
do
|
||||
if test $# -eq 0
|
||||
then
|
||||
/z/bin/cpm -S 1 -C $i $i /dev/fd0 2>/tmp/fehler$$
|
||||
if test -s /tmp/fehler$$
|
||||
then
|
||||
echo 'Fehler bei Uebertragung von ' $i
|
||||
rm /tmp/fehler$$
|
||||
else
|
||||
echo $i 'uebernommen'
|
||||
fi
|
||||
else
|
||||
echo -n $i 'uebertragen [y/n] :'
|
||||
read a
|
||||
if test $a = 'y'
|
||||
then
|
||||
/z/bin/cpm -S 1 -C $i $i /dev/fd0 2> /tmp/fehler$$
|
||||
if test -s /tmp/fehler$$
|
||||
then
|
||||
echo 'Fehler bei Uebertragung von ' $i
|
||||
rm /tmp/fehler$$
|
||||
fi
|
||||
|
||||
fi
|
||||
fi
|
||||
done
|
||||
Loading…
Reference in New Issue