home *** CD-ROM | disk | FTP | other *** search
/ No Fragments Archive 10: Diskmags / nf_archive_10.iso / MAGS / AT_WORLD / ATRIW6B.MSA / IPRN_LIESMICH.TXT < prev    next >
Encoding:
Text File  |  1995-06-05  |  9.0 KB  |  214 lines

  1. iPRN  (C) Peter Missel 1994, 1995
  2.  
  3. "Gähn, schon wieder ein Beschleuniger für die Druckausgabe!"
  4.  
  5. Jawohl, schon wieder einer. Aber einer mit Statusüberwachung per Interrupt.
  6.  
  7. "Und was heißt das?"
  8.  
  9. Nun, ganz einfach: Zusätzlich zur bei Druckbeschleunigern üblichen 
  10. Beschleunigung des Druckens kann iPRN unterscheiden, ob der Drucker 
  11. nur beschäftigt oder in einem Fehlerzustand ist (offline, ausgeschaltet, 
  12. kein Papier, nicht angeschlossen...). So weiß das System im voraus, ob es 
  13. möglich ist, Zeichen an den Drucker zu senden oder nicht.
  14. Dadurch entfällt die lästige Gedenkminute, wenn man drucken will und 
  15. der Drucker nicht bereit ist. Die Fehlermeldung erscheint sofort.
  16.  
  17.  
  18. iPRN ist Shareware. Die Versionen bis einschließlich 0.99 sind Demoversionen
  19. und können frei verbreitet werden.
  20.  
  21. Einschränkungen der Demoversion:
  22. - Die Statusüberwachung funktioniert pro Sitzung nur einmal:
  23.   Wenn der Drucker einmal Offline war und wieder Online gesetzt
  24.   wird, deaktiviert sich die Statusüberwachung selbst. Dann läuft
  25.   alles normal weiter, nur halt wieder mit Gedenkminute bei Druckerfehler.
  26.   Die Beschleunigungswirkung bleibt erhalten.
  27. - Kein Kontrollfeldmodul:
  28.   - Timeouts nicht konfigurierbar
  29.   - Statusüberwachung nicht abschaltbar (schaltet sich sowieso von selber ab)
  30.   - keine Deskjet-Weckfunktion
  31.  
  32.  
  33. Die registrierten Versionen 1.00 und höher kosten in Deutschland DM 25,-
  34. und US$ 20 im Ausland.
  35.  
  36.  
  37. Registrierung
  38. =============
  39. DM 25,- / US$ 20 überweisen an:
  40.  
  41. Peter Missel, Stadtsparkasse Augsburg, BLZ 72050000, Kto. 1301522.
  42. Als Verwendungszweck "iPRN Vorname Nachname" angeben.
  43.  
  44. UK: Scheck oder Postal Order über 13 Pounds Sterling, zahlbar an 
  45. Denesh Bhabuta, senden an:
  46.  
  47. CyberSTrider,
  48. 203 Parr Lane,
  49. Unsworth,
  50. Bury,
  51. Lancashire,
  52. BL9 8JW
  53.  
  54. Bitte nicht vergessen, Name und Adresse anzugeben.
  55.  
  56. Denesh kann auch über E-mail erreicht werden:
  57. dbhabuta@cix.compulink.co.uk
  58. danny@micros.hensa.ac.uk
  59.  
  60. Zur eindeutigen Identifizierung zusätzlich eine Postkarte schicken an:
  61. Peter Missel, Greiffstraße 11, 86157 Augsburg, Deutschland.
  62.  
  63. Oder eMail an Peter Missel @ LL im Mausnetz.
  64. (Peter_Missel@ll.maus.de für Benutzer anderer Netze)
  65.  
  66.  
  67. Wirkung (Zeichen pro Sekunde)
  68. =============================
  69.  
  70. Rechner                         ohne    mit iPRN 
  71. -------------------------------------------------
  72. ST, 8 MHz, TOS 2.06             1800    13531
  73. ST, 16 MHz, TOS 1.04            3200    >17200
  74. Falcon030, TOS 4.04             3500    bis 36100 *
  75. Falcon030, TOS 4.04, Bild aus   4500    >39370 *
  76. Falcon030/32 MHz, Bild aus      4835    >39370 *
  77. TT030 ohne FastRAM, TOS 3.06    5600    bis 34100 *
  78. TT030 mit FastRAM, TOS 3.06       ?       ?*
  79.  
  80. (Die "größer als"-Werte sind aus Benchmarks, bei denen der Rechner schneller
  81. senden konnte, der Drucker aber nicht schnell genug war.)
  82.  
  83. * Bei 68030-Rechnern schwanken die Meßwerte mit der Lage von
  84.   Treiber und Software im CPU-Cache. Im schlechtesten Fall erhält man
  85.   etwa 20% weniger Durchsatz, "normal" etwa 5% weniger als die angegebenen
  86.   Maximalwerte.
  87.  
  88.  
  89. Installation 
  90. ============
  91. IPRN.PRG gehört in den AUTO-Ordner, und zwar so weit hinten wie möglich. 
  92. MiNT-Anwender müssen es hinter MINT.PRG in den AUTO-Ordner stecken. Dann 
  93. kann unter MiNT ein XDD-Treiber für den Drucker benutzt werden (weil sich 
  94. IPRN.PRG dann nicht installiert), und ohne MiNT startet IPRN.PRG. 
  95.  
  96. Wer keinen XDD-Treiber hat, kann iPRN auch mit MiNT benutzen. Vor MiNT 
  97. gestartet ist die Beschleunigung wegen des Overheads von MiNT allerdings 
  98. eher gering; wer Geschwindigkeit vor Kompatibilität setzt, kann IPRN.PRG 
  99. auch nach MiNT starten, dann ist die Geschwindigkeitssteigerung besser.
  100. (Umleitung der Druckausgabe wird dann nicht funktionieren.)
  101.  
  102. IPRN.CPX ist das Kontrollfeldmodul und gehört in den Ordner, in dem die
  103. schon vorhandenen Moduln auch schon sind. Normalerweise ist das C:\CPX\.
  104. Es ist allerdings nur in der registrierten Version dabei.
  105.  
  106.  
  107. Bedienung
  108. =========
  109. An IPRN.PRG gibt es nichts zu bedienen. Es wird im AUTO-Ordner automatisch
  110. gestartet und installiert sich. Falls die Installation unmöglich ist, wird
  111. eine Fehlermeldung ausgegeben: "already installed" oder "Printer port
  112. already in use", wenn das Programm bereits installiert ist bzw. wenn bereits
  113. ein anderes Programm den Interrupt der Druckerschnittstelle belegt hat.
  114.  
  115. Das Kontrollfeld-Modul dient zur Konfiguration des Programms:
  116. - "Offline Timeout" ist die maximale Zeit in Sekunden, die vor dem Absenden 
  117.   eines Zeichens gewartet wird, bevor der Drucker für abwesend erklärt und 
  118.   eine Fehlermeldung erzeugt wird.
  119. - "End-of-job delay" ist die Zeit, die nach dem letzten gedruckten Zeichen
  120.   verstreichen muß, bevor die Zustandsüberwachung wieder wirksam wird.
  121. - "Printer state watchdog": Zustandsüberwachung des Druckers per Interrupt.
  122.   Kann jederzeit an- und ausgeschaltet werden. Ausschalten empfiehlt sich
  123.   vor der Benutzung eines Programms, das selbst die Hardware direkt benutzt.
  124. - Nebenbei kann man durch Druck auf "OK" oder "Save" auch eingeschlafene
  125.   Deskjets wieder zum Leben erwecken.
  126.  
  127. Das Kontrollfeldmodul ist nur in den registrierten Versionen enthalten;
  128. in den Demoversionen ist "Offline Timeout" auf 30, "End-of-job delay" auf 3
  129. Sekunden fest eingestellt, und der "Printer state watchdog" deaktiviert sich
  130. nach dem ersten Druckerfehler von selbst.
  131.  
  132.  
  133. Die erwünschten Nebenwirkungen von iPRN sind:
  134.  
  135. - Die Erzeugung des STROBE-Signals funktioniert unabhängig von der 
  136.   Geschwindigkeit des Rechners. Auch Besitzer ultraschneller Geräte 
  137.   jenseits des TT können iPRN benutzen.
  138.  
  139. - Auch bei der Hardcopy entfällt die lästige Pause bei abwesendem Drucker. 
  140.   Der Druckvorgang wird auch hier beschleunigt.
  141.  
  142. - Beim Reset des Rechners wird statt eines undefinierten Müllzeichens 
  143.   ein definiertes Müllzeichen gesendet, nämlich ein Nullbyte. 
  144.   Daß es gesendet wird, ist im TOS so festgenagelt (zumindest bis TOS 1.04) 
  145.   und läßt sich nicht vermeiden.
  146.  
  147.  
  148. Unerwünschte Nebenwirkungen:
  149.  
  150. - Programme, die die Druckausgabe direkt auf die Hardware machen (anstatt 
  151.   über GEMDOS oder BIOS), lösen damit pro Byte zwei Interrupts aus, was 
  152.   _diese_ Druckvorgänge langsamer macht als vorher. (Aber zum Glück nicht 
  153.   viel.) Das betrifft allerdings auch nur solche Oldies wie Calamus 1.x 
  154.   oder Signum!Zwei. Besitzer einer registrierten Version von iPRN können 
  155.   vor dem Ausdruck mit solchen Programmen die Druckerstatusüberwachung 
  156.   über das Kontrollfeld deaktivieren.
  157.  
  158. - Schließlich berücksichtigen viele Programme nicht, daß die Zeichenausgabe- 
  159.   funktion des BIOS einen Fehlercode zurückliefert, so daß man den Drucker 
  160.   nicht während des Drucks offline schalten kann. iPRN ignoriert deswegen
  161.   den Offline-Zustand innerhalb 3 Sekunden nach dem letzten gesendeten 
  162.   Zeichen (in den registrierten Versionen konfigurierbar).
  163.   Spätestens nach dem "großen" Timeout (normalerweise 30 Sekunden, 
  164.   in der registrierten Version konfigurierbar) gehen dann trotzdem Zeichen 
  165.   verloren, und der Ausdruck bekommt ein paar Spezialeffekte dazu.
  166.   Das passiert allerdings auch mit der normalen Druckfunktion des TOS 
  167.   und hat mit iPRN nichts zu tun.
  168.  
  169.  
  170. Kontraindikationen:
  171.  
  172. - Nicht anwenden bei hardwaremäßiger Inkompatibilität des Druckerausgangs, 
  173.   etwa bei GEMulator- oder JANUS-Steckkarten für DOS-PCs oder Mag!C Mac.
  174.  
  175. ==============================================================================
  176.  
  177. Für die Techniker: iPRN hängt im BIOS-Trap (mit XBRA-Kennung "iPRN") 
  178. und fängt Bconout( 0, ... ) und Bcostat( 0 ) ab. Zusätzlich installiert es 
  179. sich in den Vektoren xconout0, xcostat0, prv_lst, prv_lsto und resvector. 
  180. Es aktiviert und benutzt MFP Interrupt I0. Ein Cookie "iPRN" wird eingetragen, 
  181. dessen Wert ein Zeiger auf Konfigurationswerte ist; diese wiederum können mit 
  182. dem Kontrollfeldmodul verändert werden. (Nur in den registrierten Versionen, 
  183. in den Demoversionen zeigt der Zeiger auf Müll.)
  184.  
  185. Bcostat( 0 ) liefert im Unterschied zur Originalfunktion im TOS auch mitten 
  186. im Druckvorgang einen aussagekräftigen  Wert, weil unterschieden wird, ob 
  187. der Drucker wegen eines gerade gesendeten Zeichens busy ist, oder von sich 
  188. aus die BUSY-Leitung gesetzt hat (etwa weil ein Fehler aufgetreten ist oder 
  189. der Drucker offline geschaltet ist). Das Ergebnis ist wie gewohnt -1 für 
  190. "ready" und 0 für "not ready", nur daß ein gewöhnlicher Busy-Zustand auch 
  191. als "ready" gemeldet wird.
  192.  
  193. ==============================================================================
  194.  
  195. Dank geht an:
  196.  
  197. Thomas Fladerer (mein mutiges Dauer-Versuchskaninchen)
  198.  
  199. Die Betatester: Franz Blaha, Thomas Fladerer, Robert Federle, Andreas Kohout,
  200. Heinz Lütkebohmert, Michael Nolte.
  201.  
  202. Die unfreiwilligen Tester: Werner Deinböck, Michael Ruge, Walter Vieser.
  203.  
  204. Atari für die Hardware-Dokumentation, einige kleine Codefetzen zum 
  205. Thema Interrupthandling und Programmstart, und die Tools zum Erzeugen
  206. von Kontrollfeld-Moduln;
  207.  
  208. Julian F. Reschke fürs geduldige Verwalten der XBRA-Liste.
  209.  
  210. Besonderer Dank an Thomas Fladerer, Andreas Kohout und Michael Kunert, 
  211. die mir ihre Drucker samt Tinte öfters mal geborgt haben.
  212.  
  213.  
  214. Peter Missel, im Juni 1995