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