home *** CD-ROM | disk | FTP | other *** search
/ Computer Club Elmshorn Atari PD / CCE_PD.iso / pc / 0400 / CCE_0498.ZIP / CCE_0498.PD / HP_DESK.330 / HP_DESK.TXT < prev    next >
Text File  |  1993-11-06  |  31KB  |  623 lines

  1. HP-DeskJet Hardcopy-Treiber Version 3.11/3.30 vom 6.11.93
  2. =========================================================
  3.  
  4. Der HP-DeskJet Hardcopytreiber ist Shareware, d.h. wenn sie
  5. Ihn benutzen, müssen sie 
  6. Das Programm darf frei kopiert und weitergegeben werden, unter
  7. der Voraussetzung, daß Programm und Dokumentation nicht
  8. verändert werden.
  9.  
  10.  
  11. Anschrift für Registrierung und Fehlermeldung sowie Vorschläge:
  12.  
  13. Alman Development GbR
  14. Hanno Klomp
  15. Wengertweg 8
  16. D-72072 Tübingen
  17.  
  18. Programm: Arndt Weinmann        Handbuch: Hanno Klomp
  19.  
  20.  
  21.  
  22.  
  23. ASCII-Version des Handbuches:
  24. -----------------------------
  25.  
  26. 1. Vorbemerkungen
  27.  
  28.   Falls Sie kein LaTeX besitzen, können Sie dieses Handbuch nur 
  29.   als ASCII-Datei lesen. Falls Sie aber gerne in den Besitz eines 
  30.   ordentlichen Handbuchs kommen wollen, schicken Sie uns einfach 5.- 
  31.   DM. Wir schicken Ihnen dann einen Ausdruck des aktuellsten Handbuchs 
  32.   zu.
  33.   Nachdem ich bei Erklärungen, die den Computer und seine Anwendung
  34.   betrafen, immer wieder verständnislose Blicke geerntet hatte, habe 
  35.   ich mich entschlossen, einige nicht so geläufige Begriffe zu 
  36.   erklären. Diese Erklärungen befinden sich im Glossar am Ende des 
  37.   Handbuchs.
  38.   Fast alle Hard- und Softwarebezeichnungen, die in dieser Anleitung
  39.   Verwendung fanden, sind eingetragene Warenzeichen und sollten als
  40.   solche betrachtet werden.
  41.   
  42.   WICHTIG: Alman Development GbR übernimmt für die korrekte
  43.   Funktionsweise der Software keine Garantie. Außerdem sind wir nicht
  44.   haftbar für Schäden, die aus Fehlfunktionen oder falscher Anwendung
  45.   unserer Software entstehen. Im Klartext heißt das, Festplatten, die
  46.   sich in Rauchwolken auflösen oder sich aus unerfindlichen Gründen
  47.   formatieren, sind immer Schäden, für die der Anwender selbst
  48.   verantwortlich ist.
  49.  
  50.  
  51. 2. Wozu dient HP_DESK
  52.  
  53.   Eine wirklich berechtigte Frage, denn bei vielen PD- und 
  54.   Sharewareprogrammen ist das nicht ganz einfach herauszufinden 
  55.   (meistens, weil sie sowieso gleich wieder abstürzen ...
  56.   leidgeprüfter TT-Besitzer).
  57.   Alle ST-und TT-Computer besitzen eine eingebaute Hardcopy-Funktion,
  58.   die nach Drücken von [Alternate][Help] (Alle Ausdrücke, die in
  59.   solchen Klammern stehen, bezeichnen Tasten. Sollten zwei Tasten
  60.   direkt hintereinander stehen, müssen sie gleichzeitig gedrückt
  61.   werden.) eine Kopie des Bildschirminhaltes auf einen angeschlossenen
  62.   Drucker ausgibt. Leider ist diese Funktion immer noch für 9-Nadel
  63.   Drucker ausgelegt (wer hat denn sowas noch ??), so daß sich auf dem
  64.   HP-DeskJet keine vernünftigen Ergebnisse erzielen lassen.
  65.   'HP_RES.PRG' ersetzt die eingebaute Hardcopyroutine durch eine
  66.   eigene, und damit kann der HP-DeskJet angesprochen werden. Selbst
  67.   wenn Sie keinen HP-DeskJet besitzen, können Sie den Hardcopytreiber
  68.   immer noch verwenden. Es besteht die Möglichkeit, den
  69.   Bildschirminhalt in eine Image-Datei zu schreiben. Diese Datei läßt
  70.   sich dann mit vielen Malprogrammen weiter verarbeiten und auch auf
  71.   diesem Weg mit einem anderen Drucker ausdrucken.
  72.  
  73.  
  74. 3. Shareware
  75.  
  76.   Das Programm 'HP_DESK.PRG' ist Shareware, d.h. jeder kann das 
  77.   Programm kopieren und ausprobieren, ohne dafür zu bezahlen. 
  78.   Voraussetzung dafür ist, daß keine Veränderungen am Programm oder an 
  79.   den begleitenden Dateien vorgenommen werden und das Programm immer 
  80.   nur zusammen mit allen Dateien im Ordner HP_DESK.??? weitergegeben 
  81.   wird. Wenn Sie das Programm allerdings regelmäßig benutzen, müssen 
  82.   Sie es kaufen. Für 20 DM werden Sie registriert und bekommen die 
  83.   neueste Version des Hardcopytreibers.
  84.   Eine Version mit zugehörigem Sourcecode ist für 40 DM bei uns zu 
  85.   beziehen. Eine kommerzielle Nutzung des Programms ist ohne unsere 
  86.   ausdrückliche Zustimmung untersagt.
  87.   Als kleine Zugabe erhalten Sie mit der Diskette auch gleich noch 
  88.   einige Hilfsprogramme zum HP-DeskJet. Also schicken Sie eine 
  89.   Nachricht an obige Adresse und legen Sie 20 DM (Schein oder 
  90.   Verrechnungsscheck) bei, und schon bekommen Sie die neueste Version 
  91.   des Hardcopytreibers. Sie können uns natürlich auch eine Bestellung 
  92.   zusenden und das Geld auf unser Konto überweisen.
  93.  
  94.   
  95. 4. Funktionsbeschreibung zu HP_RES.PRG
  96.  
  97.   Der Treiber setzt sich aus zwei Teilen zusammen:
  98.   
  99.    HP_RES.PRG       den residenten Druckroutinen und
  100.    HP_DESK.APP      dem Konfigurationsprogramm als Programm oder
  101.    HP_DESK.ACC      als Accessory
  102.  
  103.   Bei HP_RES.PRG handelt es sich, wie schon gesagt, um die residenten
  104.   Druckroutinen, das heißt, dieses Programm wird geladen und bleibt
  105.   nach Beendigung des Programmlaufes im Speicher stehen, wo es die
  106.   originalen Hardcopyroutinen des Betriebssystems ersetzt. Das
  107.   Programm kann sowohl aus dem AUTO-Ordner als auch vom Desktop und
  108.   alternativen Benutzeroberflächen gestartet werden. Der Aufruf der
  109.   Hardcopyroutine erfolgt durch [Alternate][Help]. Der Druckvorgang
  110.   kann mit der Taste [UNDO] abgebrochen werden (nicht möglich beim
  111.   Abspeichern als Image-Datei). Bei einem zweiten Start deinstalliert
  112.   sich das Programm, und der ursprüngliche Zustand wird wieder
  113.   hergestellt.
  114.   Es ist jedoch anzumerken, daß sich ein Start von einer alternativen
  115.   Benutzeroberfläche (z.B. Gemini) aus nicht empfiehlt, weil es
  116.   unweigerlich zur Speicherfragmentierung kommen wird.
  117.   Speicherfragmentierung heißt, daß der Speicher in kleine Stücke
  118.   zerteilt wird, die den einzelnen Programmen zur Verfügung gestellt
  119.   werden. Wenn diese Stücke sehr klein sind, können sie manchmal vom
  120.   Betriebssystem nicht mehr zu großen Stücken zusammengefaßt werden.
  121.   Es mag dann noch viele kleine, freie Speicherblöcke geben, aber das
  122.   Betriebssystem ist dann nicht mehr in der Lage, einem Programm einen
  123.   großen zusammenhängenden Bereich zuzuweisen. Man wird dann also
  124.   öfter die Meldung bekommen, daß nicht mehr genügend Speicherplatz
  125.   vorhanden ist, obwohl das nicht stimmt.
  126.   Wenn ein Cookie-Jar installiert ist und noch Einträge frei sind,
  127.   installiert das Programm einen Cookie mit der Kennung 'AlHP' (das
  128.   ist übrigens auch die XBRA-Kennung).
  129.  
  130.  
  131. 5. HP_DESK.APP und HP_DESK.ACC
  132.  
  133.   Bei diesem Programm handelt es sich um eine Konfigurationssoftware
  134.   für den residenten Teil des Hardcopytreibers, d.h. mit diesem
  135.   Programm ist es möglich, bestimmte Parameter für den Ausdruck zu
  136.   verändern. Soll der Konfigurationsteil als Accessory laufen, muß er
  137.   in HP_DESK.ACC umbenannt werden und in das Wurzelverzeichnis des
  138.   Bootlaufwerkes kopiert werden.
  139.   Beim Aufruf als Accessory erscheint folgender Dialog:
  140.   
  141.   Hier fehlt das Bild: HP_DESK1.IMG
  142.  
  143.   Diese Dialogbox sieht nicht ganz wie eine normale Dialogbox aus.
  144.   Wenn es das erste Mal ist, daß Ihnen so eine Box über den Weg läuft
  145.   (sonst z.B. vorhanden in Gemini, Rufus, SciGraph etc.) und Sie mehr
  146.   über diese Art der Benutzerführung wissen wollen, lesen Sie bitte
  147.   den Abschnitt Erweiterte Benutzerführung.
  148.   Sollte das Eselsohr in der rechten oberen Ecke bei Ihnen nicht
  149.   erscheinen, so sollten Sie sich eine Speichererweiterung kaufen,
  150.   vernünftige Programme benutzen, die nicht den ganzen freien Speicher
  151.   für sich beanspruchen, oder einfach nicht so viele Programme auf
  152.   einmal laufen lassen. Wenn diese Ecke nämlich nicht auftaucht, liegt
  153.   das daran, daß nicht genügend freier Speicher für die
  154.   Verschiebefunktion zur Verfügung steht.
  155.   Beginnen wir mit der Erklärung des wohl wichtigsten Teils, der
  156.   Parameter:
  157.   
  158.   Gerät hiermit wird das Gerät ausgewählt, an das die Druckausgabe
  159.         erfolgt. Dabei wird bei Nirwana die Ausgabe einfach ins
  160.         "Nirgendwo" umgeleitet, d.h. der Druckaufruf wird einfach
  161.         ignoriert. Dieses scheinbar sinnlose Vorgehen hat Sinn bei
  162.         Programmen, die die Tastenkombination [Alternate][Help] auch
  163.         belegt haben. Dann wird erst die Programmfunktion ausgeführt
  164.         und nachher noch der Hardcopytreiber aufgerufen. Diese
  165.         ständige Ausgabe von Hardcopies ist aber sicher nicht
  166.         erwünscht, deshalb gibt es diese Einstellungsmöglichkeit.
  167.         Drucker lenkt die Ausgabe tatsächlich auf den Drucker um
  168.         (eigentlich erstaunlich bei einem Hardcopytreiber), Datei
  169.         speichert bei einer Hardcopy den Bildschirminhalt als
  170.         Image-Datei, OldVec führt die Routine aus, die bei einer
  171.         Hardcopy ausgeführt wird, wenn HP_RES.PRG nicht geladen ist.
  172.  
  173.   Aufl Mit Aufl. wird die Auflösung festgelegt, in der die Hardcopy
  174.        ausgedruckt werden soll (hat keinen Einfluß auf die Image-
  175.        Datei); dabei wird die Hardcopy um so kleiner, je größer die
  176.        Auflösung gewählt wird. Unter Umständen kann es sein, daß die
  177.        Hardcopy bei zu kleinen Auflösungen nicht ganz auf das Papier
  178.        paßt, dann werden vom Drucker Teile abgeschnitten.
  179.  
  180.   Ende Hier kann man wählen, was nach dem Druck passieren soll. Nichts
  181.        bedeutet dabei, daß nichts weiter geschieht, CR/LF läßt unter
  182.        der Hardcopy eine Zeile frei und FF bewirkt einen Seitenvor-
  183.        schub, also den Auswurf der Seite.
  184.  
  185.   Qualität Mögliche Optionen sind hier der Draft-Modus oder der
  186.            High-End-Quality Modus. Es wird eine Hardcopy in der
  187.            entsprechenden Qualität erstellt.
  188.  
  189.   Ausrichtung Damit wird die Orientierung des Ausdrucks festgelegt. Es
  190.               sind Hoch-und Querformat (um 90 Grad gedreht) möglich.
  191.               Beim Druck in eine Datei ist die Einstellung Quer
  192.               allerdings nicht anwählbar. Wenn man eine Datei mit
  193.               einer gedrehten Hardcopy möchte, kann man dies mit einem
  194.               pixelorientierten Malprogramm erreichen.
  195.  
  196.   Hor bestimmt die horizontale Ausrichtung der Hardcopy:
  197.  
  198.      Links  ganz an den linken Rand (hängt vom Papierformat ab bzw ist
  199.             druckerabhängig!)
  200.      Mitte  zentriert in der Mitte (nur bei DINA4-Seiten, andere
  201.             Seitenformate kann ich bei Interesse in einer späteren
  202.             Version implementieren)
  203.      Rechts an den rechten Rand (wieder nur bei DINA4)
  204.  
  205.   Ver legt die vertikale Ausrichtung fest. Die Einstellungen sind
  206.       analog zu denen der horizontalen Ausrichtung. Es gibt jedoch
  207.       eine Einstellung mehr, nämlich  Aktuell; dies bedeutet, die
  208.       Hardcopy wird an der aktuellen Stelle des Blattes ausgegeben.
  209.  
  210.   Kommen wir nun zum Bereich Special:
  211.  
  212.   In der oberen Hälfte des Bereiches sind beim Betrieb von
  213.   HP_DESK.(ACC-APP) als Accessory drei Radiobuttons zu erkennen. Beim
  214.   Betrieb im Farbmodus sind die Buttons Block und Fenster disabled, da
  215.   ein Druck in Farbe (noch) nicht möglich ist. Es kann also nur eine
  216.   Einstellung der Parameter, aber kein Ausdruck erfolgen. Beim Betrieb
  217.   als Applikation ist nur der Button Schirm zu sehen.
  218.  
  219.   Schirm Durch den Button wird nur die Einstellung des residenten
  220.          Treibers geändert. Es folgt hier nicht wie bei den Buttons
  221.          Block und Fenster ein sofortiger Ausdruck. Dies ist auch an
  222.          dem Austausch des Buttons Setzen durch den Button Print zu
  223.          erkennen.
  224.  
  225.   Block Dieser Button dient dazu, direkt einen bestimmten Ausschnitt
  226.         zu druecken, der mit der Maus durch das Aufziehen eines
  227.         Rechtecks definiert wird.
  228.  
  229.   Fenster Diese Option bietet die Möglichkeit, das aktuelle Fenster
  230.           auszudrucken. Der letzte Button im Bereich Special, Mit
  231.           Fensterelementen drucken, erlaubt es, den Inhalt des
  232.           Fensters einschließlich der Rahmenelemente zu drucken. Diese
  233.           Option macht natürlich nur dann Sinn, wenn ein Fenster
  234.           gedruckt werden soll, deshalb ist dieser Button auch nur
  235.           dann enabled. Wenn kein Fenster offen ist, wird der
  236.           Bildschirm mit bzw. ohne Menueleiste gedruckt.
  237.  
  238.   Die untere Reihe von Buttons versteht sich nun fast schon von
  239.   selbst. Der erste Button, Info, gibt Auskunft über das Programm.
  240.   Diese Funktion ist auch mit [Help] zu erreichen. Abbruch bewirkt den
  241.   Abbruch des Accessories bzw. des Programms, wobei der residente Teil
  242.   natürlich im Speicher verbleibt und die Parameter nicht verändert
  243.   werden. Diese Funktion ist auch über [Undo] zu erreichen. Setzen
  244.   bewirkt, daß der residente Teil gepatcht wird, das heißt, die
  245.   veränderten Parameter werden an den residenten Teil übergeben. Bei
  246.   Print erfolgt zusätzlich noch ein Ausdruck. Extra ist der einzige
  247.   Button, der in diesem Dialog noch nicht ganz verständlich ist, was
  248.   sich hoffentlich gleich ändert. Mit Hilfe dieses Buttons kommen Sie
  249.   zu einem weiteren Dialog mit einigen zusätzlichen
  250.   Einstellungsmöglichkeiten.
  251.  
  252.   Hier fehlt das Bild: HP_DESK2.IMG
  253.   
  254.   Im oberen Teil des Dialoges sind wieder drei Radiobuttons zu sehen,
  255.   die zur Einstellung des Pfades dienen, in dem der Screendump
  256.   abgespeichert werden soll, falls als Ausgabegerät File angewählt
  257.   ist. Die Einstellung aktuell bewirkt die Speicherung des Bildes im
  258.   aktuellen Verzeichnis des aktuellen Laufwerks. Bei fester kann man
  259.   einen fest eingestellten Pfad vorgeben. Hierzu klickt man auf das
  260.   Feld Pfad und wählt den Pfad in der erscheinenden Fileselectorbox
  261.   aus. Clipboard dient dazu die Dateien im Clipboard abzuspeichern,
  262.   falls ein solches existiert. Hierbei läßt sich der Pfad nicht
  263.   ändern, da dieser schon vorgegeben sein muß. Ist kein Clipboard
  264.   installiert, so wird dieser Radiobutton disabled. Im Feld Dateiname
  265.   kann man, wie der Name schon sagt, einen Dateinamen vorgeben.
  266.   Autopatch dient dazu, die gewählten Einstellungen abzuspeichern,
  267.   damit der Treiber beim nächsten Installieren mit diesen Parameteren
  268.   gestartet wird. Dazu muß in der auftauchenden Fileselectorbox der
  269.   Dateiname des Treibers angewählt werden, sonst erscheint eine
  270.   Fehlermeldung. Der Button Extra führt jetzt zum Hauptdialog zurück.
  271.  
  272.  
  273. 6. Erweiterte Benutzerführung
  274.  
  275.   Der Dialog hat, wie leicht zu erkennen ist, rechts oben ein
  276.   Eselsohr. Hierbei handelt es sich nicht um einen Programmierfehler,
  277.   wie Sie jetzt vielleicht annehmen möchten, sondern ist beabsichtigt.
  278.   Diese abgeknickte Ecke soll kenntlich machen, daß es sich um einen
  279.   "fliegenden Dialog" handelt. Das bedeutet: Der Dialog läßt sich mit
  280.   der Maus verschieben, wenn man den Mauszeiger auf diese Ecke bewegt
  281.   und dann den linken Knopf gedrückt hält, während man die Maus
  282.   bewegt. Aber das ist noch nicht das einzige schöne Feature dieses
  283.   Dialoges. Ein Buchstabe innerhalb des Textes der Buttons ist jeweils
  284.   unterstrichen, der jeweilige Button ist dann durch die
  285.   Tastenkombination [Alternate][unterstrichener Buchstabe] anwählbar.
  286.   Wenn nun aber in einem Datenfeld des Dialogs etwas steht (z.B.
  287.   Drucker), so erscheint auf einen Mausklick ein Pop-Up-Menue, aus dem
  288.   man seine Wahl treffen kann. Man kann aber auch den Kreisbutton am
  289.   Ende des Datenfeldes anklicken, dann erscheint als aktueller Eintrag
  290.   der nächste Eintrag in der Liste des entsprechenden Pop-Up-Menues.
  291.   Sie sehen also, die verwendeten Dialoge lassen (hoffentlich) an
  292.   Bedienungskomfort nicht viel zu wünschen übrig.
  293.  
  294.  
  295. 7. Technische Beschreibung zu HP_RES.PRG
  296.  
  297.   Das Programm hängt sich in die Vektoren scr_dump $502 und XBIOS
  298.   (trap # 14) ein. Dabei benutzt es selbstverständlich das
  299.   XBRA-Verfahren mit der XBRA-Kennung 'AlHP'. Es werden die
  300.   XBIOS-Aufrufe 20 (Scrdmp) und 36 (Prtblk) abgefangen und selbst
  301.   ausgewertet. Der Trap-Dispatcher ist dabei 68030-fest. Zur
  302.   Bestimmung der Größe des Stackoffsets wird die zwei Byte lange
  303.   Betriebssystemvariable _longframe (Adresse 1438) ausgewertet, ein
  304.   von 0 verschiedener Wert zeigt einen Stackoffset von 8 Bytes bei
  305.   einem Trap an, sonst sind es 6 Bytes. Falls es bei installierten
  306.   Prozessorkarten (z.B. 68020-Karte) zu Problemen bei den
  307.   XBIOS-Aufrufen kommt, so überprüfen Sie bitte diese Variable und
  308.   setzen Sie sie notfalls "per Hand". Wenn ein Cookie-Jar vorhanden
  309.   ist, installiert der Treiber einen Cookie mit der Kennung 'AlHP' und
  310.   einem Pointer auf die im Kapitel Patchen angegebene interne
  311.   Datenstruktur als Wert. Probleme gab es bei der Implementierung der
  312.   Auswertung der Prtblk-Funktion aufgrund der mangelhaften
  313.   Dokumentation dieses Aufrufs. In meinem Treiber bin ich daher nach
  314.   der in [3] vorgestellten Beschreibung vorgegangen.
  315.  
  316.   Danach wird der Funktion Prtblk ein Zeiger auf folgende Struktur
  317.   übergeben:
  318.  
  319.    typedef struct{
  320.     void    *pb_prtblk;     /* Startadresse des Druckbereichs      */
  321.     int     pb_offset;      /* Offset in Bit (!) zur Startadresse  */
  322.     int     pb_width;       /* Breite des Ausschnitts in Pixeln    */
  323.     int     pb_left;        /* linker Rand in Pixeln               */
  324.     int     pb_right;       /* rechter Rand in Pixeln              */
  325.     int     pb_scrrez;      /* Bildschirmauflösung ?? = Getrez() ? */
  326.     int     pb_prrez;       /* Druckertyp Atari/Epson ???          */
  327.     long    pb_colptr;      /* Drucker auf Farbpalette             */
  328.     long    pb_prtype;      /* Druckertyp ???                      */
  329.     int     pb_prport;      /* Schnittstelle Centronics/RS 232     */ 
  330.     void    *pb_mask;       /* Zeiger auf Halbtonmaske (???)       */
  331.    }PBDEF;
  332.  
  333.   Mit vielen Werten kann man nicht ganz so viel anfangen, und so habe
  334.   ich mich entschlossen, nur einige auszuwerten, als da wären:
  335.   
  336.   pb_prtblk, pb_offset, pb_width, pb_left.
  337.   Gerade im Hinblick auf OverScan scheint mir diese Funktion etwas
  338.   kritisch zu sein, z.B. sind bei dem Parameter pb_prtblk
  339.   Offset-Fehler ja geradezu vorprogrammiert, es sei denn, es sind
  340.   wirklich vorbildliche Programmierer am Werk. (Das einzige Programm,
  341.   das meines Wissens diese Funktion nutzt, ist DISKUS). Da man für die
  342.   Berechnung von pb_prtblk die Anzahl der Bytes pro Zeile kennen muß,
  343.   diese Zahl aber mit den VDI-Funktionen nicht erfragbar ist, sondern
  344.   aus den LineA-Variablen geholt werden muß, verbietet sich der
  345.   Einsatz dieser Funktion eigentlich in jedem sauber geschriebenen
  346.   Programm. Aber ich bin gerne bereit, mich eines Besseren belehren zu
  347.   lassen; überhaupt möchte ich gerne mit anderen Programmierern in
  348.   Kontakt kommen, um Erfahrungen auszutauschen.
  349.   Geschrieben wurde das Programm zu gleichen Teilen mit dem TurboAss
  350.   V. 1.7.2 und dem Pure C Compiler. Die nächste Version des Programms
  351.   wird wahrscheinlich fast ganz in C geschrieben sein, da die
  352.   Programmierung wesentlich einfacher ist. Außerdem läßt sich der
  353.   Treiber dann auch besser für andere Drucker anpassen.
  354.  
  355.  
  356. 8. Programmvariablen
  357.  
  358.   Im residenten Teil HP_RES.PRG ist die Zeichenketten 'PATCH:'
  359.   enthalten. Direkt an diese Zeichenkette schließt sich die
  360.   Parameterstruktur an, was sich als C-Struktur folgendermaßen
  361.   darstellt:
  362.  
  363.    typedef struct{
  364.     WORD    horizontal;
  365.     WORD    vertical;
  366.     WORD    orientation;
  367.     WORD    quality;
  368.     WORD    resolution;
  369.     WORD    device;
  370.     WORD    followed_by;
  371.     WORD    version;
  372.     UWORD   date;
  373.     
  374.     BYTE    *filepath;
  375.     BYTE    *filename;
  376.    }PPB;                    /* Public Para Block */
  377.  
  378.   Auf die Variablen horizontal bis followed_by ist der lesende und
  379.   schreibende Zugriff gestattet, auf alle anderen nur der lesende.
  380.  
  381.   Die Variablen können folgende Werte annehmen (und am besten keine 
  382.   anderen):
  383.  
  384.   horizontal:   0 = Links   1 = Mitte   2 = Rechts
  385.   vertical:     0 = Oben    1 = Mitte   2 = Aktuell 3 = Unten
  386.   orientation:  0 = Hoch    1 = Quer
  387.   quality:      0 = Draft   1 = NLQ
  388.   resolution:   0 = 75dpi   1 = 100 dpi 2 = 150 dpi 3 = 300 dpi
  389.   to:           0 = Nirwana 1 = Drucker 2 = Datei   3 = OldVec
  390.   followed_by:  0 = Nichts  1 = CR/LF   2 = FF
  391.  
  392.   Die Versionsnummer version ist in der Form $0301 = Version 3.01
  393.   abgelegt. Das Entstehungsdatum ist im Gemdos-Format kodiert. Bei
  394.   filepath und filename handelt es sich um zwei Pointer, einmal auf
  395.   den Pfad, der beim Abspeichern der Images verwendet wird, und einmal
  396.   auf den Dateinamen selbst. Der Pfad darf dabei bis zu 90 Zeichen
  397.   lang sein, mit abschließendem Backslash und nullterminiert. Der
  398.   Dateiname darf nur 7 Zeichen lang sein (nullterminiert).
  399.  
  400.  
  401. 9. Hardwarevoraussetzungen
  402.  
  403.   Das Programm stellt keine besonderen Hardwareanforderungen, es
  404.   sollte nur ein Atari ST/STE/TT (oder Emulator: funktioniert so
  405.   etwas?) mit genügend Speicher sein. Wenn gedruckt oder gespeichert
  406.   werden soll, ist jedoch ein Monochrombildschirm (oder nur eine
  407.   Farbebene) Voraussetzung. Außerdem sollte der Prozessor Zugriff auf
  408.   den Bildschirmspeicher haben und der Grafikkartentreiber den Wert
  409.   von logbase korrekt setzen, sonst wird die Hardcopy nicht ganz das
  410.   wiedergeben, was Sie gerade sehen.
  411.  
  412.  
  413. 10. Fehlersuche
  414.  
  415.    Windowupdate Ein Fehler, der hoffentlich nicht häufig auftritt! Es
  416.                 gibt Programme, die so unsauber programmiert sind, daß
  417.                 Sie sich noch zu Wort melden, wenn das HPDeskJet
  418.                 Accessory gestartet ist. Das einzige, mir bisher
  419.                 bekannte Beispiel dieser unrühmlichen Gattung ist
  420.                 Calamus. Gegen diesen Fehler, der sich darin äußert,
  421.                 daß Calamus teilweise weiterarbeitet und den Dialog
  422.                 überschreibt, ist eine sauber und ordentlich
  423.                 programmierte Anwendung leider machtlos. Der Fehler
  424.                 liegt hier eindeutig bei dem jeweiligen anderen
  425.                 Programm und nicht bei uns.
  426.  
  427.    Not installed !! Es gibt mehrere Möglichkeiten, die zu diesem
  428.                     Fehler führen. Die einfachste von diesen ist, daß
  429.                     Sie den residenten Teil HP_RES.PRG noch nicht
  430.                     gestartet haben. Der Fehler ist durch den Start
  431.                     des residenten Teils leicht zu beheben. Es könnte
  432.                     auch sein, daß Sie gerade versuchen, die alte
  433.                     Version mit dem Einstellaccessory zu verändern,
  434.                     was nicht möglich ist. In diesem Fall sollten Sie
  435.                     sich die neue Version des Treibers zulegen. Die
  436.                     dritte und unschönste Möglichkeit ist die, daß
  437.                     sich ein gerade aktives Programm nicht an das XBRA
  438.                     Verfahren hält und so nicht erkannt werden kann,
  439.                     daß der residente Teil bereits geladen wurde.
  440.                     Dieser Fehler tritt nur auf, wenn das aktive
  441.                     Programm den gleichen Vektor verbiegt wie unser
  442.                     Treiber. Dem Programmierer von Diskus jedenfalls
  443.                     scheint das XBRA Verfahren nicht bekannt zu sein,
  444.                     denn der Treiber wird hier nicht erkannt.
  445.  
  446.    Hier fehlt das Bild: HP_DESK3.IMG
  447.  
  448.    Installation Wenn Sie den alten Treiber installiert hatten und dann
  449.                 den neuen Treiber (PRG-Programm) aufrufen, de-
  450.                 installiert es nur den alten Treiber und wird selbst
  451.                 erst nach nochmaligem Start installiert.
  452.  
  453.    Hier fehlt das Bild: HP_DESK4.IMG
  454.  
  455.    
  456. 11. Historie
  457.  
  458.   Die Resonanz auf unseren Hardcopytreiber war sehr groß, womit die 
  459.   Vermutung nahe liegt, daß es hier eine Marktlücke gab. Nachdem wir 
  460.   unser Programm anfänglich als PD vertrieben, sind wir nun dazu 
  461.   übergegangen, den Treiber als Shareware zu vertreiben. Wir hoffen 
  462.   so, noch mehr Anwender dazu bewegen zu können, für die Nutzung 
  463.   des Programms zu zahlen. Dadurch kommen wir dann auch in den Genuß, 
  464.   mit dem Treiber Geld zu verdienen und nicht nur die Unkosten 
  465.   ersetzt zu bekommen.
  466.  
  467.  
  468. 12. Ausblick
  469.  
  470.   Das größte Manko im Moment ist sicherlich die nicht vorhandene
  471.   Farbfähigkeit, besonders im Hinblick auf die TT-Mittel-Auflösung.
  472.   Ich weiß allerdings nicht, ob und wann ich den Hardcopytreiber auch
  473.   farbfähig machen werde. Wenn die Resonanz groß genug ist, werde ich
  474.   vielleicht irgendwann die eine oder andere Neuerung noch
  475.   implementieren. Im Moment sind allerdings andere Projekte vorrangig, 
  476.   und ich habe nicht genügend Zeit, um mich weiter so intensiv mit dem 
  477.   Programm zu beschäftigen.
  478.  
  479.  
  480. 13. Danksagung
  481.  
  482.   Wir möchten unseren besonderen Dank allen denen aussprechen, die uns
  483.   zu den vorhergehenden Versionen geschrieben haben, die uns mit
  484.   wichtigen Informationen versorgt und die vielen Public-Domain-
  485.   Programme beigesteuert haben.
  486.   Ganz besonders möchte ich Severin Stille erwähnen, der durch sein
  487.   Engagement viel dazu beigetragen hat, die erste Version entstehen zu
  488.   lassen.
  489.  
  490.  
  491. 14. Wer ist Alman Development GbR
  492.  
  493.   Bei Alman Development GbR handelt es sich um eine Gruppe von
  494.   Studenten, die - von der Leistungsfähigkeit des Atari ST überzeugt
  495.   - auch die angemessene Software für diesen Rechner schreiben will.
  496.   Dabei soll besonderer Wert auf eine saubere Programmierung gelegt
  497.   werden, so daß nicht mit jeder neuen TOS- oder Hardwareänderung
  498.   (OverScan!) gleich alle Programme den Dienst versagen (leider war ja
  499.   da die erste Version von HP_DESK auch so ein schwarzes Schaf, aber
  500.   wir geloben Besserung).
  501.   Da wir unsere Programme als Shareware verteiben und somit ein
  502.   Verdienst entsteht, sahen wir uns gezwungen, eine GbR zu gründen.
  503.  
  504.  
  505. 15. Glossar
  506.  
  507.    Accessory Ein Accessory ist ein Programm, das nach dem Laden (aus
  508.              dem Wurzelverzeichnis) immer im Speicher verbleibt,
  509.              zumindest teilweise, und immer im linken Drop-Down-Menue
  510.              der Menueleiste anwählbar sein sollte.
  511.  
  512.    AUTO-Ordner Der AUTO-Ordner ist ein Datei-Ordner auf der Festplatte
  513.                bzw. Diskette, in dem die Programme enthalten sind, die
  514.                der Rechner nach dem Anschalten laden soll.
  515.  
  516.    Button Ein Button ist ein Schalter in einem Dialog, der vom
  517.           Benutzer betätigt, also an-oder ausgeschaltet werden kann,
  518.           solange er nicht disabled ist. Ist ein Buchstabe innerhalb
  519.           der Beschriftung eines Buttons unterstrichen, so läßt sich
  520.           der Button auch über das gleichzeitige Drücken von
  521.           [Alternate][unterstrichener Buchstabe] an- bzw. abschalten.
  522.  
  523.    Hier fehlt das Bild: HP_DESK5.IMG
  524.    
  525.     Betriebssystem Das Betriebssystem ist ein im ROM untergebrachtes
  526.                    Programm, das beim Ausschalten des Computers nicht
  527.                    gelöscht wird. Es sorgt dafür, daß die ver-
  528.                    schiedenen Einheiten des Computers korrekt mit-
  529.                    einander arbeiten, und daß sie mit den nötigen
  530.                    Informationen versorgt werden. Außerdem stellt es
  531.                    eine Kommunikationsschnittstelle zum Benutzer und
  532.                    eben allen Peripheriegeräten zur Verfügung. Diese
  533.                    Schnittstelle ist genormt und kann von allen
  534.                    Programmen gleich angesprochen werden.
  535.  
  536.    Cookie-Jar Ein Cookie-Jar ist eine zusammenhängende Liste von
  537.               Cookies, das heißt von Einträgen, wobei jeder Eintrag
  538.               eine Kennung - möglichst im ASCII Format - hat, die vier
  539.               Byte groß ist. Danach folgt ein weiterer vier Byte
  540.               großer Wert, in den man jede beliebige Information
  541.               schreiben kann. Meist wird hier eine Versionsnummer oder
  542.               ähnliches angegeben. Dieses Cookie-Jar enthält auch
  543.               Einträge des Betriebssystems, an denen ein Programm
  544.               erkennen kann, welcher Rechner und welches TOS
  545.               vorliegen.
  546.  
  547.    Dialog-Box Eine Dialog-Box ist die Schnittstelle zwischen einem
  548.               Programm und dem Benutzer, solange die Kommunikation
  549.               nicht in einem Fenster abläuft. Dialog-Boxen finden
  550.               immer dann Verwendung, wenn es darum geht, Parameter
  551.               einzustellen oder dem Programm irgendwelche Änderungen
  552.               mitzuteilen, die nicht in direktem Zusammenhang mit der
  553.               eigentlichen Funktion desselben stehen. Eine Dialog-Box
  554.               ist nichts anderes als ein Spezialfenster, in dem
  555.               Parameter bzw. Daten eingegeben werden.
  556.  
  557.    disabled Disabled bedeutet, daß dieser Button nicht anwählbar ist,
  558.             was zum Beispiel auftreten kann, wenn eine Option bei der
  559.             aktuellen Systemkonfiguration oder der aktuellen
  560.             Parametereinstellung keinen Sinn ergibt. Diese Buttons
  561.             sind dann hell gezeichnet.
  562.  
  563.    Hier fehlt das Bild: HP_DESK6.IMG
  564.  
  565.    Hardcopy Eine Hardcopy ist die Ausgabe des aktuellen Bildschirm-
  566.             inhalts oder eines definierten Teils desselben an ein
  567.             Ausgabegerät (dies kann auch eine Datei sein).
  568.  
  569.    Image-Datei Eine Image-Datei ist eine Bilddatei, die ein bestimmtes
  570.                festgelegtes Format hat. Diese Datei muß immer die
  571.                Endung .IMG haben, wenn von anderen Programmen erkannt
  572.                werden soll, daß es sich um eine in diesem Format
  573.                abgelegte Datei handelt. Das Image-Format wurde
  574.                definiert, damit ein Austausch von Bilddateien auch
  575.                zwischen unterschiedlichen Programmen möglich ist. Da
  576.                die meisten Programme ihr eigenes Format zur
  577.                Speicherung von Daten benutzen, ist sonst ein Austausch
  578.                nur unter Verwendung von Hilfsprogrammen möglich, die
  579.                die einzelnen Formate konvertieren.
  580.  
  581.    Radiobutton Radiobuttons sind im allgemeinen rund und lassen sich
  582.                im Gegensatz zu normalen Buttons nur umschalten. Sie
  583.                funktionieren genau wie Stationstasten beim Radio: wenn
  584.                man eine Taste drückt, gehen alle anderen wieder aus.
  585.                Von mehreren Radiobuttons muß und kann immer nur genau
  586.                einer angewählt sein.
  587.  
  588.    Hier fehlt das Bild: HP_DESK7.IMG
  589.  
  590.                 Verschiedene Gruppen von Radiobuttons sind innerhalb
  591.                 eines Dialoges meist graphisch voneinander getrennt,
  592.                 z.B. durch einen Rahmen.
  593.  
  594.    Routine Als Routine bezeichnet man normalerweise einen Baustein
  595.            eines Programms, der für eine bestimmte Aufgabe zuständig
  596.            ist. Zum Teil wird dieser Ausdruck auch für kleinere
  597.            Hilfsprogramme verwendet, insbesondere wenn, diese Teile
  598.            des Betriebssystems ersetzen.
  599.  
  600.    XBRA-Kennung Die XBRA-Kennung dient dazu, eine gewisse Ordnung in
  601.                 diejenigen Programme zu bekommen, die Vektoren des
  602.                 Betriebssystems verbiegen. Wenn man einen solchen
  603.                 Vektor auf seine eigene Routine verbiegt, soll man vor
  604.                 der Speicherstelle, an die man springt, den String
  605.                 'XBRA' einfügen. Danach kommt dann noch eine vier Byte
  606.                 große eigene Kennung des Programms. Nun ist es möglich
  607.                 zu erkennen, ob das eigene Programm schon installiert
  608.                 ist, auch wenn nachher noch ein weiteres Programm
  609.                 denselben Vektor verbogen hat. Das funktioniert so,
  610.                 daß man vor der angegeben Anfangsadresse nach dem
  611.                 String XBRA und dann nach der Kennung seines Programms
  612.                 sucht.
  613.  
  614.  
  615. 16. Literatur
  616.  
  617.    [1] Atari ST Profibuch, H.-D. Jankowski, D. Rabich, J.F. Reschke,
  618.        2. Auflage, SYBEX, 1988
  619.    [2] Vom Anfänger zum GEM-Profi, D. Geiß, J. Geiß, 1. Auflage, Hüthig
  620.        Verlag, 1989
  621.    [3] "Wir lassen drucken", Uwe Seimet, St Computer, 4, S. 94-96
  622.        (1990)
  623.