[comp.sys.next] Printer Drivers

gerst@ecs.umass.edu (01/09/91)

>Subject: Re: SUMMARY: NeXT Floppy Drive and Printer
>From: smb@csn.org!datran2
>Sender: Steven M. Boker
>
>In article <8033@hub.ucsb.edu> ye@henri.ucsb.edu (Hong Ye) writes:
>>Laser Printer:
>> [ comment about NeXT opening the printing architecture and
>>   drivers for third party printers ]
>
>This is certainly do-able.  In fact Data Transforms has been writing
>and selling printer drivers for bitmap printers for 10 years now. (We
>don't all have the luxury of institutional support)  I do have one
>observation about this.  The bitblasting printer port that connects
>to the NeXT printer operates at speeds far exceeding those supported
>by an RS232 laser printer.  A full page bitmap at 300dpi is 7,560,000
>bits.  This a little more than 13 minutes per page at 9600 baud. 
>Printers capable of 38.4kbaud will be able to get this down to a little
>over 3 minutes per page.  Thats a long wait.  After you've waited a
>half hour to get a 10 page document, the price of the NeXT printer
>doesn't look so bad.
>

Hmm, seeing as how the bottleneck here is the communications, a well
designed and implemented printer driver should do everything to reduce
the bottleneck at both ends, while at the same time, not creating more
bottlenecks.

Some things to consider:

     Most printers have a built in graphics "language" and microprocessor.
     Output tends to have a lot of whitespace or black.

Sending a raw bitmap may not be the answer for a lot of output.  The
printer graphics "languages" Ive seen have things like 'repeat pattern' &
'skip line' & 'skip'.  A "intelligent" printer driver would do something
marginally smart and scan the bitmap generating sequences of 'fills' and
'skips' when it is shorter than sending the bitmap.

A single 8" scan line at 300dpi is around 300 bytes, when this can be 
reduced to a couple byte 'graphics newline' when it is all white, or
a 'fill' when it is all black then your communications bottleneck starts
to shrink considerably.

Not all printer graphics "languages" are created equal, and this may not apply
everywhere, but it is definitely something that should be done if possible.

Similar things have been done in full screen terminal libraries. 

How long has your company been writing printer drivers for?

I'd go on, but you get the point...

>Steve

>-- 
> #====#====#====#====#====#====#====#====#====#====#====#====#====#====#====#
> #  Steve Boker           #  "Badgers, we don't have no stinking badgers"   #
> #  datran2!smb@csn.org   #    -from Treasure of the Sierra Madre Zoo       #
> #====#====#====#====#====#====#====#====#====#====#====#====#====#====#====#

Chris Lloyd - lloyd@ucs.umass.edu

eps@toaster.SFSU.EDU (Eric P. Scott) (01/10/91)

In article <12017.278b1e8a@ecs.umass.edu> gerst@ecs.umass.edu writes:
>Sending a raw bitmap may not be the answer for a lot of output.  The
>printer graphics "languages" Ive seen have things like 'repeat pattern' &
>'skip line' & 'skip'.  A "intelligent" printer driver would do something
>marginally smart and scan the bitmap generating sequences of 'fills' and
>'skips' when it is shorter than sending the bitmap.

Ever hear of FAX?  :-)

					-=EPS=-

datran2 (01/10/91)

In article <12017.278b1e8a@ecs.umass.edu> gerst@ecs.umass.edu writes:
>     Most printers have a built in graphics "language" and microprocessor.

One of the most efficient for these purposes is called Postscript

>     Output tends to have a lot of whitespace or black.
>
>Sending a raw bitmap may not be the answer for a lot of output.  The
>printer graphics "languages" Ive seen have things like 'repeat pattern' &
>'skip line' & 'skip'.  A "intelligent" printer driver would do something
>marginally smart and scan the bitmap generating sequences of 'fills' and
>'skips' when it is shorter than sending the bitmap.

Of course we do these things.  Geez...  The point I was trying to make is
communications is the bottleneck, and a postscript cartridge is an elegant
solution.  Barring that, most laser printer description languages allow you
place bitmapped rectangles on the page.  Of course one wants to create
bounding boxes in a smart fashion and not transmit any more white space than
is optimal.

But be warned, the worst case scenario is pretty bad.

Steve.

