★ APPLICATIONS ★ DIVERS ★ CP/M — Dump für alle CPCs|CPC Magazin) ★ |
CP/M Dump (CPC Magazin) | Applications Divers |
Jetzt ist eine Hardcopy des Bildschirminhalts für jedes CP/M möglich, für das kleine und große, für die Kommandoebene und für Anwendungen wie Logo oder Pascal. Der Trick besteht darin, daß HIDUMP (oder ein anderes Hardcopy-Programm) bereits in der Basic-Umgebung installiert und dem CP/M nur noch untergeschoben wird. Dazu ist nur CPMDUMP mit RUN zu starten. Unter CP/M steht dann die Hardcopy auf Tastendruck (CTRL 6 bzw. &) zur Verfügung. Es sind nur kleinere Anpassungen an das jeweilige CP/M notwendig. In Zeile 90 können vortex-User auch |CPM,1 oder |CPM,2 eingeben. Das kleine CP/M benötigt in Zeile 10 für adr den Wert &A000; zusätzlich muß es mit movcpm 164* und sysgen* verkleinert werden, denn der Speicherplatz von HIDUMP darf ja nicht durch CP/M-Anwendungen überschrieben werden. Um Probleme zu vermeiden (Programme für das normale Betriebssystem des CPC arbeiten unter CP/M ja in einer feindlichen Umgebung), sind ein paar Grundregeln zu beachten. Die Hardcopy darf nur dann erstellt werden, wenn keine anderen Aktionen laufen. (So sollte z.B. auch der Diskettenmotor ausgeschaltet sein.) Der Vorgang läßt sich bei HIDUMP mit ESC abbrechen. Bei CP/M-Programmen kann diese Taste unterschiedliche Funktionen besitzen, die dann als unerwünschter Nebeneffekt ebenfalls ausgelöst werden. Unabhängig von CP/M gilt für HIDUMP, daß vor der Ausgabe der Druckerpuffer leer sein muß. Das erreicht man durch Aus- und Einschalten, häufig auch durch den Befehl PRINT#8. Leider hinterläßt HIDUMP selbst Datenmüll im Druckerpuffer, nicht nur nach dem Ausstieg mit ESC, sondern auch nach dem regulären Programmende, so daß der Drucker in jedem Fall zurückgesetzt werden muß. Für Bildschirme mit reinem Textinhalt genügt eine einfachere Hardcopy als HIDUMP; es ist nicht einmal ein Grafikausdruck nötig. CPMDUMP erlaubt es, ein geeignetes Programm auszuwählen. Der Einsatz von HIDUMP lohnt sich, wenn der Bildschirm Grafiken, eventuell mit mehreren Farben, zeigt. HIDUMP bietet dann noch die Auswahl eines Bildausschnitts und eine Zuordnung von Farben und Grau-stufen. Da CP/M nicht gestattet, Parameter so einfach wie in Basic zu übergeben, enthält CPMDUMP eine indirekte Möglichkeit, Parameter zu setzen. Die jeweilige Anwendung muß dazu aber in der Lage sein, Speicherstellen analog zum POKE-Befehl zu verändern. Auf diesem Wege läßt sich die Hardcopy auch von einem Programm aus erzeugen, indem an die Speicherstelle &3F ein Wert ungleich Null gebracht wird. &3E muß die Anzahl der Parameter enthalten (also meistens Null); die Parameter selbst stehen als Zwei-Byte-Werte ab &C0. Dieser Bereich wird auch vom CP/M als Puffer benutzt, so daß die Werte hierfür jede Anwendung neu zu setzen sind. Das CPC-Logo beinhaltet keinen POKE-Befehl. Die einzige bekannte Methode für eine Hardcopy bietet CPMDUMP mittels Tastendruck. Bei Turbo-Pascal dagegen könnte HIDUMP auch direkt als Maschinenprogramm eingebunden werden. Da das Verfahren von CPMDUMP kritisch ist, wäre das vermutlich vorzuziehen. Vorschläge und Erfahrungsberichte dazu sind erwünscht. Gerhard Knapienski , CPC Magazin
|