Kleines CP/M-Hilfsprogramm für den KC85/4 aufwärts, welches den Bildschirminhalt des gerade nicht angezeigten Hardware-Bildes im UNIPIC-Format für den KC und zwei gängige PC-Formate speichert. Die Dateien kann man per Diskette, serieller Schnittstelle, USB oder Netzwerk auf die grösseren Maschinen kopieren und dort anschliessend sofort mit passender Software weiterverwenden.
PICGEN.COM
Dafür könnte man unter CP/M auch so etwas in der Art und Weise wie PICGEN.KCC gebrauchen. Also habe ich das vor einiger Zeit in Angriff genommen und ein kleines Programm für den KC85/4+ geschrieben, welches zusätzlich einen unkomplizierten Export von KC-Bitmap-Grafiken für die PC-Plattform unter CP/M ermöglicht.
Das Programm PICGEN.COM macht jetzt auf einem KC85/4 und höher unter MikroDOS oder MLDOS prinzipiell das Gleiche wie PICGEN.KCC unter CAOS. Der Bildschirminhalt des gerade nicht sichtbaren Hardware-Bildes des KC85/4+ Grundgerätes D001 wird auf einem CP/M Datenträger in standardisierten Bildformaten gespeichert. Man kann dadurch die Screenshots mit entsprechender Software, welche die verwendeten Formate lesen kann, sofort weiterverarbeiten.
Bisher habe ich das für CP/M-Screenshots ziemlich abenteuerlich bzw. umständlich und zeitaufwändig mit den vorhandenen Hausmitteln des KC85/4 erledigt:
- auf Bild 1 umschalten und CP/M-Programm starten
- an der gewünschten Stelle auf Bild 0 umschalten - damit wird der Screenshot "geschossen"
- DEP und damit CAOS starten
- mit PICGEN.KCC das eingefrorene Bild 1 im UNIPIC-Format speichern
- diese Schritte für alle gewünschten Screenshots wiederholen
- anschliessend wieder CAOS starten, PCX.KCC auf 0BA00H laden und aktivieren
- dann DIASHOW 1.1 laden und die Screenshots im UNIPIC-Format dort einlesen
- die Bildnummer einstellen, welche den ersten Screenshot enthält
- in das SHOW Menü schalten und dort die VIEW-Funktion aufrufen
- während der Bildanzeige SHIFT+CLR drücken, den gewünschten Bildnamen eingeben und die PCX-Datei speichern
- mit >Cursor Up< den nächsten Screenshot anzeigen lassen und den vorhergehenden Schritt wiederholen u.s.w.
- abschliessend wieder CP/M starten und die PCX-Dateien zum PC schicken.
Wer jetzt den Artikel "PCX-Bilderzeugung auf dem KC85/4" von Mario Leubner in den KC-News 4/99 aufmerksam liest, stösst noch auf ein anderes, CP/M-bedingtes Problem, siehe Abschnitte "Farbpalette" und "Der Trick". PCX-Dateien mit Lores-Farbauflösung müssen wie Textdateien zum PC übertragen werden, sonst sind sie auf dem PC in der Regel nicht lesbar. Da ich bei einer Übertragung von Bildern leider fast nie daran denke, erledige ich das Entfernen der überflüssigen Bytes 1AH am Dateiende meistens nachträglich mit einem Hexeditor auf dem PC. Daher ist bei den Lores PCX-Dateien noch ein zusätzlicher Schritt notwendig, damit das KC-Bild richtig gelesen werden kann.
In der zweiten Version des Programmes gab es noch einmal eine ganze Reihe von Verbesserungen und Erweiterungen:
- alle UNIPIC-Dateien werden komprimiert ausgegeben, wenn das möglich ist - damit entprechen die unter CP/M erzeugten Dateien der Ausgabe des Originalprogrammes unter CAOS
- das Programm gibt zusätzlich zu den BMP-Dateien als dritte Variante PCX-Dateien aus, welche der Ausgabe von PCX.KCC unter CAOS entsprechen, mit dem Parameter -P lassen sich mit PICGEN.COM zusätzlich zweifarbige Dateien erzeugen
- die ausgegebenen PCX-Dateien mit 24 Farben können auch binär, also ohne irgendwelche Besonderheiten, auf den PC kopiert werden - sie sind aber nach wie vor auf dem KC und PC lesbar
- wenn man beim Aufruf des Programmes den zusätzlichen optionalen Parameter [.TYP] angibt, wird nur das angegebene Dateiformat ausgegeben, statt immer alle drei möglichen Formate
- um die Ausgabe bei den PC-Formaten zu beschleunigen, erfolgt ab ZAS 1.3 das Auslesen der Bildzeilen durch ein kleines Programm direkt im Grundgerät D001, statt bisher byteweise durch das Programm im D004 - das ergibt ca. 500% Steigerung bei der Auslesegeschwindigkeit und bringt die Ausgabezeiten in den Bereich von 10s pro Bildformat gegenüber 50s vorher
Für Windows-Anwender ist das BMP-Format einfach kompatibler als PCX, da es das Hausformat von Windows ist. Alle 3 Varianten der BMP-Dateien vom KC85 (2, 4 und 24 Farben) sind ohne Nachbearbeitung mit beliebigen PC-Programmen verwendbar. Man kann nun beispielsweise die exportierten Bilder direkt in Office-Programme einfügen oder in der Vorschau des Windows-Explorer sehen:
Dadurch ist der Umgang mit den KC-Bilddateien im BMP-Format auf dem PC visuell direkt im Dateisystem möglich, was ein unkompliziertes und angenehmes Arbeiten möglich macht. Da die BMP-Dateien relativ einfach aufgebaut sind und das Format gut dokumentiert ist, funktioniert das Lesen der Dateien vollkommen reibungslos. Ich habe bisher noch kein PC-Programm gefunden, welches irgendein Problem hätte, es funktionierte bisher immer, egal in welcher KC-Auflösung das Bild geschrieben wurde.
Da von PICGEN.COM ein Screenshot zusätzlich auch im UNIPIC-Format ausgegeben wird, kann man die Screens natürlich auch auf dem KC85 weiterverwenden. Die entstehenden PIP/PIF- bzw. HIP/HIF-Bilder sind sofort unter CAOS in UNIPIC oder WordPro einsetzbar. Unter CP/M können sie jederzeit mit ML.COM oder NC.COM angezeigt werden.
Aufruf und Syntax
Da sich das "H" als Parameter für die Hires Screens bzw. Dateien schon etabliert hat, gibt es diesmal keinen extra Parameter für eine Programmhilfe. Die wenigen notwendigen Informationen für den Gebrauch des Programmes befinden sich mit in der Versionsmeldung und werden wie gehabt mit dem Parameter -V aufgerufen, anschliessend beendet sich PICGEN.COM. Der folgende Screenshot wurde natürlich mit PICGEN.COM geschossen :-) :
Da die überwiegende Mehrheit aller CP/M-Programme auf dem KC85 in der Lores Auflösung laufen, ist das auch die Standardeinstellung für abzuspeichernde Screenshots. Das Programm benötigt daher bei solchen Bildern keine Parameter, sondern nimmt seine Arbeit sofort mit den Standardeinstellungen auf:
- als Verzeichnis für die Ausgabe der Dateien wird immer die RAM-Floppy A0: verwendet
- als Dateiname für die Dateien wird immer "PICGEN" verwendet
- der Inhalt des nicht angezeigten Bildes wird in eine PIP- und PIF-Datei im UNIPIC-Format ausgegeben
- anschliessend wird er zusätzlich in eine Windows-Bitmap-Datei mit 24 Farben ausgegeben
- danach wird er auch noch im ZSoft-Paintbrush-Format mit 24 Farben ausgegeben
Diese Standardeinstellungen können beim Aufruf des Programmes in der Kommandozeile wie folgt geändert werden:
PICGEN [-V] [DIR|DU:][NAME][.TYP] [-P|[-L]|-H] | ||
-V |
- |
Version und Hilfe anzeigen, Programm beenden |
DIR|DU: |
- |
Dateien in das angegebene Verzeichnis schreiben |
NAME | - |
NAME als Dateiname verwenden |
.TYP |
- |
Nur das angegebene Format speichern (PIP|HIP|BMP|PCX) |
-P |
- |
Bildinhalt als Pixel Screen mit 2 Farben speichern |
[-L] |
- |
Bildinhalt als Lores Screen mit 24 Farben speichern |
-H |
- |
Bildinhalt als Hires Screen mit 4 Farben speichern |
Wenn sich im nicht angezeigten Bild also Hires Bilddaten befinden, muss man das dem Programm mit -H auch mitteilen, sonst gibt es "grafischen Datensalat". Wenn man nur die Pixeldaten im Lores Modus speichern will, muss das mit dem Parameter -P ebenfalls angegeben werden. Dann schreibt das Programm nur eine PIP-Datei, sowie ein 2 farbiges BMP- und PCX-Bild.
Anwendungsbeispiele
Anschliessend startet man das entsprechende CP/M Programm und begibt sich zu der Stelle, wo ein Screenshot gemacht werden soll. Dort schaltet man dann einfach mit den o.g. Tasten auf das andere Bild um. Das Programm bekommt davon nichts mit, da diese Umschaltung direkt von der Steuerschleife im Grundgerät vorgenommen wird. Jetzt kann man das CP/M Programm verlassen und PICGEN.COM wie beschrieben benutzen - das war's schon. Dieses Prinzip funktioniert natürlich nicht für Programme wie beispielsweise NC.COM, welches beim Beenden beide Hardware Bilder im Grundgerät löscht.
Die zweite Nutzungsmöglichkeit besteht darin, einen Dateibetrachter und PICGEN.COM in Kombination als Dateikonverter zu benutzen. Das ist im nachfolgenden Screenshot zu sehen. Das Programm PICVIEW.COM (Originalname VIEW.COM) von Mario Leubner zeigt die UNIPIC-Bilder unter CP/M im Hardware Bild 1 an und beendet sich mit dem nächsten Tastendruck wieder, wobei vorher automatisch in Bild 0 zurückgeschaltet wird. Dann muss man lediglich PICGEN.COM mit den richtigen Parametern starten und erhält das konvertierte Bild als BMP- und/oder PCX-Datei:
Noch viel mehr Möglichkeiten würden sich ergeben, wenn man die umfangreichen Anzeigevarianten von NC.COM für den gleichen Zweck einsetzen könnte. Man zeigt mit dem Viewer von NC.COM die gewünschten Inhalte einfach an und ruft anschliessend mit dem eingebauten Z-Kommando PICGEN.COM auf, welches die vorherige Anzeige wieder als BMP- und/oder PCX-Datei ausgibt.
Leider geht das mit der aktuellen Version nicht, da NC.COM beim Start des Z-Kommandos und Verlassen des Programmes den nicht angezeigten Screen löscht, also genau so, als ob es mit ESC bzw. Q beendet werden würde.
Ich bin da bereits mit Mario am Verhandeln :-), um diese Änderung beim Aufruf des Z-Kommandos in die nächste Version von NC.COM mit einfliessen zu lassen. Mario hatte das bereits ein paar Stunden nach meiner Anfrage testweise eingebaut, siehe folgende Bilder. Links sieht man ein konvertiertes FRC-Bild und rechts den Inhalt einer Textdatei, beide nach BMP konvertiert:
Das PICGEN.COM Programm befindet sich zusammen mit den Quelltexten und 2 Dateien mit den verwendeten Farbpaletten der PC-Bilder im Downloadbereich - viel Spass beim Screenshot-Schiessen!