mc-Z80-CP/M2.2-Computer 1982: Betriebssystem und Programme test-ndr/mc-prog1.htm Letzte Änderung am 26.07.22/03.02.21/25.01.21/08.01.11/10.12.2010 (C) Dr. Juliane Hehl Impressum gem. DSGVO |
Übersicht:
1.1 Monitor-Programm: 1.2 Monitor-Verschiebung: 1.3 Initialisierung: 1.4 EPROM-Boot: 1.5 Hardware-Umschaltung: 2. CP/M2.2 Speicherbelegung: 3. DDTZ.COM und DDTZ.DOC: 4. Microshell Unix-Features: 5. BIGZAP.COM CP/M2.2 Disketteneditor: Geschichte von CP/M: siehe Buch von Bernd Leitenberger http://www.bernd-leitenberger.de/cpm.shtml und Wikipedia. |
Roadmap: |
1.4 EPROM-Boot:
Beim EPROM-Boot kann gleich das CP/M-Betriebssystem aus dem System-Eprom ins RAM ab Adresse D400h geladen werden (siehe Einzelheiten). |
2. CP/M 2.2-Speicherbelegung:
Beim mc-Computer hat das RAM eine Größe von 64 KByte (65536 Bytes, A0 - A15, 0 - FFFFh) und besteht aus 8 dynamischen 8-KByte-Speichern, z.B. HM4864 oder NEC 6164. Sie werden im Multiplex-Betrieb angesteuert. Das 60K-CP/M 2.2-Betriebssystem belegt den Speicher mit 5 Teilen: ab 0 - FFh: 256 Bytes, Kommunikationsbereich, reserviert für Sprungbefehle, FCB und DMA-Bereich 1. Teil: 0000 - 0002: C3 00EA: Sprung zum BIOS ab EA00h: CP/M-Warmstartroutine 0003 - 0003: 80 h LPT1: IO-Byte 0004 - 0004: voreingestellte Laufwerke (A = 0, P = 15 (Fh)) 0005 - 0007: C3 00DC: Sprung zum BDOS ab DC00h: 0008 - 0027: Interrupt-Bereiche 1-5, nicht verwendet 0030 - 0037: Interrupt-Bereich 6, reserviert 0038 - 003A: Restart 7, z.B. für Debugger DDT 003B - 003F: reserviert 0040 - 004F: 16 Byte, nicht verwendet (früher CBIOS) 0050 - 005B: rserviert 005C - 007C: erster FCB (File Control-Bloc) für CCP 007D - 007F: FCB für RANDOM-Zugriff 0080 - 00FF: DMA-Bereich, Puffer für Diskette, auch für CCP (Kommandozeile) 2. Teil: ab 0100h - D344h: TPA (Transient Program Area): alle externen CP/M-Programme, die auch den CCP überschreiben dürfen. 3. Teil: ab D400h - DBFFh: CCP (Console Command Processor): Kommando-Interpreter, Schnittstelle zwischen Benutzer und CP/M 4. Teil: ab DC00h - E9FFh: BDOS (Basic Disc Operating System): Grundfunktionen Ein-Ausgabegeräte und Diskette 5. Teil: ab EA00h - F0000h: BIOS (Basic I/O-System): Grundfunktionen für die Schnittstelle zwischen Benutzer und CP/M Monitor Von F000h - FFFFh hat das Monitorprogramm seinen Platz. |
Bei einem Minimal-System mit 20K-CP/M-System beginnt der CCP bei 3400h, das BDOS bei 3C00h und das BIOS bei 4A00h. Der Verschiebungsfaktor b (BIAS) für ein 60K-CP/M-System beträgt 0A000h, wobei von der Speichergröße 20K abgezogen werden (60K - 20K = 40K; 40 x 1024 Bytes = 40960d = 0A000h). |
siehe auch die englische Beschreibung DDTZ.TXT
DDTZ.COM and its associated documentation and other files are copyright (c) 1980-1988 by C.B. Falconer. They may be freely copied and used for non-commercial purposes ONLY. Download Archiv DDTZ27.ARC und die deutsche Beschreibung DDTZ.ODT Für Win 10 gibt es von Computerbild den universellen Ent-Packer IZarc Version 4.4 zum Download IZarc von https://www.izar.org |
4. MicroShell von NEW Generation Systems, inc:
Diese Ergänzung fügt dem Betriebssystem CP/M wichtige UNIX-Merkmale zu, die das Arbeiten mit CP/M besonders erleichtern und die ich nicht mehr missen möchte. Sie fehlen bei "Windoof" noch immer. Die Zeitschrift mc berichtete 1983 in Heft 5, Seite 66 und Heft 6, S. 34 darüber. Ich kaufte 1985 für meine Veröffentlichungen das CP/M-Programm MicroShell mit deutschem Handbuch (Markt & Technik Software Verlag) und es war damals sein Geld wert. Heutzutage kann man es aus dem Internet downloaden: www.z80.eu/downloads/microshell2.zip. Das Original-Manual kann man sich hier anschauen: Microshell2.PDF. |
Einige Besonderheiten:
Ich habe Microshell in die Epromfloppy beim MC-computer integriert. Damit kann das Programm gleich gestartet werden. Es meldet sich mit einem erweitertem Prompt A(0). Zurück zum normalen CP/M gelangt man mit "-X". Nun arbeitet man z.B. mit Laufwerk C (NDR-Format). Microshell sucht automatisch auf Laufwerk A (Epromfloppy) beim Eingeben eines der dort abgelegten Programme, z.B. DDTZ.COM. Die Umleitung von Ausgaben (output redirection) in eine Datei mit dem Befehl ">" ist sehr praktisch, z.B. zum Abspeichern einer Bildschirmausgabe. So wird mit "DIR >Verzeichnis.dat" das Directory in einer Datei abgespeichert, aber nicht mehr am Bildschirm angezeigt. Mit dem Befehl "DIR >+ Verzeichnis.dat" wird das Verzeichnis zusätzlich am Bildschirm angezeigt. Der Befehl "TYP" listet Textdateien seitenweise auf und nicht durchlaufend. Man kann gleich mehrere Befehle, getrennt durch ein Semicolon, hintereinander eingeben, die dann nacheinander abgearbeitet werden. Der Befehl $P entspricht dem "CONTROL-P" zur Druckerausgabe. "dir >+ $P" zeigt das Directory am Bildschirm an und druckt es, ohne allerdings den Befehl "DIR" mit zu drucken. Weiterhin kann mit dem Befehl (>) natürlich auch ein Programm seine Konsoleneingaben aus einer Datei anstatt von der Tastatur erhalten. Der Befehl "|" gibt die Konsolenausgabe eines Programms an ein zweites Programm als Eingabe, z.B. Prog1 |+ Prog2 mit Bildschirmausgabe. Auf die mächtige Scriptsprache will ich nur hinweisen. Im Handbuch ist auch die Geschichte von Microshell zu finden. |
Beispiel: Bilder von ECMA-70-Sektoren einer CP/M-Boot-Diskette
Mit diesem CP/M-Disketteneditor und Microshell kann man mit dem Befehl BIGZAP >* SEKTOR.DOC zusätzlich zur Bildschirmausgabe die Druckerausgabe der Programmfunktion "H = Hardcopy" in eine Datei SEKTOR.DOC schreiben. |
2021 gibt es ein ähnliches Programm für WIN10 von der Fa. Miray: DiskSpy2 ab 15.00 Euro. Es bootet von einer Diskette oder CD. |