home *** CD-ROM | disk | FTP | other *** search
- iPRN (C) Peter Missel 1994, 1995
-
- "Yet another printout accelerator..."
-
- Yes. Another one. But this one features printer state tracking.
-
- "What does that mean?"
-
- Well, in addition to what you expect from a printout accelerator,
- accelerating printout, iPRN knows whether the printer is just busy printing
- or is in an error condition (offline, power off, no paper, not connected...).
- Thus the system always knows in advance whether or not the printer is
- ready to receive data.
- In a nutshell, the annoying 40 second delay after giving a "Print" command
- without having the printer ready is GONE. The error message appears instantly.
-
-
- iPRN is shareware. Versions up to 0.99 are demo versions and may freely
- be distributed.
-
- Restrictions in the demo versions:
- - The state tracking only works once per session.
- After the printer has once been offline and gone back online, the
- state tracking deactivates. The system continues normally, only the
- "printer memorial delay" is back.
- - No control panel module:
- - no timeout configuration
- - no state tracking enable/disable (it disables by itself anyway)
- - no deskjet activation
-
- Registered versions 1.00 and up cost DM 25,- in Germany and $20 elsewhere.
-
-
- Registration
- ============
- Europe: Send DM 25 / US$20 to this bank account:
-
- Peter Missel, Stadtsparkasse Augsburg, BLZ 72050000, Kto. 1301522.
- In the "usage" field, write "iPRN Firstname Lastname"
-
- UK: Make a Cheque or Postal Order for 13 Pounds Sterling, payable to
- Denesh Bhabuta, and send to
-
- CyberSTrider,
- 203 Parr Lane,
- Unsworth,
- Bury,
- Lancashire,
- BL9 8JW
-
- Please do not forget to include your name and address.
-
- Denesh may be contacted via E-mail, on:
- dbhabuta@cix.compulink.co.uk
- danny@micros.hensa.ac.uk
-
- US: <dunno yet>
-
- For proper identification, send a postcard to:
- Peter Missel, Greiffstraße 11, 86157 Augsburg, Germany.
-
- Or send eMail to Peter_Missel@ll.maus.de.
-
-
- Benchmarks (in characters per second)
- =====================================
-
- System without with iPRN
- ---------------------------------------------------
- ST, 8 MHz, TOS 2.06 1800 13531
- ST, 16 MHz, TOS 1.04 3200 >17200
- Falcon030, TOS 4.04 3500 up to 36100 *
- Falcon030, TOS 4.04, Display off 4500 up to 39370 *
- Falcon030/32 MHz, Display off 4900 up to 39370 *
- TT030 w/o FastRAM, TOS 3.06 5600 up to 34100 *
- TT030 w/ FastRAM, TOS 3.06 ? ?
-
- ("greater than" values are benchmarked ones where the system could have
- gone faster, but the printer wasn't fast enough.)
-
- * On 68030-based machines, speed depends on the position of
- driver and software in the CPU's cache; in a worst-case scenario,
- speed will be 20% less than the given maximum, normal average
- will be about 5% less.
-
-
- Installation
- ============
- IPRN.PRG is for your AUTO folder. It should be the physically last
- program there. MiNT users must place it behind MINT.PRG, so that printer
- device drivers can install (in that case, iPRN will not install).
- When skipping MiNT, iPRN will then install as usual.
-
- Those who don't have a MiNT printer device driver can use IPRN.PRG in MiNT.
- Full compatibility would then require IPRN.PRG to start before MINT.PRG,
- but this way MiNT's overhead will eat up large part of the acceleration.
- People opting for speed instead of compatibility can place IPRN.PRG behind
- MINT.PRG for full acceleration. (Printer output redirection will not work
- then.)
-
- IPRN.CPX is a Control Panel Extension and must be copied into the folder
- where all the others already are. Usually this is C:\CPX\. It is not included
- in the demo version.
-
-
- Operating
- =========
- There is nothing to operate on IPRN.PRG. Your system automatically starts it
- from the AUTO folder, and it installs. If the installation fails, there will
- be an error message like "already installed" or "Printer port already in use"
- if the program already is installed or if another program hogs the printer
- port interrupt.
-
- The Control Panel module is for program configuration.
- - "Offline Timeout" is the maximum delay (while printing) in seconds before
- the printer (being in BUSY state) is declared absent and an error condition
- is reported to the application program.
- - "End-of-job delay" is the time frame in seconds (after the last byte
- printed) within which a printer BUSY condition will be considered
- normal, error messages being suppressed meanwhile.
- - "Printer state watchdog": Interrupt driven printer state tracking.
- May be enabled or disabled by the user at any time. Disabling it is
- recommended before using a program that prints in some kind of
- "Direct to Hardware" mode.
- - Clicking "OK" or "Save" will also wake apathetic HP Deskjet printers.
-
- The Control panel module is included with the registered versions only;
- demo versions have "Offline Timeout" set to 30, "End-of-job delay" set to 3
- seconds, and the "Printer state watchdog" disables after the first printer
- error.
-
-
- iPRN's useful side effects:
-
- - The STROBE signal generation is independant from system speed. iPRN
- works fine on any system, even those faster than the TT.
-
- - Screen hardcopies are also accelerated; there also is no absent printer
- delay here.
-
- - On system reset, the undefined garbage byte TOS sends to the printer is
- suppressed. Instead, a defined garbage byte (binary zero) is sent.
- It can't be completely supressed, as this is a bug in TOS (up to 1.04,
- at least).
-
-
- Unwanted side effects:
-
- - Application programs that print by accessing the printer port hardware
- directly (instead of properly using GEMDOS or BIOS) will cause two
- interrupts per byte printed. This will slow _these_ printouts down
- (not much, luckily).
- This applies to some older programs like Calamus 1.x or Signum!2.
- Registered iPRN users can deactivate printer state tracking before using
- these programs.
-
- - Many programs do not care about the error conditions the BIOS print function
- returns, so that the printer may not be turned offline while printing.
- iPRN will supress offline error messages within 3 seconds after the last
- byte printed (this value can be configured in registered versions).
- This provides the user with more time to add paper, replace ink cartridges
- or whatever. Data will not be lost until the "big" timeout occurs, which
- is 30 seconds in the demo version and configurable in registered ones.
- After this time has passed without the printer being back online, your
- printout will feature some additional special effects.
- This will also happen with plain TOS and is nothing to do with iPRN.
-
-
- Contraindications:
-
- - Do not use with incompatible printer port hardware like on GEMulator or
- JANUS boards in DOS PCs or Mag!C Mac.
-
- ==============================================================================
-
- Technical details: iPRN hooks to the BIOS trap vector (XBRA ID is "iPRN") and
- catches Bconout( 0, ... ) and Bcostat( 0 ) calls. It also installs in the
- xconout0, xcostat0, prv_lst, prv_lsto and resvector vectors.
- It activates and uses MFP interrupt I0. A cookie "iPRN" is registered, with
- its value being a pointer to configuration variables changeable through the
- Control Panel module. (Registered versions only, the demo versions' cookie
- value points to garbage.)
-
- Bcostat( 0 ), as opposed to the original call in TOS, always returns a proper
- value, even during a printout, when TOS returns kind of a random value.
- iPRN's Bcostat( 0 ) will as usual return -1 for "ready" and 0 for "not ready",
- only that a normal BUSY condition will be considered "ready".
-
- ==============================================================================
-
- Thanks to:
-
- Thomas Fladerer for trying out and daringly using every single version
- since 0.00;
-
- The beta testers: Franz Blaha, Thomas Fladerer, Robert Federle, Andreas
- Kohout, Heinz Lütkebohmert, Michael Nolte;
-
- The non-volunteering testers: Werner Deinböck, Michael Ruge, Walter Vieser.
-
- Atari for hardware documentation, some small pieces of code about interrupt
- handling and program startup, and the Control Panel Extension development
- tools;
-
- Julian F. Reschke for maintaining the list of programs using XBRA.
-
- Special thanks to Thomas Fladerer, Andreas Kohout and Michael Kunert
- for lending me their printers and not chargeing me for the ink used.
-
-
- Peter Missel, in June 1995