-- 
 #====#====#====#====#====#====#====#====#====#====#====#====#====#====#====#
 #  Steve Boker           #  "Badgers, we don't have no stinking badgers"   #
 #  datran2!smb@csn.org   #    -from Treasure of the Sierra Madre Zoo       #
 #====#====#====#====#====#====#====#====#====#====#====#====#====#====#====#

neil@uninet.cpd.com (Neil Gorsuch) (01/11/91)

In article <1991Jan10.003529.8634@csn.org!datran2> smb@csn.org!datran2 writes:
>Of course we do these things.  Geez...  The point I was trying to make is
>communications is the bottleneck, and a postscript cartridge is an elegant
>solution.  Barring that, most laser printer description languages allow you
>place bitmapped rectangles on the page.  Of course one wants to create
>bounding boxes in a smart fashion and not transmit any more white space than
>is optimal.
>But be warned, the worst case scenario is pretty bad.

Our SCSI based centronics parallel port will be ported to the NeXT next week.
The standard model does 30,000 characters per second.
--
Neil Gorsuch        INTERNET: neil@cpd.com          UUCP: uunet!zardoz!neil
MAIL: 1209 E. Warner, Santa Ana, CA, USA, 92705     PHONE: +1 714 546 1100
Uninet, a division of Custom Product Design, Inc.   FAX: +1 714 546 3726
AKA: root, security-request, uuasc-request, postmaster, usenet, news

datran2 (01/13/91)

One thing I would be willing to wait for would be color output.  I can't
afford $9000 for a color Postscript machine, but I could probably spring
for a $500 PaintJet.  There is a contributed PaintJet driver in the
GhostScript code.  Come on, student hackers, doesn't anyone else wonder
what those intruiging color selection panels do?  Doesn't anyone want to
see the FractalTrees or Mandelbrot output in color?  

This brings up a related issue.  Has anyone tried the berkeley tiff tools
on NeXT color tiffs?  Perhaps we could be converting them to gifs and
seeing something on the nearest SVGA or Amiga box.

Steve.

-- 
 #====#====#====#====#====#====#====#====#====#====#====#====#====#====#====#
 #  Steve Boker           #  "Badgers, we don't have no stinking badgers"   #
 #  datran2!smb@csn.org   #    -from Treasure of the Sierra Madre Zoo       #
 #====#====#====#====#====#====#====#====#====#====#====#====#====#====#====#

cs4ed3ap@maccs.dcss.mcmaster.ca (Tyldesly A) (01/16/91)

Okay, I have looked in the documentation and can not find any reference to
hooking up a simple printer so that I can get plain text out of my slab.
Is this posssible withe the machine as it comes from NeXT? If not, Is there
a simple printer driver out there that will work? If it can be done please
tell me how, you can Email me and I will summarize any useful info for the net.
Thanks

Andrew

mark@epsoft.UUCP (Mark Chamberlain) (04/14/91)

Eric P. Scott writes ->
>There's a simple explanation why I did an ImageWriter
>driver instead: I could.
>
>					-=EPS=-


Hmm.. I haven't seen your ImageWriter driver yet - is the source  
available? How easy/hard is it to write device drivers for NeXTStep?
Where is it documented? (if at all..)

One of the cutest printers around is a Hewlett-Packard Deskjet - now  
whilst I agree that NeXT printers are cheaper than most, it would  
still be nice to be able to use whats around (looking whats around my  
office is 3 HP printers, LJ 3,  LJ 2, Deskjet Plus), and it would  
make sense to write a driver for them.. the NeXT is doing all the  
clever bits, a printer driver has (I guess) just got to throw a  
bitmap at the printer.. hey presto, a Postscript Deskjet.

I'd be really grateful for any pointers as to how I'd go about  
writing a NeXTStep printer-driver - I'm no stranger to writing this  
kinda stuff (for instance under Windows 3), I just can't seem to lay  
hands on the info I need to get going.

TIA, Mark
------
Epsilon Software Limited, 38 Chandos Way, Golders Green, London 

+44 81 458 0434, uunet!ukc!epsoft!mark
The Uk NeXT User Group uunet!ukc!epsoft!nextug

waldvoge@nessie.cs.id.ethz.ch (Marcel Waldvogel) (04/18/91)

