22DISK zusammen mit 22NICE
CP/M Emulation mit Ansprüchen unter DOS
8" Floppy Disk
Mit den beiden Sharewareprodukten 22DISK und 22NICE von Sydex, Inc. kann man bequem auf CP/M Disketten zugreifen und CP/M Programme unter DOS ausführen. Der Zugriff auf CP/M Disketten erfolgt über verschiedene kleine Programme oder ein zentrales Menüprogramm. Der Emulator arbeitet als BDOS/BIOS Abstraktionsschicht ohne eigenem CCP, d.h. ein zu emulierendes Binary wird mit Hilfe des Emulators direkt aus der Kommandozeile von DOS aufgerufen. Besonderheit dieses Emulators ist dabei die vorherige Überführung eines CP/M Programms in ein DOS Programm. CP/M Binaries werden somit wie ein DOS Programm direkt ausführbar.
Inhalt
1 Installation
1.1 notwendige Dateien 1.2 Programme, Dokumentation und Zusätze installieren 1.3 Umgebungsvariable PATH anpassen
2 Diskettenzugriff 3 Emulation
3.1 Erzeugung einer ROM-Version 3.2 Erzeugung einer Diskettenversion
4 Systemdiskette generieren 5 Internetreferenzen
1 Installation
notwendige Dateien herunter laden
Programme, Dokumentation und Zusätze installieren / kopieren.
Für den globalen Zugriff auf die Werkzeuge CMENU und GENCOM die Umgebungsvariable PATH anpassen.
1.1 notwendige Dateien
Integrierter CP/M 2.2 Emulator
zip, 51K, 12/03/05, 1689 downloads
22NICE -- Integrierter CP/M 2.2 Emulator
CP/M-zu-DOS Diskettenaustausch
zip, 227K, 12/03/05, 2206 downloads
22DISK -- CP/M-zu-DOS Diskettenaustausch
PC/M Systemspuren für 22DISK
lbl, 13K, 12/24/24, 2425 downloads
PC/M Systemspuren f
PC/M Diskettenformate für 22DISK
def, 1.8K, 12/03/05, 2544 downloads
PC/M Diskettenformate f
PC/M Integration in 22DISK
bat, 0.03K, 12/03/05, 2370 downloads
22EDIT -- PC/M Integration in 22DISK
PC/M Systemquellen 3.30
zip, 122.3K, 12/03/05, 2427 downloads
PC/M Systemquellen 3.30
DAS IST KEINE FREIE SOFTWARE! Es handelt sich hier um Shareware, die in ihrer Funktion und Laufzeit nicht eingeschränkt ist, aber bei Nutzung über die Testphase hinaus eine Registrierung erfordert. Diese ist kostenpflichtig.
1.2 Programme, Dokumentation und Zusätze installieren
auf Kommandozeile
C:\> C:
C:\> CD C:\<downloadverzeichnis>
C:\> COPY 22DSK144.ZIP A:
1 Datei(en) kopiert
C:\> A:
A:\> PKUNZIP 22DSK144.ZIP
PKUNZIP (R) ...
...
...
...
A:\> MKDIR C:\<installationsverzeichnis>
A:\> 22DINST C:\<installationsverzeichnis>
Datei nicht gefunden - READ.ME!
Copying files...please wait
...
A:\> COPY 22DISK.DOC C:\<installationsverzeichnis>
1 Datei(en) kopiert
A:\> COPY READ.ME C:\<installationsverzeichnis>
1 Datei(en) kopiert
A:\> C:
C:\> CD C:\<downloadverzeichnis>
C:\> COPY 22EDIT.BAT C:\<installationsverzeichnis>
1 Datei(en) kopiert
C:\> COPY PCM.DEF C:\<installationsverzeichnis>
1 Datei(en) kopiert
C:\> COPY PCMSYS.LBL C:\<installationsverzeichnis>
1 Datei(en) kopiert
C:\> CD C:\<installationsverzeichnis>
C:\> 22EDIT
...
C:\> PKUNZIP C:\<downloadverzeichnis>\22NCE140.ZIP
PKUNZIP (R) ...
...
...
...
C:\> _

