HP-DeskJet Hardcopy-Treiber Version 3.50 Anschrift: Alman Development GbR mbH Ilmari Krebs Ob dem Viehweidle 3 W-7400 Tbingen Programm: Arndt Weinmann Handbuch: Hanno Klomp 1. Vorbemerkungen Falls Sie kein LaTeX besitzen, k”nnen Sie dieses Handbuch nur als ASCII-Datei lesen. Falls Sie aber gerne in den Besitz eines ordentlichen Handbuchs kommen wollen, schicken Sie uns einfach 5.- DM. Wir schicken Ihnen dann einen Ausdruck des aktuellsten Handbuchs zu. Nachdem ich bei Erkl„rungen, die den Computer und seine Anwendung betrafen, immer wieder verst„ndnislose Blicke geerntet hatte, habe ich mich entschlossen, einige nicht so gel„ufige Begriffe zu erkl„ren. Diese Erkl„rungen befinden sich im Glossar am Ende des Handbuchs. Fast alle Hard- und Softwarebezeichnungen, die in dieser Anleitung Verwendung fanden, sind eingetragene Warenzeichen und sollten als solche betrachtet werden. WICHTIG: Alman Development GbR mbH bernimmt fr die korrekte Funktionsweise der Software keine Garantie. Aužerdem sind wir nicht haftbar fr Sch„den, die aus Fehlfunktionen oder falscher Anwendung unserer Software entstehen. Im Klartext heižt das, Festplatten, die sich in Rauchwolken aufl”sen oder sich aus unerfindlichen Grnden formatieren, sind immer Sch„den, fr die der Anwender selbst verantwortlich ist. 2. Wozu dient HP_DESK Eine wirklich berechtigte Frage, denn bei vielen PD- und Sharewareprogrammen ist das nicht ganz einfach herauszufinden (meistens, weil sie sowieso gleich wieder abstrzen ... leidgeprfter TT-Besitzer). Alle ST-und TT-Computer besitzen eine eingebaute Hardcopy-Funktion, die nach Drcken von [Alternate][Help] (Alle Ausdrcke, die in solchen Klammern stehen, bezeichnen Tasten. Sollten zwei Tasten direkt hintereinander stehen, mssen sie gleichzeitig gedrckt werden.) eine Kopie des Bildschirminhaltes auf einen angeschlossenen Drucker ausgibt. Leider ist diese Funktion immer noch fr 9-Nadel Drucker ausgelegt (wer hat denn sowas noch ??), so daž sich auf dem HP-DeskJet keine vernnftigen Ergebnisse erzielen lassen. 'HP_RES.PRG' ersetzt die eingebaute Hardcopyroutine durch eine eigene, und damit kann der HP-DeskJet angesprochen werden. Selbst wenn Sie keinen HP-DeskJet besitzen, k”nnen Sie den Hardcopytreiber immer noch verwenden. Es besteht die M”glichkeit, den Bildschirminhalt in eine Image-Datei zu schreiben. Diese Datei l„žt sich dann mit vielen Malprogrammen weiter verarbeiten und auch auf diesem Weg mit einem anderen Drucker ausdrucken. 3. Shareware Das Programm 'HP_DESK.PRG' ist Shareware, d.h. jeder kann das Programm kopieren und ausprobieren, ohne dafr zu bezahlen. Voraussetzung dafr ist, daž keine Ver„nderungen am Programm oder an den begleitenden Dateien vorgenommen werden und das Programm immer nur zusammen mit allen Dateien im Ordner HP_DESK.??? weitergegeben wird. Wenn Sie das Programm allerdings regelm„žig benutzen, mssen Sie es kaufen. Fr 20 DM werden Sie registriert und bekommen die neueste Version des Hardcopytreibers. Eine Version mit zugeh”rigem Sourcecode ist fr 40 DM bei uns zu beziehen. Eine kommerzielle Nutzung des Programms ist ohne unsere ausdrckliche Zustimmung untersagt. Als kleine Zugabe erhalten Sie mit der Diskette auch gleich noch einige Hilfsprogramme zum HP-DeskJet. Also schicken Sie eine Nachricht an obige Adresse und legen Sie 20 DM (Schein oder Verrechnungsscheck) bei, und schon bekommen Sie die neueste Version des Hardcopytreibers. Sie k”nnen uns natrlich auch eine Bestellung zusenden und das Geld auf unser Konto berweisen. 4. Funktionsbeschreibung zu HP_RES.PRG Der Treiber setzt sich aus zwei Teilen zusammen: HP_RES.PRG den residenten Druckroutinen und HP_DESK.APP dem Konfigurationsprogramm als Programm oder HP_DESK.ACC als Accessory oder HP_DESK.CPX als CPX Bei HP_RES.PRG handelt es sich, wie schon gesagt, um die residenten Druckroutinen, das heižt, dieses Programm wird geladen und bleibt nach Beendigung des Programmlaufes im Speicher stehen, wo es die originalen Hardcopyroutinen des Betriebssystems ersetzt. Das Programm kann sowohl aus dem AUTO-Ordner als auch vom Desktop und alternativen Benutzeroberfl„chen gestartet werden. Der Aufruf der Hardcopyroutine erfolgt durch [Alternate][Help]. Der Druckvorgang kann mit der Taste [UNDO] abgebrochen werden (nicht m”glich beim Abspeichern als Image-Datei). Bei einem zweiten Start deinstalliert sich das Programm, und der ursprngliche Zustand wird wieder hergestellt. Es ist jedoch anzumerken, daž sich ein Start von einer alternativen Benutzeroberfl„che (z.B. Gemini) aus nicht empfiehlt, weil es unweigerlich zur Speicherfragmentierung kommen wird. Speicherfragmentierung heižt, daž der Speicher in kleine Stcke zerteilt wird, die den einzelnen Programmen zur Verfgung gestellt werden. Wenn diese Stcke sehr klein sind, k”nnen sie manchmal vom Betriebssystem nicht mehr zu grožen Stcken zusammengefažt werden. Es mag dann noch viele kleine, freie Speicherbl”cke geben, aber das Betriebssystem ist dann nicht mehr in der Lage, einem Programm einen grožen zusammenh„ngenden Bereich zuzuweisen. Man wird dann also ”fter die Meldung bekommen, daž nicht mehr gengend Speicherplatz vorhanden ist, obwohl das nicht stimmt. Wenn ein Cookie-Jar installiert ist und noch Eintr„ge frei sind, installiert das Programm einen Cookie mit der Kennung 'AlHP' (das ist brigens auch die XBRA-Kennung). 5. HP_DESK.APP und HP_DESK.ACC Bei diesem Programm handelt es sich um eine Konfigurationssoftware fr den residenten Teil des Hardcopytreibers, d.h. mit diesem Programm ist es m”glich, bestimmte Parameter fr den Ausdruck zu ver„ndern. Soll der Konfigurationsteil als Accessory laufen, muž er in HP_DESK.ACC umbenannt werden und in das Wurzelverzeichnis des Bootlaufwerkes kopiert werden. Beim Aufruf als Accessory erscheint folgender Dialog: Hier fehlt das Bild: HP_DESK1.IMG Diese Dialogbox sieht nicht ganz wie eine normale Dialogbox aus. Wenn es das erste Mal ist, daž Ihnen so eine Box ber den Weg l„uft (sonst z.B. vorhanden in Gemini, Rufus, SciGraph etc.) und Sie mehr ber diese Art der Benutzerfhrung wissen wollen, lesen Sie bitte den Abschnitt Erweiterte Benutzerfhrung. Sollte das Eselsohr in der rechten oberen Ecke bei Ihnen nicht erscheinen, so sollten Sie sich eine Speichererweiterung kaufen, vernnftige Programme benutzen, die nicht den ganzen freien Speicher fr sich beanspruchen, oder einfach nicht so viele Programme auf einmal laufen lassen. Wenn diese Ecke n„mlich nicht auftaucht, liegt das daran, daž nicht gengend freier Speicher fr die Verschiebefunktion zur Verfgung steht. Beginnen wir mit der Erkl„rung des wohl wichtigsten Teils, der Parameter: Ger„t hiermit wird das Ger„t ausgew„hlt, an das die Druckausgabe erfolgt. Dabei wird bei Nirwana die Ausgabe einfach ins "Nirgendwo" umgeleitet, d.h. der Druckaufruf wird einfach ignoriert. Dieses scheinbar sinnlose Vorgehen hat Sinn bei Programmen, die die Tastenkombination [Alternate][Help] auch belegt haben. Dann wird erst die Programmfunktion ausgefhrt und nachher noch der Hardcopytreiber aufgerufen. Diese st„ndige Ausgabe von Hardcopies ist aber sicher nicht erwnscht, deshalb gibt es diese Einstellungsm”glichkeit. Drucker lenkt die Ausgabe tats„chlich auf den Drucker um (eigentlich erstaunlich bei einem Hardcopytreiber), Datei speichert bei einer Hardcopy den Bildschirminhalt als Image-Datei, OldVec fhrt die Routine aus, die bei einer Hardcopy ausgefhrt wird, wenn HP_RES.PRG nicht geladen ist. Aufl Mit Aufl. wird die Aufl”sung festgelegt, in der die Hardcopy ausgedruckt werden soll (hat keinen Einfluž auf die Image- Datei); dabei wird die Hardcopy um so kleiner, je gr”žer die Aufl”sung gew„hlt wird. Unter Umst„nden kann es sein, daž die Hardcopy bei zu kleinen Aufl”sungen nicht ganz auf das Papier pažt, dann werden vom Drucker Teile abgeschnitten. Ende Hier kann man w„hlen, was nach dem Druck passieren soll. Nichts bedeutet dabei, daž nichts weiter geschieht, CR/LF l„žt unter der Hardcopy eine Zeile frei und FF bewirkt einen Seitenvor- schub, also den Auswurf der Seite. Qualit„t M”gliche Optionen sind hier der Draft-Modus oder der High-End-Quality Modus. Es wird eine Hardcopy in der entsprechenden Qualit„t erstellt. Ausrichtung Damit wird die Orientierung des Ausdrucks festgelegt. Es sind Hoch-und Querformat (um 90 Grad gedreht) m”glich. Beim Druck in eine Datei ist die Einstellung Quer allerdings nicht anw„hlbar. Wenn man eine Datei mit einer gedrehten Hardcopy m”chte, kann man dies mit einem pixelorientierten Malprogramm erreichen. Hor bestimmt die horizontale Ausrichtung der Hardcopy: Links ganz an den linken Rand (h„ngt vom Papierformat ab bzw ist druckerabh„ngig!) Mitte zentriert in der Mitte (nur bei DINA4-Seiten, andere Seitenformate kann ich bei Interesse in einer sp„teren Version implementieren) Rechts an den rechten Rand (wieder nur bei DINA4) Ver legt die vertikale Ausrichtung fest. Die Einstellungen sind analog zu denen der horizontalen Ausrichtung. Es gibt jedoch eine Einstellung mehr, n„mlich Aktuell; dies bedeutet, die Hardcopy wird an der aktuellen Stelle des Blattes ausgegeben. Kommen wir nun zum Bereich Special: In der oberen H„lfte des Bereiches sind beim Betrieb von HP_DESK.(ACC-APP) als Accessory drei Radiobuttons zu erkennen. Beim Betrieb im Farbmodus sind die Buttons Block und Fenster disabled, da ein Druck in Farbe (noch) nicht m”glich ist. Es kann also nur eine Einstellung der Parameter, aber kein Ausdruck erfolgen. Beim Betrieb als Applikation ist nur der Button Schirm zu sehen. Schirm Durch den Button wird nur die Einstellung des residenten Treibers ge„ndert. Es folgt hier nicht wie bei den Buttons Block und Fenster ein sofortiger Ausdruck. Dies ist auch an dem Austausch des Buttons Setzen durch den Button Print zu erkennen. Block Dieser Button dient dazu, direkt einen bestimmten Ausschnitt zu druecken, der mit der Maus durch das Aufziehen eines Rechtecks definiert wird. Fenster Diese Option bietet die M”glichkeit, das aktuelle Fenster auszudrucken. Der letzte Button im Bereich Special, Mit Fensterelementen drucken, erlaubt es, den Inhalt des Fensters einschliežlich der Rahmenelemente zu drucken. Diese Option macht natrlich nur dann Sinn, wenn ein Fenster gedruckt werden soll, deshalb ist dieser Button auch nur dann enabled. Wenn kein Fenster offen ist, wird der Bildschirm mit bzw. ohne Menueleiste gedruckt. Die untere Reihe von Buttons versteht sich nun fast schon von selbst. Der erste Button, Info, gibt Auskunft ber das Programm. Diese Funktion ist auch mit [Help] zu erreichen. Abbruch bewirkt den Abbruch des Accessories bzw. des Programms, wobei der residente Teil natrlich im Speicher verbleibt und die Parameter nicht ver„ndert werden. Diese Funktion ist auch ber [Undo] zu erreichen. Setzen bewirkt, daž der residente Teil gepatcht wird, das heižt, die ver„nderten Parameter werden an den residenten Teil bergeben. Bei Print erfolgt zus„tzlich noch ein Ausdruck. Extra ist der einzige Button, der in diesem Dialog noch nicht ganz verst„ndlich ist, was sich hoffentlich gleich „ndert. Mit Hilfe dieses Buttons kommen Sie zu einem weiteren Dialog mit einigen zus„tzlichen Einstellungsm”glichkeiten. Hier fehlt das Bild: HP_DESK2.IMG Im oberen Teil des Dialoges sind wieder drei Radiobuttons zu sehen, die zur Einstellung des Pfades dienen, in dem der Screendump abgespeichert werden soll, falls als Ausgabeger„t File angew„hlt ist. Die Einstellung aktuell bewirkt die Speicherung des Bildes im aktuellen Verzeichnis des aktuellen Laufwerks. Bei fester kann man einen fest eingestellten Pfad vorgeben. Hierzu klickt man auf das Feld Pfad und w„hlt den Pfad in der erscheinenden Fileselectorbox aus. Clipboard dient dazu die Dateien im Clipboard abzuspeichern, falls ein solches existiert. Hierbei l„žt sich der Pfad nicht „ndern, da dieser schon vorgegeben sein muž. Ist kein Clipboard installiert, so wird dieser Radiobutton disabled. Im Feld Dateiname kann man, wie der Name schon sagt, einen Dateinamen vorgeben. Autopatch dient dazu, die gew„hlten Einstellungen abzuspeichern, damit der Treiber beim n„chsten Installieren mit diesen Parameteren gestartet wird. Dazu muž in der auftauchenden Fileselectorbox der Dateiname des Treibers angew„hlt werden, sonst erscheint eine Fehlermeldung. Der Button Extra fhrt jetzt zum Hauptdialog zurck. 6. Erweiterte Benutzerfhrung Der Dialog hat, wie leicht zu erkennen ist, rechts oben ein Eselsohr. Hierbei handelt es sich nicht um einen Programmierfehler, wie Sie jetzt vielleicht annehmen m”chten, sondern ist beabsichtigt. Diese abgeknickte Ecke soll kenntlich machen, daž es sich um einen "fliegenden Dialog" handelt. Das bedeutet: Der Dialog l„žt sich mit der Maus verschieben, wenn man den Mauszeiger auf diese Ecke bewegt und dann den linken Knopf gedrckt h„lt, w„hrend man die Maus bewegt. Aber das ist noch nicht das einzige sch”ne Feature dieses Dialoges. Ein Buchstabe innerhalb des Textes der Buttons ist jeweils unterstrichen, der jeweilige Button ist dann durch die Tastenkombination [Alternate][unterstrichener Buchstabe] anw„hlbar. Wenn nun aber in einem Datenfeld des Dialogs etwas steht (z.B. Drucker), so erscheint auf einen Mausklick ein Pop-Up-Menue, aus dem man seine Wahl treffen kann. Man kann aber auch den Kreisbutton am Ende des Datenfeldes anklicken, dann erscheint als aktueller Eintrag der n„chste Eintrag in der Liste des entsprechenden Pop-Up-Menues. Sie sehen also, die verwendeten Dialoge lassen (hoffentlich) an Bedienungskomfort nicht viel zu wnschen brig. 7. Technische Beschreibung zu HP_RES.PRG Das Programm h„ngt sich in die Vektoren scr_dump $502 und XBIOS (trap # 14) ein. Dabei benutzt es selbstverst„ndlich das XBRA-Verfahren mit der XBRA-Kennung 'AlHP'. Es werden die XBIOS-Aufrufe 20 (Scrdmp) und 36 (Prtblk) abgefangen und selbst ausgewertet. Der Trap-Dispatcher ist dabei 68030-fest. Zur Bestimmung der Gr”že des Stackoffsets wird die zwei Byte lange Betriebssystemvariable _longframe (Adresse 1438) ausgewertet, ein von 0 verschiedener Wert zeigt einen Stackoffset von 8 Bytes bei einem Trap an, sonst sind es 6 Bytes. Falls es bei installierten Prozessorkarten (z.B. 68020-Karte) zu Problemen bei den XBIOS-Aufrufen kommt, so berprfen Sie bitte diese Variable und setzen Sie sie notfalls "per Hand". Wenn ein Cookie-Jar vorhanden ist, installiert der Treiber einen Cookie mit der Kennung 'AlHP' und einem Pointer auf die im Kapitel Patchen angegebene interne Datenstruktur als Wert. Probleme gab es bei der Implementierung der Auswertung der Prtblk-Funktion aufgrund der mangelhaften Dokumentation dieses Aufrufs. In meinem Treiber bin ich daher nach der in [3] vorgestellten Beschreibung vorgegangen. Danach wird der Funktion Prtblk ein Zeiger auf folgende Struktur bergeben: typedef struct{ void *pb_prtblk; /* Startadresse des Druckbereichs */ int pb_offset; /* Offset in Bit (!) zur Startadresse */ int pb_width; /* Breite des Ausschnitts in Pixeln */ int pb_left; /* linker Rand in Pixeln */ int pb_right; /* rechter Rand in Pixeln */ int pb_scrrez; /* Bildschirmaufl”sung ?? = Getrez() ? */ int pb_prrez; /* Druckertyp Atari/Epson ??? */ long pb_colptr; /* Drucker auf Farbpalette */ long pb_prtype; /* Druckertyp ??? */ int pb_prport; /* Schnittstelle Centronics/RS 232 */ void *pb_mask; /* Zeiger auf Halbtonmaske (???) */ }PBDEF; Mit vielen Werten kann man nicht ganz so viel anfangen, und so habe ich mich entschlossen, nur einige auszuwerten, als da w„ren: pb_prtblk, pb_offset, pb_width, pb_left. Gerade im Hinblick auf OverScan scheint mir diese Funktion etwas kritisch zu sein, z.B. sind bei dem Parameter pb_prtblk Offset-Fehler ja geradezu vorprogrammiert, es sei denn, es sind wirklich vorbildliche Programmierer am Werk. (Das einzige Programm, das meines Wissens diese Funktion nutzt, ist DISKUS). Da man fr die Berechnung von pb_prtblk die Anzahl der Bytes pro Zeile kennen muž, diese Zahl aber mit den VDI-Funktionen nicht erfragbar ist, sondern aus den LineA-Variablen geholt werden muž, verbietet sich der Einsatz dieser Funktion eigentlich in jedem sauber geschriebenen Programm. Aber ich bin gerne bereit, mich eines Besseren belehren zu lassen; berhaupt m”chte ich gerne mit anderen Programmierern in Kontakt kommen, um Erfahrungen auszutauschen. Geschrieben wurde das Programm zu gleichen Teilen mit dem TurboAss V. 1.7.2 und dem Pure C Compiler. Die n„chste Version des Programms wird wahrscheinlich fast ganz in C geschrieben sein, da die Programmierung wesentlich einfacher ist. Aužerdem l„žt sich der Treiber dann auch besser fr andere Drucker anpassen. 8. Programmvariablen Im residenten Teil HP_RES.PRG ist die Zeichenketten 'PATCH:' enthalten. Direkt an diese Zeichenkette schliežt sich die Parameterstruktur an, was sich als C-Struktur folgendermažen darstellt: typedef struct{ WORD horizontal; WORD vertical; WORD orientation; WORD quality; WORD resolution; WORD device; WORD followed_by; WORD version; UWORD date; BYTE *filepath; BYTE *filename; }PPB; /* Public Para Block */ Auf die Variablen horizontal bis followed_by ist der lesende und schreibende Zugriff gestattet, auf alle anderen nur der lesende. Die Variablen k”nnen folgende Werte annehmen (und am besten keine anderen): horizontal: 0 = Links 1 = Mitte 2 = Rechts vertical: 0 = Oben 1 = Mitte 2 = Aktuell 3 = Unten orientation: 0 = Hoch 1 = Quer quality: 0 = Draft 1 = NLQ resolution: 0 = 75dpi 1 = 100 dpi 2 = 150 dpi 3 = 300 dpi to: 0 = Nirwana 1 = Drucker 2 = Datei 3 = OldVec followed_by: 0 = Nichts 1 = CR/LF 2 = FF Die Versionsnummer version ist in der Form $0301 = Version 3.01 abgelegt. Das Entstehungsdatum ist im Gemdos-Format kodiert. Bei filepath und filename handelt es sich um zwei Pointer, einmal auf den Pfad, der beim Abspeichern der Images verwendet wird, und einmal auf den Dateinamen selbst. Der Pfad darf dabei bis zu 90 Zeichen lang sein, mit abschliežendem Backslash und nullterminiert. Der Dateiname darf nur 7 Zeichen lang sein (nullterminiert). 9. Hardwarevoraussetzungen Das Programm stellt keine besonderen Hardwareanforderungen, es sollte nur ein Atari ST/STE/TT (oder Emulator: funktioniert so etwas?) mit gengend Speicher sein. Wenn gedruckt oder gespeichert werden soll, ist jedoch ein Monochrombildschirm (oder nur eine Farbebene) Voraussetzung. Aužerdem sollte der Prozessor Zugriff auf den Bildschirmspeicher haben und der Grafikkartentreiber den Wert von logbase korrekt setzen, sonst wird die Hardcopy nicht ganz das wiedergeben, was Sie gerade sehen. 10. Fehlersuche Windowupdate Ein Fehler, der hoffentlich nicht h„ufig auftritt! Es gibt Programme, die so unsauber programmiert sind, daž Sie sich noch zu Wort melden, wenn das HPDeskJet Accessory gestartet ist. Das einzige, mir bisher bekannte Beispiel dieser unrhmlichen Gattung ist Calamus. Gegen diesen Fehler, der sich darin „užert, daž Calamus teilweise weiterarbeitet und den Dialog berschreibt, ist eine sauber und ordentlich programmierte Anwendung leider machtlos. Der Fehler liegt hier eindeutig bei dem jeweiligen anderen Programm und nicht bei uns. Not installed !! Es gibt mehrere M”glichkeiten, die zu diesem Fehler fhren. Die einfachste von diesen ist, daž Sie den residenten Teil HP_RES.PRG noch nicht gestartet haben. Der Fehler ist durch den Start des residenten Teils leicht zu beheben. Es k”nnte auch sein, daž Sie gerade versuchen, die alte Version mit dem Einstellaccessory zu ver„ndern, was nicht m”glich ist. In diesem Fall sollten Sie sich die neue Version des Treibers zulegen. Die dritte und unsch”nste M”glichkeit ist die, daž sich ein gerade aktives Programm nicht an das XBRA Verfahren h„lt und so nicht erkannt werden kann, daž der residente Teil bereits geladen wurde. Dieser Fehler tritt nur auf, wenn das aktive Programm den gleichen Vektor verbiegt wie unser Treiber. Dem Programmierer von Diskus jedenfalls scheint das XBRA Verfahren nicht bekannt zu sein, denn der Treiber wird hier nicht erkannt. Hier fehlt das Bild: HP_DESK3.IMG Installation Wenn Sie den alten Treiber installiert hatten und dann den neuen Treiber (PRG-Programm) aufrufen, de- installiert es nur den alten Treiber und wird selbst erst nach nochmaligem Start installiert. Hier fehlt das Bild: HP_DESK4.IMG 11. Historie Die Resonanz auf unseren Hardcopytreiber war sehr grož, womit die Vermutung nahe liegt, daž es hier eine Marktlcke gab. Nachdem wir unser Programm anf„nglich als PD vertrieben, sind wir nun dazu bergegangen, den Treiber als Shareware zu vertreiben. Wir hoffen so, noch mehr Anwender dazu bewegen zu k”nnen, fr die Nutzung des Programms zu zahlen. Dadurch kommen wir dann auch in den Genuž, mit dem Treiber Geld zu verdienen und nicht nur die Unkosten ersetzt zu bekommen. 12. Ausblick Das gr”žte Manko im Moment ist sicherlich die nicht vorhandene Farbf„higkeit, besonders im Hinblick auf die TT-Mittel-Aufl”sung. Ich weiž allerdings nicht, ob und wann ich den Hardcopytreiber auch farbf„hig machen werde. Wenn die Resonanz grož genug ist, werde ich vielleicht irgendwann die eine oder andere Neuerung noch implementieren. Im Moment sind allerdings andere Projekte vorrangig, und ich habe nicht gengend Zeit, um mich weiter so intensiv mit dem Programm zu besch„ftigen. 13. Danksagung Wir m”chten unseren besonderen Dank allen denen aussprechen, die uns zu den vorhergehenden Versionen geschrieben haben, die uns mit wichtigen Informationen versorgt und die vielen Public-Domain- Programme beigesteuert haben. Ganz besonders m”chte ich Severin Stille erw„hnen, der durch sein Engagement viel dazu beigetragen hat, die erste Version entstehen zu lassen. 14. Wer ist Alman Development GbR mbH Bei Alman Development GbR mbH handelt es sich um eine Gruppe von Studenten, die - von der Leistungsf„higkeit des Atari ST berzeugt - auch die angemessene Software fr diesen Rechner schreiben will. Dabei soll besonderer Wert auf eine saubere Programmierung gelegt werden, so daž nicht mit jeder neuen TOS- oder Hardware„nderung (OverScan!) gleich alle Programme den Dienst versagen (leider war ja da die erste Version von HP_DESK auch so ein schwarzes Schaf, aber wir geloben Besserung). Da wir unsere Programme als Shareware verteiben und somit ein Verdienst entsteht, sahen wir uns gezwungen, eine GbR zu grnden. Vor allen Dingen konnten wir dadurch eine Haftungsbeschr„nkung einfhren, die sich auf die im Gesellschaftsvertrag festgelegte Summe bel„uft. 15. Glossar Accessory Ein Accessory ist ein Programm, das nach dem Laden (aus dem Wurzelverzeichnis) immer im Speicher verbleibt, zumindest teilweise, und immer im linken Drop-Down-Menue der Menueleiste anw„hlbar sein sollte. AUTO-Ordner Der AUTO-Ordner ist ein Datei-Ordner auf der Festplatte bzw. Diskette, in dem die Programme enthalten sind, die der Rechner nach dem Anschalten laden soll. Button Ein Button ist ein Schalter in einem Dialog, der vom Benutzer bet„tigt, also an-oder ausgeschaltet werden kann, solange er nicht disabled ist. Ist ein Buchstabe innerhalb der Beschriftung eines Buttons unterstrichen, so l„žt sich der Button auch ber das gleichzeitige Drcken von [Alternate][unterstrichener Buchstabe] an- bzw. abschalten. Hier fehlt das Bild: HP_DESK5.IMG Betriebssystem Das Betriebssystem ist ein im ROM untergebrachtes Programm, das beim Ausschalten des Computers nicht gel”scht wird. Es sorgt dafr, daž die ver- schiedenen Einheiten des Computers korrekt mit- einander arbeiten, und daž sie mit den n”tigen Informationen versorgt werden. Aužerdem stellt es eine Kommunikationsschnittstelle zum Benutzer und eben allen Peripherieger„ten zur Verfgung. Diese Schnittstelle ist genormt und kann von allen Programmen gleich angesprochen werden. Cookie-Jar Ein Cookie-Jar ist eine zusammenh„ngende Liste von Cookies, das heižt von Eintr„gen, wobei jeder Eintrag eine Kennung - m”glichst im ASCII Format - hat, die vier Byte grož ist. Danach folgt ein weiterer vier Byte grožer Wert, in den man jede beliebige Information schreiben kann. Meist wird hier eine Versionsnummer oder „hnliches angegeben. Dieses Cookie-Jar enth„lt auch Eintr„ge des Betriebssystems, an denen ein Programm erkennen kann, welcher Rechner und welches TOS vorliegen. Dialog-Box Eine Dialog-Box ist die Schnittstelle zwischen einem Programm und dem Benutzer, solange die Kommunikation nicht in einem Fenster abl„uft. Dialog-Boxen finden immer dann Verwendung, wenn es darum geht, Parameter einzustellen oder dem Programm irgendwelche Žnderungen mitzuteilen, die nicht in direktem Zusammenhang mit der eigentlichen Funktion desselben stehen. Eine Dialog-Box ist nichts anderes als ein Spezialfenster, in dem Parameter bzw. Daten eingegeben werden. disabled Disabled bedeutet, daž dieser Button nicht anw„hlbar ist, was zum Beispiel auftreten kann, wenn eine Option bei der aktuellen Systemkonfiguration oder der aktuellen Parametereinstellung keinen Sinn ergibt. Diese Buttons sind dann hell gezeichnet. Hier fehlt das Bild: HP_DESK6.IMG Hardcopy Eine Hardcopy ist die Ausgabe des aktuellen Bildschirm- inhalts oder eines definierten Teils desselben an ein Ausgabeger„t (dies kann auch eine Datei sein). Image-Datei Eine Image-Datei ist eine Bilddatei, die ein bestimmtes festgelegtes Format hat. Diese Datei muž immer die Endung .IMG haben, wenn von anderen Programmen erkannt werden soll, daž es sich um eine in diesem Format abgelegte Datei handelt. Das Image-Format wurde definiert, damit ein Austausch von Bilddateien auch zwischen unterschiedlichen Programmen m”glich ist. Da die meisten Programme ihr eigenes Format zur Speicherung von Daten benutzen, ist sonst ein Austausch nur unter Verwendung von Hilfsprogrammen m”glich, die die einzelnen Formate konvertieren. Radiobutton Radiobuttons sind im allgemeinen rund und lassen sich im Gegensatz zu normalen Buttons nur umschalten. Sie funktionieren genau wie Stationstasten beim Radio: wenn man eine Taste drckt, gehen alle anderen wieder aus. Von mehreren Radiobuttons muž und kann immer nur genau einer angew„hlt sein. Hier fehlt das Bild: HP_DESK7.IMG Verschiedene Gruppen von Radiobuttons sind innerhalb eines Dialoges meist graphisch voneinander getrennt, z.B. durch einen Rahmen. Routine Als Routine bezeichnet man normalerweise einen Baustein eines Programms, der fr eine bestimmte Aufgabe zust„ndig ist. Zum Teil wird dieser Ausdruck auch fr kleinere Hilfsprogramme verwendet, insbesondere wenn, diese Teile des Betriebssystems ersetzen. XBRA-Kennung Die XBRA-Kennung dient dazu, eine gewisse Ordnung in diejenigen Programme zu bekommen, die Vektoren des Betriebssystems verbiegen. Wenn man einen solchen Vektor auf seine eigene Routine verbiegt, soll man vor der Speicherstelle, an die man springt, den String 'XBRA' einfgen. Danach kommt dann noch eine vier Byte grože eigene Kennung des Programms. Nun ist es m”glich zu erkennen, ob das eigene Programm schon installiert ist, auch wenn nachher noch ein weiteres Programm denselben Vektor verbogen hat. Das funktioniert so, daž man vor der angegeben Anfangsadresse nach dem String XBRA und dann nach der Kennung seines Programms sucht. 16. Literatur [1] Atari ST Profibuch, H.-D. Jankowski, D. Rabich, J.F. Reschke, 2. Auflage, SYBEX, 1988 [2] Vom Anf„nger zum GEM-Profi, D. Geiž, J. Geiž, 1. Auflage, Hthig Verlag, 1989 [3] "Wir lassen drucken", Uwe Seimet, St Computer, 4, S. 94-96 (1990)