In article <9104140516.AA03455@epsoft> mark@epsoft.UUCP (Mark Chamberlain) writes:
>One of the cutest printers around is a Hewlett-Packard Deskjet - now  
>whilst I agree that NeXT printers are cheaper than most, it would  
>still be nice to be able to use whats around (looking whats around my  
>office is 3 HP printers, LJ 3,  LJ 2, Deskjet Plus), and it would  
>make sense to write a driver for them.. the NeXT is doing all the  
>clever bits, a printer driver has (I guess) just got to throw a  
>bitmap at the printer.. hey presto, a Postscript Deskjet.

I calculated the time it takes to print out a 300 dpi graphics page (>
1 MB of data) as a bitmap at 19200 baud (the max. baud rate the
DeskJet+ knows about); this gives about 9-10 minutes, quite a lot. It
would be nice if workstation would have a parallel port, too...

Does anyone know of a source or a schematic to a high-speed (>= 38400
baud) serial/parallel converter to speed up the transfer to the HP DJ+?

By the way, the cabling to connect a DJ+ is non-standard: In
additon to a nullmodem cable (for a printer!) you need to exchange DTR
and RTS on the printer side.

-Marcel
--
Marcel Waldvogel | waldvoge@nessie.cs.id.ethz.ch | This message is in the public
Eschenweg 7      | 8057 Zuerich                  | domain. No donation required!



-- 

Tschuess, Marcel
--
Marcel Waldvogel | waldvoge@nessie.cs.id.ethz.ch | This message is in the public

osborn@cs.utexas.edu (John Howard Osborn) (04/20/91)

In article <1991Apr18.155842.16132@bernina.ethz.ch> waldvoge@nessie.cs.id.ethz.ch (Marcel Waldvogel) writes:
>In article <9104140516.AA03455@epsoft> mark@epsoft.UUCP (Mark Chamberlain) writes:
>>office is 3 HP printers, LJ 3,  LJ 2, Deskjet Plus), and it would  
>>make sense to write a driver for them.. the NeXT is doing all the  
>>clever bits, a printer driver has (I guess) just got to throw a  
>>bitmap at the printer.. hey presto, a Postscript Deskjet.
>
>I calculated the time it takes to print out a 300 dpi graphics page (>
>1 MB of data) as a bitmap at 19200 baud (the max. baud rate the
>DeskJet+ knows about); this gives about 9-10 minutes, quite a lot. It
>would be nice if workstation would have a parallel port, too...

I've used Sun's NewsPrint with an HP Deskjet 500.  (NewsPrint does what
we're all wanting on our NeXTs...  it uses its display postscript engine
to build bitmaps for non-postscript printers, like the HP DeskJet or
the Sun SparcPrinter.  SparcPrinter is a 300/400 dpi non-smart print
engine that plugs into a special high-speed port on a sparcstation for
printing.  Does this sound familiar?)

Anyway, at 19.2K baud performance was quite acceptable for a $500 printer.
Simply calculating page size in dpi and using the serial line speed to
calculate a printing speed doesn't cut it because you can pull off all
sorts of tricks to make printing go faster, such as data compression.

I would say that 9-10 minutes per page would be an absolutely worst case
situation and most pages would print within a minute.

This is NOT a workgroup solution, folks.  If you have a couple of NeXTs
in a workgroup, it quickly becomes worthwhile to buy a NeXT laserprinter.
However, lots of people are like me.  My machine sits on my desk at home,
connected to no network, and I can't afford $1500 for a laser printer.
But I write lots and lots of papers, articles, and the occasional book, so
I have a need for high quality cheap output.

I'll make it plainer:  Despite what I've been told in the past, and what
I may have posted, NeXT isn't going to fix this problem.  It is up to
somebody who wants to make lots of money to write the damn driver, bundle
it with a cable, and sell it though NeXTconnection for $100.  That way,
I just phone up NeXTconnection, buy the driver, and buy a DeskJet 500
from my local CompuAdd.  The next morning, I'll be printing.  WHOEVER
DOES THIS WILL MAKE MONEY.  Students and poor NeXT owners everywhere
will thank you and throw money at you.

-
-John H. Osborn
-osborn@cs.utexas.edu

neil@uninet.cpd.com (Neil Gorsuch) (04/21/91)