Mit dem Befehl 22EDIT im vorletzten Schritt wurde der Inhalt von PCM.DEF in eine für 22DISK verständliche Indexstruktur überführt. Sollte man in PCM.DEF Veränderungen vornehmen, so ist dieser Schritt zu wiederholen.
Die Datei PCMSYS.LBL ist für die Erzeugung einer PC/M Systemdiskette wichtig und beinhaltet die notwendige Systemspur. Da der Aufbau und somit auch das System des PC/M modular gestaltet ist, wird es für jeden einzelnen Aufbau notwendig sein, ein eigenes, angepasstes System zu generieren (dazu mehr in Abschnitt 3 und 4). Man sollte auf keinen Fall den Inhalt der originalen PCMSYS.LBL für einen anderen PC/M benutzen, wenn dieser vom Standardaufbau abweicht!
1.3 Umgebungsvariable PATH anpassen
in C:\AUTOEXEC.BAT
SET PATH=%PATH%;C:\<installationsverzeichnis>
2 Diskettenzugriff
22DISK besteht aus einer Programmsammlung und einem Menüprogramm, über das die einzelnen Programme aufgerufen werden. Eine ausführliche Beschreibung der einzelnen Programme kann man in der Dokumentation zu 22DISK finden. Um schnell und einfach auf eine CP/M Diskette zuzugreifen, bietet sich das zentrale Menüprogramm CMENU an. Ruft man es auf, erhält man ein Menü mit 9 Einträgen. Zu Beginn muss über die Menüpunkte 1 und 2 der gewünschte CP/M Diskettentyp und das zu benutzende Laufwerk am PC eingestellt werden.
Ein Beispiel: Mein PC/M hat als Standardtyp immer den SCP Typ mit 640 KByte Fassungsvermögen und 4 Systemspuren (16 KByte) benutzt. Dieser ist dem des PC1715 gleich. Ich wähle also Menüpunkt 1, lasse mir mit ENTER die Liste möglicher Typen anzeigen, wähle mit den Cursortasten den Typ R624 und bestätige mit ENTER. Mein großes Diskettenlaufwerk befindet sich als zweites Laufwerk B: im System. Ich wähle also Menüpunkt 2, gebe B: ein und bestätige mit ENTER. Jetzt sollte unter dem Menü von 22DISK folgendes stehen:
R624 PC1715 SCP (80*2* 16,256 4 OFS 4k DIR) 5.25", drive B:
Nachdem der richtige Diskettentyp eingestellt ist, kann man jetzt alte CP/M Disketten auslesen. Das möchte ich am Beispiel der PC/M Systemdiskette fortsetzen. Um zunächst den Inhalt anzusehen, wählt man den Menüpunkt 6 und gibt mit einem ENTER an, dass man alle Dateien sehen will. Ansonsten hätte man hier noch die Möglichkeit, durch Wildcard Zeichen eine Einschränkung vorzunehmen. Danach sollte folgendes zu sehen sein:
PC1715 SCP (80*2* 16,256 4 OFS 4k DIR) 5.25" format
B0:BAS.ERL B0:BDOS.ERL B0:BESTLPL.PCM B0:BESTSOFT.PCM
B0:BIOS.ERL B0:CCP.ERL B0:INTERROR.PCM B0:LESEDAS.PCM
B0:LINKMT.COM B0:M80.COM B0:PCMBAS.MAC B0:PCMBIOS.MAC
B0:PCMBOOT.MAC B0:PCMCOM.MAC B0:PCMDEF.MAC B0:PCMDISK.COM
B0:PCMDISK.MAC B0:PCMFORM.COM B0:PCMIO.MAC B0:PCMSVDB.MAC
B0:PCMSYS.SYP B0:PCMURLAD.MAC B0:PCMVAR.MAC B0:PCMVDB.COM
B0:PCMVTAPE.MAC B0:PCMVTC.COM B0:SYSDISK.COM B0:SYSINFO.PCM
B0:SYSROM.COM B0:UMBA2732.PCM
390K free on drive B:
Press any key to continue..._
Um die gesamten Daten von der alten CP/M Diskette zu retten, sollten alle angezeigten Dateien nach DOS kopiert und anschließend auf ein geeignetes Backupmedium gebracht werden. Hierzu wählt man den Menüpunkt 3 und gibt mit einem ENTER an, dass man alle Dateien kopieren will. Danach wird das Zielverzeichnis unter DOS abgefragt. Man bestätige mit einem ENTER das aktuelle Verzeichnis oder gibt ein anderes an. Danach sollten folgende Ausschriften erscheinen:
PC1715 SCP (80*2* 16,256 4 OFS 4k DIR) 5.25" format
Copying B0:BAS.ERL to BAS.ERL
Copying B0:BDOS.ERL to BDOS.ERL
Copying B0:BESTLPL.PCM to BESTLPL.PCM
Copying B0:BESTSOFT.PCM to BESTSOFT.PCM
Copying B0:BIOS.ERL to BIOS.ERL
Copying B0:CCP.ERL to CCP.ERL
Copying B0:INTERROR.PCM to INTERROR.PCM
Copying B0:LESEDAS.PCM to LESEDAS.PCM
Copying B0:LINKMT.COM to LINKMT.CPM
Copying B0:M80.COM to M80.CPM
Copying B0:PCMBAS.MAC to PCMBAS.MAC
Copying B0:PCMBIOS.MAC to PCMBIOS.MAC
Copying B0:PCMBOOT.MAC to PCMBOOT.MAC
Copying B0:PCMCOM.MAC to PCMCOM.MAC
Copying B0:PCMDEF.MAC to PCMDEF.MAC
Copying B0:PCMDISK.COM to PCMDISK.CPM
Copying B0:PCMDISK.MAC to PCMDISK.MAC
Copying B0:PCMFORM.COM to PCMFORM.CPM
Copying B0:PCMIO.MAC to PCMIO.MAC
Copying B0:PCMSVDB.MAC to PCMSVDB.MAC
Copying B0:PCMSYS.SYP to PCMSYS.SYP
Copying B0:PCMURLAD.MAC to PCMURLAD.MAC
Copying B0:PCMVAR.MAC to PCMVAR.MAC
Copying B0:PCMVDB.COM to PCMVDB.CPM
Copying B0:PCMVTAPE.MAC to PCMVTAPE.MAC
Copying B0:PCMVTC.COM to PCMVTC.CPM
Copying B0:SYSDISK.COM to SYSDISK.CPM
Copying B0:SYSINFO.PCM to SYSINFO.PCM
Copying B0:SYSROM.COM to SYSROM.CPM
Copying B0:UMBA2732.PCM to UMBA2732.PCM
30 file(s) copied
Copy complete
Press any key to continue -_

