

                 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, knnen 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 Erklrungen, die den Computer und seine Anwendung
  betrafen, immer wieder verstndnislose Blicke geerntet hatte, habe 
  ich mich entschlossen, einige nicht so gelufige Begriffe zu 
  erklren. Diese Erklrungen 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. Auerdem sind wir nicht
  haftbar fr Schden, die aus Fehlfunktionen oder falscher Anwendung
  unserer Software entstehen. Im Klartext heit das, Festplatten, die
  sich in Rauchwolken auflsen oder sich aus unerfindlichen Grnden
  formatieren, sind immer Schden, 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, knnen Sie den Hardcopytreiber
  immer noch verwenden. Es besteht die Mglichkeit, den
  Bildschirminhalt in eine Image-Datei zu schreiben. Diese Datei lt
  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 Vernderungen 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 regelmig benutzen, mssen 
  Sie es kaufen. Fr 20 DM werden Sie registriert und bekommen die 
  neueste Version des Hardcopytreibers.
  Eine Version mit zugehrigem 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 knnen 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 heit, 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 Benutzeroberflchen gestartet werden. Der Aufruf der
  Hardcopyroutine erfolgt durch [Alternate][Help]. Der Druckvorgang
  kann mit der Taste [UNDO] abgebrochen werden (nicht mglich 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
  Benutzeroberflche (z.B. Gemini) aus nicht empfiehlt, weil es
  unweigerlich zur Speicherfragmentierung kommen wird.
  Speicherfragmentierung heit, da der Speicher in kleine Stcke
  zerteilt wird, die den einzelnen Programmen zur Verfgung gestellt
  werden. Wenn diese Stcke sehr klein sind, knnen sie manchmal vom
  Betriebssystem nicht mehr zu groen Stcken zusammengefat werden.
  Es mag dann noch viele kleine, freie Speicherblcke geben, aber das
  Betriebssystem ist dann nicht mehr in der Lage, einem Programm einen
  groen zusammenhngenden 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 Eintrge 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 mglich, bestimmte Parameter fr den Ausdruck zu
  verndern. 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 luft
  (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 nmlich nicht auftaucht, liegt
  das daran, da nicht gengend freier Speicher fr die
  Verschiebefunktion zur Verfgung steht.
  Beginnen wir mit der Erklrung des wohl wichtigsten Teils, der
  Parameter:
  
  Gert hiermit wird das Gert ausgewhlt, 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
        stndige Ausgabe von Hardcopies ist aber sicher nicht
        erwnscht, deshalb gibt es diese Einstellungsmglichkeit.
        Drucker lenkt die Ausgabe tatschlich 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 Auflsung festgelegt, in der die Hardcopy
       ausgedruckt werden soll (hat keinen Einflu auf die Image-
       Datei); dabei wird die Hardcopy um so kleiner, je grer die
       Auflsung gewhlt wird. Unter Umstnden kann es sein, da die
       Hardcopy bei zu kleinen Auflsungen nicht ganz auf das Papier
       pat, dann werden vom Drucker Teile abgeschnitten.

  Ende Hier kann man whlen, was nach dem Druck passieren soll. Nichts
       bedeutet dabei, da nichts weiter geschieht, CR/LF lt unter
       der Hardcopy eine Zeile frei und FF bewirkt einen Seitenvor-
       schub, also den Auswurf der Seite.

  Qualitt Mgliche Optionen sind hier der Draft-Modus oder der
           High-End-Quality Modus. Es wird eine Hardcopy in der
           entsprechenden Qualitt erstellt.

  Ausrichtung Damit wird die Orientierung des Ausdrucks festgelegt. Es
              sind Hoch-und Querformat (um 90 Grad gedreht) mglich.
              Beim Druck in eine Datei ist die Einstellung Quer
              allerdings nicht anwhlbar. Wenn man eine Datei mit
              einer gedrehten Hardcopy mchte, kann man dies mit einem
              pixelorientierten Malprogramm erreichen.

  Hor bestimmt die horizontale Ausrichtung der Hardcopy:

     Links  ganz an den linken Rand (hngt vom Papierformat ab bzw ist
            druckerabhngig!)
     Mitte  zentriert in der Mitte (nur bei DINA4-Seiten, andere
            Seitenformate kann ich bei Interesse in einer spteren
            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, nmlich  Aktuell; dies bedeutet, die
      Hardcopy wird an der aktuellen Stelle des Blattes ausgegeben.

  Kommen wir nun zum Bereich Special:

  In der oberen Hlfte 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 mglich 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 gendert. 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 Mglichkeit, das aktuelle Fenster
          auszudrucken. Der letzte Button im Bereich Special, Mit
          Fensterelementen drucken, erlaubt es, den Inhalt des
          Fensters einschlielich 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 verndert
  werden. Diese Funktion ist auch ber [Undo] zu erreichen. Setzen
  bewirkt, da der residente Teil gepatcht wird, das heit, die
  vernderten Parameter werden an den residenten Teil bergeben. Bei
  Print erfolgt zustzlich noch ein Ausdruck. Extra ist der einzige
  Button, der in diesem Dialog noch nicht ganz verstndlich ist, was
  sich hoffentlich gleich ndert. Mit Hilfe dieses Buttons kommen Sie
  zu einem weiteren Dialog mit einigen zustzlichen
  Einstellungsmglichkeiten.

  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 Ausgabegert File angewhlt
  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 whlt den Pfad in der erscheinenden Fileselectorbox
  aus. Clipboard dient dazu die Dateien im Clipboard abzuspeichern,
  falls ein solches existiert. Hierbei lt 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 gewhlten Einstellungen abzuspeichern,
  damit der Treiber beim nchsten Installieren mit diesen Parameteren
  gestartet wird. Dazu mu in der auftauchenden Fileselectorbox der
  Dateiname des Treibers angewhlt 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 mchten, sondern ist beabsichtigt.
  Diese abgeknickte Ecke soll kenntlich machen, da es sich um einen
  "fliegenden Dialog" handelt. Das bedeutet: Der Dialog lt sich mit
  der Maus verschieben, wenn man den Mauszeiger auf diese Ecke bewegt
  und dann den linken Knopf gedrckt hlt, whrend man die Maus
  bewegt. Aber das ist noch nicht das einzige schne Feature dieses
  Dialoges. Ein Buchstabe innerhalb des Textes der Buttons ist jeweils
  unterstrichen, der jeweilige Button ist dann durch die
  Tastenkombination [Alternate][unterstrichener Buchstabe] anwhlbar.
  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 nchste 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 hngt sich in die Vektoren scr_dump $502 und XBIOS
  (trap # 14) ein. Dabei benutzt es selbstverstndlich 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 Gre 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;      /* Bildschirmauflsung ?? = 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 wren:
  
  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 mchte 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 nchste Version des Programms
  wird wahrscheinlich fast ganz in C geschrieben sein, da die
  Programmierung wesentlich einfacher ist. Auerdem lt 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 schliet sich die
  Parameterstruktur an, was sich als C-Struktur folgendermaen
  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 knnen 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 abschlieendem 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. Auerdem 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 hufig 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 uert,
                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 Mglichkeiten, 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 knnte
                    auch sein, da Sie gerade versuchen, die alte
                    Version mit dem Einstellaccessory zu verndern,
                    was nicht mglich ist. In diesem Fall sollten Sie
                    sich die neue Version des Treibers zulegen. Die
                    dritte und unschnste Mglichkeit ist die, da
                    sich ein gerade aktives Programm nicht an das XBRA
                    Verfahren hlt 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 anfnglich als PD vertrieben, sind wir nun dazu 
  bergegangen, den Treiber als Shareware zu vertreiben. Wir hoffen 
  so, noch mehr Anwender dazu bewegen zu knnen, 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 grte Manko im Moment ist sicherlich die nicht vorhandene
  Farbfhigkeit, besonders im Hinblick auf die TT-Mittel-Auflsung.
  Ich wei allerdings nicht, ob und wann ich den Hardcopytreiber auch
  farbfhig 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 beschftigen.


13. Danksagung

  Wir mchten 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 mchte ich Severin Stille erwhnen, 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 Leistungsfhigkeit 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 Hardwarenderung
  (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 Haftungsbeschrnkung
  einfhren, die sich auf die im Gesellschaftsvertrag festgelegte
  Summe beluft.


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 anwhlbar 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 bettigt, also an-oder ausgeschaltet werden kann,
          solange er nicht disabled ist. Ist ein Buchstabe innerhalb
          der Beschriftung eines Buttons unterstrichen, so lt 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
                   gelscht wird. Es sorgt dafr, da die ver-
                   schiedenen Einheiten des Computers korrekt mit-
                   einander arbeiten, und da sie mit den ntigen
                   Informationen versorgt werden. Auerdem stellt es
                   eine Kommunikationsschnittstelle zum Benutzer und
                   eben allen Peripheriegerten zur Verfgung. Diese
                   Schnittstelle ist genormt und kann von allen
                   Programmen gleich angesprochen werden.

   Cookie-Jar Ein Cookie-Jar ist eine zusammenhngende Liste von
              Cookies, das heit von Eintrgen, wobei jeder Eintrag
              eine Kennung - mglichst im ASCII Format - hat, die vier
              Byte gro ist. Danach folgt ein weiterer vier Byte
              groer Wert, in den man jede beliebige Information
              schreiben kann. Meist wird hier eine Versionsnummer oder
              hnliches angegeben. Dieses Cookie-Jar enthlt auch
              Eintrge 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 abluft. 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 anwhlbar 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
            Ausgabegert (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 mglich ist. Da
               die meisten Programme ihr eigenes Format zur
               Speicherung von Daten benutzen, ist sonst ein Austausch
               nur unter Verwendung von Hilfsprogrammen mglich, 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 angewhlt 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 zustndig
           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
                groe eigene Kennung des Programms. Nun ist es mglich
                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 Anfnger 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)
