OS4 DepotLogo by Browallia 
(anonymous IP:,1212) 

   Bug tracker
   Locale browser


   o Audio (328)
   o Datatype (47)
   o Demo (184)
   o Development (534)
   o Document (21)
   o Driver (88)
   o Emulation (142)
   o Game (860)
   o Graphics (460)
   o Library (94)
   o Network (202)
   o Office (57)
   o Utility (810)
   o Video (61)

Total files: 3888

Full index file
Recent index file



Support the site

 File comments for:  Driver » Printer » hp_photosmart.lha


Description: HP PCL3GUI printer driver
Download: hp_photosmart.lha
Version: 53.3
Date: 05 Apr 2018
Category: driver/printer
FileID: 10567
RSS Feed url: http://os4depot.net/modules/comments/rssfeed.php?file=driver/printer/hp_photosmart.lha

[Back to readme page]   [Add Comment]   [Refresh page]

Comment by: MT ( 29 Aug 2018, 04:02File version: 53.3
Done, but unfortunately that change doesn't help: if I zero out the CR/LF bytes the printer just won't print anything at all. The following is the output from the driver as a response to "Echo > PRT: Some text", gathered via printtofile.device and Type HEX:

0000: 1B451B25 2D313233 34355840 504A4C20    .E.%-12345X@PJL 
0010: 454E5445 52204C41 4E475541 47453D50    ENTER LANGUAGE=P 
0020: 434C3347 55490D0A 1B266C32 36411B26    CL3GUI...&l26A.& 
0030: 64401B26 6C36441B 28304E1B 28733062    d@.&l6D.(0N.(s0b 
0040: 31306832 71307030 73337430 75313256    10h2q0p0s3t0u12V 
0050: 0D1B2A72 2D34551B 2A763153 1B266C31    ..*r-4U.*v1S.&l1 
0060: 6C326536 36461B26 61346C37 344D0D53    l2e66F.&a4l74M.S 
0070: 6F6D6520 74657874 0D0A0C1B 252D3132    ome text....%-12 
0080: 33343558 40504A4C 20454F4A 0D0A1B25    345X@PJL EOJ...% 
0090: 2D313233 343558                        -12345X 

However, the following (without the "GUI" part in the language name) works fine:

0000: 1B451B25 2D313233 34355840 504A4C20    .E.%-12345X@PJL 
0010: 454E5445 52204C41 4E475541 47453D50    ENTER LANGUAGE=P 
0020: 434C330D 0A1B266C 3236411B 2664401B    CL3...&l26A.&d@. 
0030: 266C3644 1B28304E 1B287330 62313068    &l6D.(0N.(s0b10h 
0040: 32713070 30733374 30753132 560D1B2A    2q0p0s3t0u12V..* 
0050: 722D3455 1B2A7631 531B266C 316C3265    r-4U.*v1S.&l1l2e 
0060: 3636461B 2661346C 37344D0D 536F6D65    66F.&a4l74M.Some 
0070: 20746578 740D0A0C 1B252D31 32333435     text....%-12345 
0080: 5840504A 4C20454F 4A0D0A1B 252D3132    X@PJL EOJ...%-12 
0090: 33343558                               345X 

Maybe my printer is just too old and not fully compliant to the standard (although the user guide states its language is PCL3GUI!), or maybe it has a firmware bug.

As for the preferences, yes, you can have your own preferences requester brought up with the "Driver options..." button, although the documentation is a bit sketchy on how to get there.

As far as I can tell, this is achieved by adding { PRTA_Preferences, TRUE } in the ped_TagList of the PrinterExtendedData and making the ped_DoPreferences field point to your own preferences handling function.

The Printer editor will invoke printer.device's PRD_EDITPREFS command when the user clicks on that button; that should in turn call your function with a specific command code (I guess you'll have to figure out the exact value) meaning "bring up your GUI".

Then I suppose the editor will also invoke the other prefs-related commands when appropriate (PRD_RESETPREFS when the user selects "Reset to defaults", PRD_LOADPREFS when a new driver is selected from the list, PRD_SAVEPREFS and PRD_USEPREFS upon a "Save" or "Use" action, and PRD_READPREFS / PRD_WRITEPREFS for internal bookkeeping). Again, each of these should call your function with the corresponding code (more guesswork...).

As for where to save the actual preferences, we only have the "File" driver as an example... it stores its settings into ENV(ARC):Sys/printerFile.prefs in IFF format.

Yes, I admit it looks a little complicated :) Using a simple text file, which the user could maintain independently from the Printer editor, might be easier as an initial approach. You could have a different file for each unit, or offer a way to specify within the file which unit a group of settings apply to.

Whatever the method, I think having driver preferences might be handy, and would spare you from having to maintain more than one version of the driver just for compatibility purposes.

The preferences could allow to choose e.g. which language (PCL3 or PCL3GUI) to use for text or graphics respectively, and maybe even other goodies such as what dither algorithm to use (the example driver sources from SDK have three algorithms commented out besides the usual one... when I tried building the driver I found out the BlueNoise variant produces much better results than plain Floyd-Steinberg in most cases).

All of this is just a suggestion, of course :)

Ah, I tried with HP_DeskJet_1120C, but the printer hangs at the end of any printout as if expecting more data. I'll bet in THIS case my printer is too new instead! :(
Comment by: Hypex ( 28 Aug 2018, 08:54File version: 53.3
After looking at my codes I didn't see anything amiss regarding the "LANGUAGE" command format. However one of my '[ESC]-12345X" which is a UEL command had a "[CR][LF]" following before a "@PJL" which isn't correct. Thanks to your "hacking" I can see a problem there.

As to being an option to select language, there is some support in Printer Prefs itself where such a setting should be, but I don't know if it can add gadgets. However, the driver now only sends PCL3GUI to the printer, since modern printers tend to speak it. And was written to support newer printers, so it may not be much good. Suppose if needed a classic version can be included. Or you can test the HP 1120C WB driver which is functionally the same with PCL3.

In the meantime try hacking it again and kill any CR/LF directly after "[ESC]-12345X" by filling it with zeros and leave all else unchanged.
Comment by: MT ( 28 Aug 2018, 03:24File version: 53.3
Ok, thanks!

In case this may help: after reading up a bit on PCL/PJL, I seem to have found a "fix" of sorts. With a hex editor I changed a couple of relocation offsets in the driver's binary to make it emit a somewhat different preamble for text printouts, namely


instead of


and this removes the problem, at least for my printer. Another sequence that works is


but this change can't be done in the binary without also affecting the preamble of graphic printouts (they'll always come out in greyscale if the trailing "GUI" is missing). The former trick, on the other hand, gives me a driver working as expected both for text and graphics, albeit it's of course only a temporary workaround :)

Well, I hope this information can be helpful in some way...

Just an idea: maybe you could add user preferences to the driver so one could make it use the code variant which is best suited for their specific printer?
Comment by: Hypex ( 27 Aug 2018, 16:38File version: 53.3
Sorry MT you are getting slightly rogue print out. I'll need to check my code against another to see if it differs. In the meantime disabling "Always init printer" in Printer Prefs will reduce it happening. I may need to remove the offending line and hope the printer still accepts the input.
Comment by: MT ( 22 Aug 2018, 10:04File version: 53.3
Thanks for this useful driver! I have a small problem, though -- every time
I print some text with my HP PhotoSmart 6520, the printer puts out a sheet
with the text "@PJL ENTER LANGUAGE=PCL3GUI" at the top (and nothing else)
before starting the actual printout with the following sheet.

The printout itself is ok, it's only that there's always that strange extra
page preceding it.

Is there anything I could do on my side to rectify this issue? Thank you!
Comment by: jeh ( 07 Apr 2018, 18:00File version: 53.3
Wow, this really works with my HP 2130 printer. Thanks a great deal!
Finally I can use this newer printer on the Amiga. Worked with FinalWriter at 600 dpi. Even landscape printing (didn't try color).
I tried it with AmiPDF and it worked as well, just select Workbench printer for it. This included some graphics on the page too.
Comment by: ddni ( 05 Apr 2018, 14:37File version: 53.3
Got it to print text files over my network using lpr.device
Many thanks!!
No luck with graphics or PDF yet.
Does lpr.device support graphics?
Anyone know how to cinfig AmiPDF to print using this?
Comment by: Hypex ( 20 Jun 2013, 14:58File version: 53.2
Good to hear your priner works well. Sorry for delay in response.

1.) It's possible but I don't know how it would be done nor if the driver was written with duplex in mind. Also it would need to know if duplex wasn't supported.

Apart from that if multiple pages were sent I wonder if the sending program would need to be duplex aware? As it stands each page would be sent seperately. So the driver would need to know what was being sent as a solo page and what was sent as a batch.

2.) You can try the LPR device for printing over the network. There is an OS4 poet below. It should be enough to set to the port device to plr.device after you copy it to Devs: and setup the configuration file. :-)

Comment by: kilaueabart ( 17 Dec 2012, 02:02File version: 53.2
No comments since July, so maybe no one looks at this section anymore, but the driver makes my new Officejet 6700 all-in-one work fine. Two questions:
1. Is there the remotest possibility that automatic duplexing could ever be worked into the driver? (That's the feature I selected the 6700 for, but it only works from a PC.)
2. I've printed remotely from my tablet and a PC laptop, but I assume that when I do it from my SAM, where the port device is usbprinter.device, it's always by the wired connecction. What would I set port device to in order to try printing wirelessly?
Comment by: Hypex ( 11 Jul 2012, 14:33File version: 53.2

Glad it works for you. The text wrap problem affects anything that isn't wrapped befire hand. Such as text send straight to the printer.

But, you finally get to print? Did your printer refuse to work with the standard usbprinter.device and HP Deskjet Workbench drivers?
Comment by: 328gts ( 06 Jul 2012, 15:54File version: 53.2
holy moly! I finally get to print with my HP Deskjet 1012 with usbdot4.device ! yahoo.
only issue is that the text file i printed did not fully wrap around the sentences hence only 3/4 of the sentence printed out. will play with the settings to see if i can get it to print the full line without truncated it..

great stuff Damien & many thanks!
Comment by: gregthecanuck ( 05 Jul 2012, 04:57File version: 53.2
I seem to recall some printers claiming to be 1200DPI are actually 300DPI x 4 colours = 1200DPI. Read those tech specs.
Comment by: Hypex ( 02 Jul 2012, 15:11File version: 53.1
Can I just ask you to test with the HP_DeskJet_1120C driver from Workbench? Thanks. That would be about the closest to my driver.

Also, at 600DPI, what happens if you print to a file? With either driver.

Finally, what is spoi? :-)
Comment by: McGyverPPC ( 25 Jun 2012, 19:00File version: 53.1
My start printing at 600x600, but spoi stops and says that OS4 is out of paper in the printer.
I tried several times to cancel, and also to wait, but nothing happens.
HP Photosmart C3100
Comment by: Hypex ( 24 Jun 2012, 06:31File version: 53.1
Is this the same with all 600 DPI densities from 5 to &? The only thing I can think of is that the printer may not accept that DPI with PCL3 plain. But the specs look like my C4180. My printer can do 1200 DPI like the C3100 but it didn't work in PCL3 as the output was doubled instead. Which is unlike your out of paper messages.

Did you also test the previous version?
Comment by: nubechecorre ( 23 Jun 2012, 21:56File version: 53.1
I confirm, the PhotoSmartC3100 works fine in 300x300DPI, while it doesn't work at 600x600DPI, it reports an error, it says: "no paper in printer"..
Comment by: McGyverPPC ( 23 Jun 2012, 20:57File version: 53.1
My HP_Photsmart C3100 ok in 300x300 DPI, problem on 600x600 DPI ,no paper in printer... i have paper! Why this problem?
Comment by: Phantom ( 23 Jun 2012, 11:42File version: 53.1
I have a Photosmart C4280 too. So I'll test it shortly, but suppose that it's already working. Great driver, at least we can print with modern printers. Thanks a lot.
Comment by: Hypex ( 07 Dec 2010, 23:27File version: 52.4

Ah, the update to my printer. :-)

About scanning. Honestly, I've used the scanning software on my Mac, and find it easier to do it on OS4! Simple stick a flash drive in the printers slot, SD card in my case, then tell the printer scan to card. Printer works as a USB hub and you will have direct access to the scanned files. Scan then you will have an immediate JPEG at your disposal! :-D
Comment by: Nuno ( 04 May 2010, 12:43File version: 52.4
Just to report that this driver works fine with the HP PhotosmartC4280.
Sadly, the scanning feature won't work, but that a different story... ;)
Comment by: Hypex ( 01 Aug 2007, 05:43File version: 52.4

Hello, McFly, are you there? Of course you are. :-)

That's good to know it can work over Ethernet. Thanks for that.
Comment by: McFly ( 29 Jul 2007, 14:30File version: 52.4
here work this driver (printing) with HP Officejet 7310 All-in-One, over
Ethernet :-)
Comment by: Hypex ( 28 Jul 2007, 05:33File version: 52.4

Okay then, so do we know, if a PCL 3 driver will work with this HP D5160? Do the
TP drivers give any hint? Since they are known to contain ASCII in some of the
Comment by: Severin ( 23 Jul 2007, 20:44File version: 52.4
No it's not postscript, or PCL5, I have PCL5 drivers for my tally laser in
Turboprint that's only 12k. part of the problem is HP included a catalogue /
view / print images program etc.
Comment by: Hypex ( 23 Jul 2007, 13:03File version: 52.4

Thanks for the comments guys. I'm glad you find it useful. Of course I should
thank Olaf and Detlef myself for making this driver possible. As to
compatibility. I am using a 4000 series HP printer. A C4180. The C3180 should
work just as well. To be sure look for technnical information on thr printer
regarding the printer language. If you see PCL3 GUI it should be fine, that's
what my HP supports.

BTW, that D5160, doesn't do PostScript does it? If not that driver might be big
because it might be a PCL 5 printer, that's a differnent and more advanced
commmand set. Might do vector gfx IIRC.
Comment by: Petrol ( 23 Jul 2007, 08:35File version: 52.4
Thanks for this great driver! It works nicely with my HP PSC1610. Too bad that's
Wb printing is too dark! Else good work man.
Comment by: Severin ( 23 Jul 2007, 00:12File version: 52.4
oh, forgot to add... the printers do not have a driver CD with them, just 2
manual cd's, the mac driver was 80mb. WTF? 3 times the size of OS4 for a printer
driver! eeeek! a bit different to the 35k of this driver ;-)
Comment by: anonymous ( 22 Jul 2007, 23:56File version: 52.4
oops, yes it's the D5160 and it does print directly to cd's, I do that on my mac
Comment by: Nuno ( 22 Jul 2007, 15:57File version: 52.4
Is that the "Photosmart D5160"(notice the extra D)?
If so, that printer can print directly onto CDs. Is it feasible with OS4 or am I
asking too much?
I have some local shops that have this printer, so it would be ideal! ;)
Comment by: anonymous ( 22 Jul 2007, 15:56File version: 52.4
Is that the "Photosmart D5160"(notice the extra D)?
If so, that printer can print directly onto CDs. Is it feasible with OS4 or am I
asking too much?
I have some local shops that have this printer, so it would be ideal! ;)
Comment by: Severin ( 22 Jul 2007, 12:27File version: 52.4
I don't know if it applies to your area, but apple.com (uk store) have HP
Photosmart 5160's on special offer at £19.95 (60% off) until the
end of july (I've bought 4, my mum had 2) it's cheaper to throw away the printer
that buy new refils at that price. delivery is £5 unless you buy 4
or more then it's free.
Comment by: Nuno ( 22 Jul 2007, 09:44File version: 52.4
Great stuff!
Any chance of someone posting a list of the printers available now? I (badly!)
need to buy a printer and want to know what modern ones work with this.
Comment by: Hypex ( 22 Jul 2007, 05:49File version: 52.4

It doesn't have to be a Photoprinter. I just called it that to keep the name
updated with the times, and also tell what it will work up too with. Your 697C
should be fine. Give it a shot.
Comment by: Hypex ( 22 Jul 2007, 05:47File version: 52.4

It is based on the HP_Deskjet drivers. I don't know how different they are to
the Laserjet series. Do the Laserjets do PostScript?
Comment by: racerx ( 21 Jul 2007, 23:14File version: 52.4
Does it have to be a Photoprinter? Would it work with my HP Deskjet 697C?
Comment by: blmara ( 21 Jul 2007, 21:15File version: 52.4
Nice, the graphic printing seems to work in the first tests at my HP Laserjet
1022 (USB) unlike with the previous HP LaserJet 5 driver. Though quite slowly.
But the non-US-ASCII characters like ä & ö seem to be printed
wrong, this worked in HP LaseJet 5 driver.
Comment by: Bean ( 21 Jul 2007, 21:07File version: 52.4
This is brilliant. I decided to try printing to my 940c USB printer this evening
with this driver. Within 2 minutes I was printing! I had no idea it would be
that easy!

Copyright (c) 2004-2018 by Björn Hagström All Rights Reserved