[comp.sys.mac] HP DeskJet Drivers?

dml@esl.UUCP (Denis Lynch) (07/02/88)

The HP DeskJet seems to be the answer to a maiden's prayer for a home
printer: 300DPI, cheap ($700 or so), and fast enough for us mellow
Californians.

But, of course, there is the question: is there a driver that can make
this printer do anything useful on a Mac?

I'll report to the net if I get any interesting e-mail responses.

Thanks.

-- 
Denis Lynch                          decwrl!borealis!\
ESL Incorporated                       ucbcad!ucbvax!- ames!esl!dml
ARPA: dml%esl.ESL.COM@ames.arc.nasa.gov        ihnp4!/     /
SMAIL: dml@esl.ESL.COM                              lll-lcc!

mkhaw@teknowledge-vaxc.ARPA (Mike Khaw) (07/03/88)

> The HP DeskJet seems to be the answer to a maiden's prayer for a home
> printer: 300DPI, cheap ($700 or so), and fast enough for us mellow
> Californians.

I just read a review somewhere (MacWeek? Macintosh Today?).  It pointed out
that currently you can only use a few built-in fonts on the DeskJet from a
Mac, and if you have text and graphics on the same page the dot density goes
down to some low number (2 digits?).  I'd hold off until someone comes out
with a decent driver.

Yeah, I'd like a quiet, less expensive 300dpi printer on my Mac too!

Mike Khaw
-- 
internet: mkhaw@teknowledge.arpa
uucp:	  {uunet|sun|ucbvax|decwrl|uw-beaver}!mkhaw%teknowledge.arpa
hardcopy: Teknowledge Inc, 1850 Embarcadero Rd, POB 10119, Palo Alto, CA 94303

leonardr@uxe.cso.uiuc.edu (07/05/88)

dml@esl.UUCP(Denis Lynch) in comp.sys.mac

>The HP DeskJet seems to be the answer to a maiden's prayer for a home
>printer: 300DPI, cheap ($700 or so), and fast enough for us mellow
>Californians.
>
>But, of course, there is the question: is there a driver that can make
>this printer do anything useful on a Mac?
>
>I'll report to the net if I get any interesting e-mail responses.
>
	I had the pleasure to see at the recent MacHack '88 a DeskJet working with
Orange Micro's GrapplerLQ.  The grappler is a hardware interface that works
along with some INITs and the standard Apple ImageWriter LQ driver to driver
the DeskJet.  The programmer did a real good job on the software and it includes
a built in spooler (which works with both MF and UniFinder) and lots of other
options which are accessible from teh Control Panel (cdev).

(Disclaimer: I now know the programmer, personally!)

+---------------------------------+-----------------------------------+
+                                 +  Any thing I say may be taken as  +
+   Leonard Rosenthol             +  fact, then again you might decide+
+   President, LazerWare, inc.    +  that it really isn't, so you     +
+                                 +  never know, do you??             +
+   leonardr@uxe.cso.uiuc.edu     +                                   +
+   GEnie:  MACgician             +  MacNET: MACgician                +
+   Delphi: MACgician             +                                   +
+                                 +                                   +
+---------------------------------+-----------------------------------+

whiteheada@byuvax.bitnet (07/06/88)

Grappler LQ from Orange Micro 1-(800)-223-8029 was released last week.
It will drive the YHP DeskJet just fine!
*

rterry@hpcupt1.HP.COM (Ray Terry) (07/07/88)

I just spoke to SoftStyle today regarding an additional printer driver to the
PrintWorks collection that would work w/the DeskJet (they already market 
drivers in PrintWorks for the ThinkJet, QuietJet, PaintJet, LaserJet, etc).

They told me that a DeskJet driver was currently being developed and was in 
beta testing.  No target date as to when it would be available to the public.

Hope that helps...

Ray Terry
rterry%hpda@hplabs.hp.com
MacScience BBS (sysop) (408) 247-8307

drc@dbase.UUCP (Dennis Cohen) (07/08/88)

dml@esl.UUCP(Denis Lynch) in comp.sys.mac
 
>The HP DeskJet seems to be the answer to a maiden's prayer for a home
>printer: 300DPI, cheap ($700 or so), and fast enough for us mellow
>Californians.
>
>But, of course, there is the question: is there a driver that can make
>this printer do anything useful on a Mac?
>
>I'll report to the net if I get any interesting e-mail responses.
>