Beim Kopieren von CP/M Programmen (*.COM) durch 22DISK werden diese automatisch in *.CPM umbenannt, um ein versehentliches Ausführen unter DOS zu verhindern. In Abschnitt 3 wird gezeigt, wie diese Dateien unter DOS ausgeführt werden können.
So, wie Dateien von CP/M Disketten nach DOS kopiert werden können, kann man äquivalent mit dem Menüpunkt 4 Dateien von DOS auf eine CP/M Diskette kopieren. Über den Menüpunkt 5 kann eine Diskette für die Arbeit unter CP/M vorbereitet werden. Dabei wird die Disketten mit den aktuell benutzten Zylinder-/Kopf-/Spur-Dimensionen formatiert und anschließend das Inhaltsverzeichnis CP/M-konform angelegt. Die Menüpunkte 7 und 8 ergänzen den Funktionsumfang der Diskettenarbeit um die beiden Aktionen Datei anzeigen und Datei löschen. Diese entsprechen so den beiden bekannten CP/M Kommandos TYPE und ERA.
3 Emulation
Hier soll nun gezeigt werden, wie mit den zuvor gesicherten Daten und dem Emulator 22NICE ein neues System für den PC/M erstellt werden kann. Mindestens notwendig sind folgende Dateien:
BDOS.ERL
CCP.ERL
PCM*.MAC
M80.CPM
LINKMT.CPM
Diese und weitere Daten sind in der Datei PCMSYS33.ZIP enthalten. Mit folgender Anweisung wird das Archiv entpackt:
C:\> CD C:\<installationsverzeichnis>
C:\> PKUNZIP -d C:\<downloadverzeichnis>\PCMSYS33.ZIP
PKUNZIP (R) ...
...
...
...
C:\> _
Jetzt sollte das Verzeichnis PCMSYS.330 vorhanden sein, in das gwechselt wird. Für die Übersetzung der Assemblerquellen müssen die beiden Programme M80.COM (alias M80.CPM) und LINKMT.COM (alias LINKMT.CPM) unter DOS ausführbar sein. Dazu überführet man mit Hilfe des Emulator 22NICE diese CP/M Programme zu einer DOS-COM-Datei. Das geschieht mit dem Werkzeug GENCOM unter Angabe des zu emulierenden Prozessors, hier Z80:
C:\> CD C:\<installationsverzeichnis>\PCMSYS.330
C:\> GENCOM M80 PRO=Z80
C:\> GENCOM LINKMT PRO=Z80
C:\> M80
*^C
C:\> LINKMT
Link/MT+ Release 5.5
Unable to create .SYP file
C:\> _
Die beiden Aufrufe am Ende zeigen, dass die alten CP/M Programme eingebettet in den Emulator 22NICE unter DOS funktionieren. Nun können die Quellen übersetzt werden. Je nach Inhalt der Variable sysver in der Quelldatei PCMDEF.MAC wird entweder eine ROM- oder eine Diskettenversion erzeugt. Die ROM-Version wird als PCMROM.COM (alias PCMROM.CPM) abgespeichert und stellt den Inhalt der EPROMs dar. Die Diskettenversion befindet sich in PCMSYS.COM (alias PCMSYS.CPM). Der Inhalt dieser Datei wird für die Systemspuren benutzt, um eine PC/M Systemdiskette zu erzeugen (siehe Abschnitt 4).
3.1 Erzeugung einer ROM-Version
auf Kommandozeile
C:\> CD C:\<installationsverzeichnis>\PCMSYS.330
C:\> M80 BIOS.ERL=PCMBIOS/M/Z
> Uebersetzung System PC/M * Version +++ AM90 +++
> Bildschirm PC/M-Original 64*16 (mit Zwischenzeilen)
> Original PC/M-Tastatur
> mit Tonausgabe
> mit Statuszeile
> Disketten-Urlader
> System-RAM-Floppy 118k Byte (Laufwerk A)
> Floppy-Laufwerke vorgesehen
> V-Tape Kassettensystem
> ROM-Version (auf Adresse 0d5b0h linken)
> Eingabe: linkmt pcmrom=bios/p:0d5b0
No Fatal error(s)
C:\> LINKMT PCMROM=BIOS/P:0D5B0
Link/MT+ Release 5.5
Processing file- BIOS .ERL
Undefined Symbols:
No Undefined Symbols
0060 (decimal) records written to .COM file
Total Data: 0000H bytes
Total Code: 1DD0H bytes
Remaining : A412H bytes
Link/MT+ Release 5.5 processing completed
C:\> _
3.2 Erzeugung einer Diskettenversion
auf Kommandozeile
C:\> CD C:\<installationsverzeichnis>\PCMSYS.330
C:\> M80 BAS.ERL=PCMBAS/M/Z
No Fatal error(s)
C:\> M80 BIOS.ERL=PCMBIOS/M/Z
> Uebersetzung System PC/M * Version +++ AM90 +++
> Bildschirm PC/M-Original 64*16 (mit Zwischenzeilen)
> Original PC/M-Tastatur
> mit Tonausgabe
> mit Statuszeile
> Disketten-Urlader
> System-RAM-Floppy 118k Byte (Laufwerk A)
> Floppy-Laufwerke vorgesehen
> V-Tape Kassettensystem
> Disketten-Version (auf Adresse 0bff0h linken)
> Eingabe: linkmt pcmsys=bas,ccp,bdos,bios/m/p:0bff0
No Fatal error(s)
C:\> LINKMT PCMSYS=BAS,CCP,BDOS,BIOS/M/P:0BFF0
Link/MT+ Release 5.5
Processing file- BAS .ERL
Processing file- CCP .ERL
Processing file- BDOS .ERL
Processing file- BIOS .ERL
Undefined Symbols:
No Undefined Symbols
External Symbol Map:
DISKIO E1DF BEGVT E488 BDOS C800 CCP C000
BIOS D600
0104 (decimal) records written to .COM file
Total Data: 0000H bytes
Total Code: 3390H bytes
Remaining : 8E1AH bytes
Link/MT+ Release 5.5 processing completed
C:\> _

