HPKC.COM und DRUCK.COM mit ZAS 1.3

von Frank Dachselt

Damit die Liste der mit der neuen ZAS-Version zusammenarbeitenden Programme noch etwas fortgesetzt werden kann, gibt es jetzt auch die Programme HPKC und DRUCK in angepaßter Form. Die Funktionalität für den Anwender hat sich nicht verändert, sodaß äußerlich kein Unterschied zu den bisherigen Versionen besteht. Die Programme sind lediglich um eine spezielle Laderoutine erweitert worden, die im Zusammenwirken mit ZAS in der Lage ist, die Programmteile an beliebige Stellen im Grundgerät lauffähig zu übertragen. Diese Variante ist allerdings nur als ein vorläufiges Provisorium anzusehen, da augenblicklich noch kein universelles Ladetool für diesen Zweck zur Verfügung steht.

Beide Programme machen bereits von der Möglichkeit gebrauch, Subtreiber zu benutzen, indem sie - wie bereits bisher - einen gemeinsamen Speicherbereich zur Ablage des Bildschirminhaltes benutzen.

Während HPKC bereits als fertige COM-Datei vorliegt, die nach der Installation von ZAS 1.3 sofort benutzt werden kann, besteht bei DRUCK wieder die Möglichkeit, einen an den persönlichen Drucker angepaßten Datensatz zu verwenden (siehe dazu den Artikel in den KC-News 4/94, der auch im Archiv DRUCK11.PMA dieser Ausgabe enthalten ist). Wer bereits einen solchen persönlichen Datensatz erstellt hat, kann diesen ohne Änderung weiterverwenden. Im Archiv DRUCK11.PMA sind alle Dateien, die zur Erstellung des Programms DRUCK11 notwendig sind, enthalten. Der persönliche Datensatz muß dabei als DRUCKDAT.MAC auf dem aktuellen Laufwerk vorliegen. Danach kann durch den Start der SUB-Datei ASM.SUB die Assemblierung vorgenommen werden. Da das Verfahren etwas ungewöhnlich ist, im folgenden ein paar erklärende Worte dazu. Zunächst ein Blick in die SUB-Datei selbst:

  ;
; Erstellen der Datei DRUCK11.COM
;
m80 a:drck1=drck1v11
link131 a:drck1p=a:drck1 [op]
prltomac a:drck1p
m80 a:drck1p=a:drck1p
link131 a:druck11=a:drck0,a:drck1p,a:irmbufp

Die Datei DRUCK11.COM besteht aus drei Teilen: der Laderoutine DRCK0 - also dem Teil, der bei der Initialisierung im D004 abgearbeitet wird, dem Haupttreiber DRCK1 und dem Subtreiber IRMBUF. Letzterer ist in gleicher Form auch im Programm HPKC11 enthalten. Diese drei Teile werden im letzten Kommando der SUB-Datei zum fertigen Programm DRUCK11 zusammengesetzt. Während DRCK0 und IRMBUF bereits als REL-Dateien bereitstehen, muß die entsprechende REL-Datei für DRCK1 erst erzeugt werden, da in diese der Datensatz aus DRUCKDAT.MAC mit einfließt. Nach der Assemblierung von DRCK1V11.MAC wird mit dem zweiten Kommando die entstandene REL-Datei mit der Option ,,op`` gelinkt, die die Erzeugung einer PRL-Datei bewirkt. An dieser Stelle wird in Zukunft der Assembliervorgang beendet sein, da das universelle Ladetool diese PRL-Datei erwarten und ins Grundgerät übertragen wird. Um nun diese PRL-Datei zusammen mit dem Subtreiber IRMBUF mit der Laderoutine DRCK0 zu verbinden, wird sie mit dem dritten Kommando erst einmal wieder in eine MAC-Datei verwandelt. Diese enthält den Inhalt der PRL-Datei Byte für Byte in Form von Definitionsanweisungen und kann nun mit dem vierten Kommando in eine ,,normale`` REL-Datei übersetzt werden, wie sie für den abschließenden Linkvorgang notwendig ist. Die Datei IRMBUFP.REL ist natürlich in gleicher Weise erzeugt worden und wird in Zukunft ebenfalls nur noch als PRL-Datei auftreten.

Die Programme DRUCK124, DRUCKLX4 und DRUCKEPS sind die bereits fertig übersetzten Versionen mit den drei beiliegenden Datensätzen DRUCK124.MAC, DRUCKLX4.MAC bzw. DRUCKEPS.MAC, die auch schon beim letzten Mal im Programmpaket enthalten waren.

Einen kleinen Schönheitfehler hat die Umstellung auf das neue Konzept der Speicherverwaltung allerdings erst einmal mitsichgebracht. Wenn HPKC und/oder DRUCK geladen wurde, dann lassen sich mit ML keine komprimierten Bilder mehr anzeigen, da sich beide Programme im RAM4 überschneiden würden. Der Zwischenspeicher für den Bildschirminhalt von HPKC und DRUCK befindet sich aus Platzgründen immer im RAM4, einem Bereich, den ML für das Entpacken komprimierter Bilder ebenfalls benötigt. Aber ich denke, daß sich hier bis zum Erscheinen der nächsten KC-News eine Lösung finden läßt, die dieses Problem beseitigt. Zur Zeit hilft in diesem Fall nur das Freigeben der von HPKC, DRUCK und IRMBUF benutzten Speicherbereiche mittels ZASTEST.