If you are interested in a driver specifically suited to this printer you
should contact Mike Amling at Semper Software (the SemperSoft Modula-2 people).
He has one of these printers, has written a driver for it, and was looking
into the marketability of the driver.  He even had it set up so that FKEY 4
worked with the printer.

Dennis Cohen
Claris
------------
Disclaimer:  Any opinions expressed above are _MINE_!

fjo@ttrdf.UUCP (Frank Owen ) (07/09/88)

in article <46100177@uxe.cso.uiuc.edu>, leonardr@uxe.cso.uiuc.edu says:
> 	I had the pleasure to see at the recent MacHack '88 a DeskJet working with
> Orange Micro's GrapplerLQ.  The grappler is a hardware interface that works
> along with some INITs and the standard Apple ImageWriter LQ driver to driver
> the DeskJet.  

   It sounds to me that since it uses the Apple Imagewriter LQ driver,
that the Grappler simply converts Imagewriter LQ code to compatible
DeskJet codes.  Basically, it makes the DeskJet "look" like an Imagewriter LQ.
This is an O.K. solution, but not the best one. The Imagewriter LQ has
resolution of 216x216 dpi, while the DeskJet does 300 dpi. Asside from
the possible scaling problems, it would be nice if you could get
true 300 dpi output on the DeskJet.  The Grappler is also a piece of
hardware, ( extra $) which is really not necessary.
   The correct solution is to write a DeskJet driver that gets
"Choosen" like the Apple drivers.  I have begun working on such a 
beast, but have been discouraged by the lack of documentation from Apple
on how to do it.  Then, as soon as I thought I had it all figured out, and
actually went out and bought a DeskJet, I find out that Cricket software will 
be coming out with a driver Real Soon Now.   HP is endorsing their driver
for the PaintJet, and so will probably do the same for the DeskJet.
From the article I have read, Cricket's drivers apparently 
extend QuickDraw to do some PostScript-type operations like text 
rotation.  Sounds like this will be a good product when it comes out.
The output quality should be at least as good as the LaserWrite SC.
Oh well, perhaps my driver will end up in the public domain.

   As an aside, the DeskJet is really a nice printer. HP should be
commended on their design. The only gripe I have is it's relatively
slow speed at drawing graphics. Since this is the way it will be driven in
a Mac environment, it's really too bad.  

-- 
Frank Owen (fjo@ttrdf)  312-982-2182
AT&T Information Systems
Computer Systems Division, 5555 Touhy Ave., Skokie, IL  60077
PATH:  ...!att!ttrdf!fjo

dplatt@coherent.com (Dave Platt) (07/09/88)

In article <694@ttrdf.UUCP> fjo@ttrdf.UUCP (Frank Owen ) writes:

> This is an O.K. solution, but not the best one. The Imagewriter LQ has
> resolution of 216x216 dpi, while the DeskJet does 300 dpi. Asside from
> the possible scaling problems, it would be nice if you could get
> true 300 dpi output on the DeskJet.  The Grappler is also a piece of
> hardware, ( extra $) which is really not necessary.

Agreed, in general... although I suspect that any third-party Mac driver
capable of doing a really-nice 300 DPI image is likely to cost about the
same as a Grappler.  GDT Softworks' driver-set for the DeskJet costs
about $100, and it doesn't give 300 DPI graphics.

>    The correct solution is to write a DeskJet driver that gets
> "Choosen" like the Apple drivers.

Yup... something like the ImageWriter LQ driver, but a bit more so.
It'll probably be memory-hungry, but is definitely the best approach in
the long run.

GDT is apparently thinking seriously of writing such a beast.

>                                          I have begun working on such a 
> beast, but have been discouraged by the lack of documentation from Apple
> on how to do it.

Earle Horton's articles on his daisy-wheel driver, published in
MacTutor, may be useful.

>                     Then, as soon as I thought I had it all figured out, and
> actually went out and bought a DeskJet, I find out that Cricket software will 
> be coming out with a driver Real Soon Now.   HP is endorsing their driver
> for the PaintJet, and so will probably do the same for the DeskJet.

Hmmm... when I called Cricket, I was told that their drivers are
designed to work only with their own software... they're special-purpose
graphics drivers and aren't suitable for general-purpose use.  I was
also told that they don't have a set date for the production of the
DeskJet driver.  If I was told wrong, I'd be very interested to know the
real facts of the matter!

> From the article I have read, Cricket's drivers apparently 
> extend QuickDraw to do some PostScript-type operations like text 
> rotation.

Yummie!