4 Systemdiskette generieren
Nach der erfolgreichen Erzeugung einer Diskettenversion muss die Datei PCMSYS.CPM als sogenanntes LABEL für 22DISK (PCMSYS.LBL) bereitgestellt und unter Verwendung von PCM.DEF und 22EDIT ein neuer 22DISK Index erstellt werden. Danach kann mit dem Kommando CFMT (CP/M FORMAT) eine neue CP/M Diskette initialisiert werden. Hierbei wird die Diskette zunächst wie eine SCP Diskette mit 624 KByte Fassungsvermögen formatiert, das Inhaltsverzeichnis geschrieben und zusätzlich der Inhalt der zuvor bekannt gegebenen LABEL-Datei PCMSYS.LBL in den Bereich der Systemspuren geschrieben. Benutzt wird dabei der spezielle CP/M Diskettentyp PCMS. Er ist dem Typ R624 gleich und nur um den LABEL Eintrag erweitert, um die Systemspuren mit Inhalt zu füllen. Wir geben folgendes ein:
C:\> CD C:\<installationsverzeichnis>\PCMSYS.330
C:\> COPY PCMSYS.CPM C:\<installationsverzeichnis>\PCMSYS.LBL
1 Datei(en) kopiert
C:\> CD C:\<installationsverzeichnis>
C:\> 22EDIT
...
C:\> CFMT /PCMS B:
PC/M System (80*2* 16,256 4 OFS 4k DIR) 5.25" format
Insert blank diskette into drive B: and enter "G" to begin;
Anything else will exit to DOS without formatting - G
Formatting track 79
Replace diskette in drive B: and type any key to return to DOS
C:\> _
5 Internetreferenzen
Auch andere CP/M Anwender berichten über ihre Erfahrungen mit diesem Emulator ...
C128 1581-Format unter 22DISKCP/M Club Zeitung Nr. 1 -- Sep. 1999, Seite 17Sydex, Inc.Diskette Handling and Data Conversion22NICE Version 1.42
Autor: | Stephan Linz |
Revision: | 2021/01/14 - 00:03 - © Li-Pro.Net |
|