>>I calculated the time it takes to print out a 300 dpi graphics page (>
>>1 MB of data) as a bitmap at 19200 baud (the max. baud rate the
>>DeskJet+ knows about); this gives about 9-10 minutes, quite a lot. It
>>would be nice if workstation would have a parallel port, too...

Uninet sells a scsi based Centronics parallel port that has been
ported to the NeXT.  Call (800)433-6784 and ask for sales or send
email to sales@cpd.com or to uninet!sales for more information.

>But I write lots and lots of papers, articles, and the occasional book, so
>I have a need for high quality cheap output.

With something like gnu ghostscript, and a cheap laser printer (and
maybe our centronics parallel port for faster speed 8-), it would seem
that one could have postscript laser printing fairly cheaply.  Note
that I haven't tried outputting ghostscript stuff to a printer, just
to the screen, but there appears to be very good documentation on how
to write new output drivers.  You may not have to anyway, here is part
of the gdevs.mak file in ghostscript 2.1:

# Printers:
#       bj10e   Canon BubbleJet BJ10e  [MS-DOS only]
#       deskjet  H-P DeskJet   [MS-DOS & Unix]
#       epson   Epson dot matrix printers   [MS-DOS only]
#       laserjet  H-P LaserJet   [MS-DOS & Unix]
#       nwp533  Sony Microsystems NWP533 laser printer   [Sony only]
# ###   paintjet  H-P PaintJet color printer [Unix, tested on SunOS only]

--
Neil Gorsuch        INTERNET: neil@cpd.com          UUCP: uunet!zardoz!neil
MAIL: 1209 E. Warner, Santa Ana, CA, USA, 92705     PHONE: +1 714 546 1100
Uninet, a division of Custom Product Design, Inc.   FAX: +1 714 546 3726
AKA: root, security-request, uuasc-request, postmaster, usenet, news

paul@uninet.cpd.com (Paul Hammond) (04/25/91)

In article <1991Apr18.155842.16132@bernina.ethz.ch> waldvoge@nessie.cs.id.ethz.ch (Marcel Waldvogel) writes:
>In article <9104140516.AA03455@epsoft> mark@epsoft.UUCP (Mark Chamberlain) writes:
>>One of the cutest printers around is a Hewlett-Packard Deskjet - now  
>>whilst I agree that NeXT printers are cheaper than most, it would  
>>still be nice to be able to use whats around (looking whats around my  
>>office is 3 HP printers, LJ 3,  LJ 2, Deskjet Plus), and it would  
>>make sense to write a driver for them.. the NeXT is doing all the  
>>clever bits, a printer driver has (I guess) just got to throw a  
>>bitmap at the printer.. hey presto, a Postscript Deskjet.
>
>I calculated the time it takes to print out a 300 dpi graphics page (>
>1 MB of data) as a bitmap at 19200 baud (the max. baud rate the
>DeskJet+ knows about); this gives about 9-10 minutes, quite a lot. It
>would be nice if workstation would have a parallel port, too...
 


We at Uninet have just finished our port of the SLAT-1 to the NeXT
workstations. The SLAT-1 provides additional serial and parallel ports
to the NeXT. The SLAT-1 attaches to the NeXT on the SCSI bus,
co-exists with all other SCSI devices and requires NO modifications to
either the system or applications software. Serial ports can be set up
at speeds to 57.6k while the parallel port provides output at 28,000 cps.

For more informatin please email at sales@cpd.com or call 714 546 1100


 
>Does anyone know of a source or a schematic to a high-speed (>= 38400
>baud) serial/parallel converter to speed up the transfer to the HP DJ+?
>
>By the way, the cabling to connect a DJ+ is non-standard: In
>additon to a nullmodem cable (for a printer!) you need to exchange DTR
>and RTS on the printer side.
>
>-Marcel
>--
>Marcel Waldvogel | waldvoge@nessie.cs.id.ethz.ch | This message is in the public
>Eschenweg 7      | 8057 Zuerich                  | domain. No donation required!
>
>
>
>-- 
>
>Tschuess, Marcel
>--
>Marcel Waldvogel | waldvoge@nessie.cs.id.ethz.ch | This message is in the public


--
Paul Hammond     paul@cpd.com     (714)546-1100     FAX (714)546-3726
Uninet Peripherals, 1209 E. Warner, Santa Ana, CA  92705