>            Sounds like this will be a good product when it comes out.
> The output quality should be at least as good as the LaserWrite SC.
> Oh well, perhaps my driver will end up in the public domain.
> 
>    As an aside, the DeskJet is really a nice printer. HP should be
> commended on their design. The only gripe I have is it's relatively
> slow speed at drawing graphics. Since this is the way it will be driven in
> a Mac environment, it's really too bad.  

Hmmm.  I have a suspicion that the speed limitation may be due to the
fact that the driver must shove a _lot_ of data over a medium-speed
serial link.  At 300 dots/inch, arbitrary bit-graphics (anything that
couldn't meaningfully be compressed) would require the transmission of
90,000 bits per square inch... at 9600 baud, that's almost 9 seconds!
I don't know what the actual interface speed is, but I'd be a bit
surprised if it's >19,200 baud.  At this speed, an 8-by-10 image of
arbitrary bit-graphics would require over 300 seconds (5 minutes) to
download the bits.

This is certainly a worse-case scenario, of course.  I haven't studied
HP-GL, but I infer that it contain support for both compressed
graphics (e.g. handling solid areas of black, white, or a fixed
pattern), "cursor" positioning, and perhaps some object-oriented
capabilities as well (e.g. "draw a line from point (a,b) to point
(c,d)").  An "optimal" DeskJet driver would make use of all of these
abilities, as well as the DJ's built-in fonts where applicable, and
would seek to minimize the total number of bytes shipped down to the
printer.  Not an easy job to do right... especially if the printer
doesn't have enough memory to hold an entire page-image at once, and
must be sent the data broken down into bands.


-- 
Dave Platt                                             VOICE: (415) 493-8805
  USNAIL: Coherent Thought Inc.  3350 West Bayshore #205  Palo Alto CA 94303
  UUCP: ...!{ames,sun,uunet}!coherent!dplatt     DOMAIN: dplatt@coherent.com
  INTERNET:   coherent!dplatt@ames.arpa,    ...@sun.com,    ...@uunet.uu.net

gillies@p.cs.uiuc.edu (07/10/88)

Re: Printer Drivers

1.  I can't see how the Grappler could avoid producing lousy results.
Most 24-pin printers achieve 180 dpi resolution -- the imagewriter LQ
is 216 dpi, larger by a factor of 6/5.  Since the Grappler is not in
the imaging loop (it just tries to squish bits, right?)  I expect
the 24-pin grappler prints pages that look worse than the Imagewriter
II's output.

2.  Watch an Imagewriter II some day.  I think the driver is HIGHLY
optimized to trim excess data from the transmission stream.  It looks
like it trims the margins from the output data (saving 37 square
inches), AND it skips blank scan lines (as much as 50% of the rest of
the data, if you're printing double-space text).  This reduces the
download information A LOT.

3.  For best results, you need 2.5 * fonts for a 180dpi driver.  The
Apple font scaling algorithms, while fast, produce fairly lousy
results.  What I'm contemplating is writing a very slow combinatorial
optimization procedure to extract an outline font, scale it, and then
re-image the characters.  Then, this batch utility could be used to
produce medium-quality 2.5 * magnified fonts from any given font set.
Are there any font editors out there that do high-quality scaling FROM
BITMAPS (not from splined font representations)?


-- Someone contemplating writing an EPSON LQ printer driver...

Don Gillies, Dept. of Computer Science, University of Illinois
1304 W. Springfield, Urbana, Ill 61801      
ARPA: gillies@cs.uiuc.edu   UUCP: {uunet,ihnp4,harvard}!uiucdcs!gillies

sbb@esquire.UUCP (Stephen B. Baumgarten) (07/10/88)

In article <6443@coherent.com> dplatt@coherent.com (Dave Platt) writes:
>>    As an aside, the DeskJet is really a nice printer. HP should be
>> commended on their design. The only gripe I have is it's relatively
>> slow speed at drawing graphics. Since this is the way it will be driven in
>> a Mac environment, it's really too bad.  
>
>Hmmm.  I have a suspicion that the speed limitation may be due to the
>fact that the driver must shove a _lot_ of data over a medium-speed
>serial link.  At 300 dots/inch, arbitrary bit-graphics (anything that
>couldn't meaningfully be compressed) would require the transmission of
>90,000 bits per square inch... at 9600 baud, that's almost 9 seconds!
>I don't know what the actual interface speed is, but I'd be a bit
>surprised if it's >19,200 baud.  At this speed, an 8-by-10 image of
>arbitrary bit-graphics would require over 300 seconds (5 minutes) to
>download the bits.

That shouldn't be necessary, unless you're printing a completely black
page.  We use TeX and a companion program that converts DVI files to
something the LaserJet II can understand.  The bitmap for each page is
usually quite small and in fact the only speed limitation when printing
is how fast the LaserJet can spit the pages out (quite a relief after
using troff->PostScript->LaserWriter).

-- 
   Steve Baumgarten             | "New York... when civilization falls apart,
   Davis Polk & Wardwell        |  remember, we were way ahead of you."
   {uunet,cmcl2}!esquire!sbb    |                           - David Letterman

leonardr@uxe.cso.uiuc.edu (07/11/88)

fjo@ttrdf.UUCP(Frank Owen) in comp.sys.mac

>in article <46100177@uxe.cso.uiuc.edu>, leonardr@uxe.cso.uiuc.edu says:
>> 	I had the pleasure to see at the recent MacHack '88 a DeskJet working with
>> Orange Micro's GrapplerLQ.  The grappler is a hardware interface that works
>> along with some INITs and the standard Apple ImageWriter LQ driver to driver
>> the DeskJet.  
>
>   It sounds to me that since it uses the Apple Imagewriter LQ driver,
>that the Grappler simply converts Imagewriter LQ code to compatible
>DeskJet codes.  Basically, it makes the DeskJet "look" like an Imagewriter LQ.
>This is an O.K. solution, but not the best one. The Imagewriter LQ has
>resolution of 216x216 dpi, while the DeskJet does 300 dpi. Asside from
>the possible scaling problems, it would be nice if you could get
>true 300 dpi output on the DeskJet.  The Grappler is also a piece of
>hardware, ( extra $) which is really not necessary.
	This is NOT correct.  What actually happens (as I understand it, remember I
only live here) is that the INIT code does some stuff to the data to preprocess
it but that the GRAPPLER itself does what it has to do to get the data to the
HP, WITHOUT LOSS OF RESOLUTION!!  This means that you always get 300dpi.  

>   The correct solution is to write a DeskJet driver that gets
>"Choosen" like the Apple drivers.
	Agreed (and so does the programmer!) but it was decided that due to the lack
documentation on printer drivers (as you describe) that piggy backing onto the
LQ driver was a good alternate plan. They are working on their own driver now,
but this was a first shot, and it put the product out on the market!


+---------------------------------+-----------------------------------+
+                                 +  Any thing I say may be taken as  +
+   Leonard Rosenthol             +  fact, then again you might decide+
+   President, LazerWare, inc.    +  that it really isn't, so you     +
+                                 +  never know, do you??             +
+   leonardr@uxe.cso.uiuc.edu     +                                   +
+   GEnie:  MACgician             +  MacNET: MACgician                +
+   Delphi: MACgician             +                                   +
+                                 +                                   +
+---------------------------------+-----------------------------------+

gillies@p.cs.uiuc.edu (07/11/88)

With a stopwatch you can predict how fast your printer will work.  The
Imagewriter II can dump something like 350 bytes (of 9-pin data) per
second (time a screen print 512*345/8 bytes).  Now, if you read the
24-pin BYTE benchmarks from 2 months ago, you find that very few
printers can approach this output speed.  The one exception is the
Okidata Microline 393, which can dump 2400 bytes (of 24-pin data) per
second.  This works out to slightly more square-inches per second of
printing.

Most other 24-pin printers run at 1/3 to 1/2 of the Okidata's speed.
So most 24-pin pinters are 1/3 to 1/2 as slow as the Imagewriter II,
for printing graphics bitmaps.  Draft mode is better, of course.


Don Gillies, Dept. of Computer Science, University of Illinois
1304 W. Springfield, Urbana, Ill 61801      
ARPA: gillies@cs.uiuc.edu   UUCP: {uunet,ihnp4,harvard}!uiucdcs!gillies

erik@hpsadla.HP (Erik Kilk) (07/12/88)

I understand (maybe incorrectly) that the DeskJet accepts run-length
encoding of bitmapped graphics.  Now I hope those who write the drivers
take advantage of this feature.  Five minutes is a long time.

Erik

fjo@ttrdf.UUCP (Frank Owen ) (07/12/88)

in article <6443@coherent.com>, dplatt@coherent.com (Dave Platt) says:
> 
> In article <694@ttrdf.UUCP> fjo@ttrdf.UUCP (Frank Owen ) writes:
> 
>>                                          I have begun working on such a 
>> beast, but have been discouraged by the lack of documentation from Apple
>> on how to do it.
> 
> Earle Horton's articles on his daisy-wheel driver, published in
> MacTutor, may be useful.
> 
I have looked at Earle's articles, and they are helpful. Thanks Earle.

> Hmmm.  I have a suspicion that the speed limitation may be due to the
> fact that the driver must shove a _lot_ of data over a medium-speed
> serial link.  At 300 dots/inch, arbitrary bit-graphics (anything that
> couldn't meaningfully be compressed) would require the transmission of
> 90,000 bits per square inch... at 9600 baud, that's almost 9 seconds!
> I don't know what the actual interface speed is, but I'd be a bit
> surprised if it's >19,200 baud.  At this speed, an 8-by-10 image of
> arbitrary bit-graphics would require over 300 seconds (5 minutes) to
> download the bits.
> 

Nope.
The DeskJet has a compression mode that is remarkably similiar
to the compression used by MacPaint when it saves bitmaps.
As a preliminary exercise, I wrote a program that scales up any
PICT drawing by a factor of 4. (Using Quickdraw to do the drawing
into offscreen bitmaps). The bitmap is saved in compressed mode
along with DeskJet printer commands. The uncompressed representation of
an entire page would take 900,000 bytes, however on my test
runs the compression almost always brings this down to less than
100,000 bytes of data to send to the printer. (This includes the
escape sequence overhead).  Additionally, the printer can receive
data at 19,200 baud. 
  On a test run, a full-page graphic image that was compressed to
90,000 bytes took about 5 minutes to print. The transmit time for the
90,000 bytes (at 19,200 baud) should be about 47 seconds. So the transmit speed
is clearly NOT the problem.

>I haven't studied
>HP-GL, but I infer that it contain support for both compressed
>graphics 

Actually, only the DeskJet supports this. Other HP-GL printers
(like the LaserJet II) don't have a compressed mode.

>(e.g. handling solid areas of black, white, or a fixed
>pattern), "cursor" positioning, and perhaps some object-oriented
>capabilities as well (e.g. "draw a line from point (a,b) to point
>(c,d)").  

  The DeskJet does NOT support these due to the fact that it
is incapable of assembling a page of dots and then printing it.
It is a "serial" printer in that it must print the page from top to
bottom in one shot. No backing up. The graphics data must be
sent to the printer from top to bottom, and the printer just puts the
dots down on the page, and then forgets about them.

>abilities, as well as the DJ's built-in fonts where applicable, and

  The built in fonts would be good for draft-mode printing, where
the whole page would be done using the built in fonts. Mixing
the builtin fonts with the graphics is a real pain. It can be
done, but the limitations enforced by the DeskJet design make it
impractical.  Besides, you only get one builtin font that the driver
could be sure is present. You'd (I'd) have to supply bit-mapped
versions of those fonts. (not a job I particuliarly want to do).
In addition, you don't get rotated fonts. The built-ins are pretty much
useless aside from useing them for "Draft" mode. (In this case
"Draft" may actually look pretty good. The builtin font of the
DeskJet sort-of looks like your typical letter-quality daisy-wheel
printer.

>I'm seriously thinking of buying one of these puppies as soon as my
>company has some money... I'd appreciate it if you'd keep me informed of
>your efforts and discoveries.

You're inability to find a driver in the market (did you talk to HP?)
gives me a little motivation to finish mine. What I was planning on 
doing was producing a driver and approaching HP with it to possibly sell
them the rights to it. (I'm not particuliarly keen on marketing and
producing/selling/advertising my own product- don't have the time)
  I will probably finish my driver in any event, and if HP goes with
Cricket, then mine will most likely show-up in the public domain.


-- 
Frank Owen (fjo@ttrdf)  312-982-2182
AT&T Information Systems
Computer Systems Division, 5555 Touhy Ave., Skokie, IL  60077
PATH:  ...!att!ttrdf!fjo

bayes@hpfcdc.HP.COM (Scott Bayes) (07/13/88)

Re printer communications:

HP-PCL is a Printer Control Language, the one that DeskJet, LaserJet et al.
use.

HP-GL is a vector Graphics Language used by HP's pen plotters (e.g. 7470,
7586, etc). I don't believe DeskJet supports HP-GL: it cannot turn vectors
into rasters as far as I know.

Scott "written too much code for these puppies" Bayes