2

PostScript Cartridge Plus for HP LaserJet III

 1 year ago
source link: https://www.pagetable.com/?p=1673
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

The HP LaserJet III laser printer from 1990 used the “Printer Command Language” PCL 5 by default, but could be upgraded with the “HP PostScript Cartridge Plus” cartridge, which contained 2 MB of ROM with Adobe’s PostScript Level 2 rasterizer. Let’s look at the ROM contents and some of its hidden gems.

postscript_cartridge_plus_case.jpg

Cartridge

The cartridge is about 9×14 cm in size.

postscript_cartridge_plus_case_front.jpg

postscript_cartridge_plus_case_back.jpg

The front says

HEWLETT PACKARD

PostScript Cartridge Plus

ITC Avant Garde Gothic®
ITC Bookman®
Courier
Helvetica®
Helvetica-Narrow
New Century Schoolbook
Palatino®
Times®
ITC Zapf Chancery®
TIC Zapf Dingbats®
Symbol
C2089A ©Hewlett-Packard 1989, 1990, 1991

HP
LASERJET III
POSTSCRIPT®

The back says

Adobe and PostScript are registered trademark of Adobe Systems
Incorporated in the U.S, and other countries. Helvetica, Palatino and
Times Roman are registered trademarks of Linotype AG and/
or its subsidiaries in the U.S. and other countries. IT Avant Garde
Gothic, ITC Bookman, ITC Zapf Chancery and ITC Zapf Dingbats are
registered trademarks of International Typeface Corporation in the
U.S, and other countries.

Board

postscript_cartridge_plus_board_front.jpg


postscript_cartridge_plus_board_back.jpg

The board contains 6 74-series logic chips:

  • 1x SN74ALS139N: Dual 2-to-4 Decoder/Demultiplexer
  • 4x SN74ALS244BN: Octal Buffer and Line Driver with 3-State Output
  • 1x SN74LS32N: Quadruple 2-Input Positive-Or Gates [marked as HP part number 1820-1208]

and four 512 KB mask ROM chips of the type Fujitsu MB834200B-15 (27C400 pinout). They are all marked with

© 1991 HP-BOISE
© 1984-90 ADOBE
© 1981 LINOTYPE AG
© 1991 FUJITSU

These are the verbatim dumps (adjacent bytes are swapped):

This is the combined (byte-swapped) 2 MB ROM image:

HP PostScript Cartridge Plus C2089A ROM, MD5 8a5d1f66ab1624e7188fc07154f4224d

The ROM image starts with a signature of “SYST” and the following messages at 0x30:

V9H-18f PSCRIPT
09.H
Copyright © Hewlett-Packard Company, 1991. All rights reserved.

The ROM contains Adobe’s PostScript Level 2 rasterizer compiled for the 68000 CPU, the PostScript base fonts as well as some LaserJet-specific software (messages, errors and settings texts for the 15 char display in several languages).

PostScript Files

There is also some PostScript source code in the ROMs!

(The missing %! file header has been added to the downloads.)

Since this is printer-specific PostScript code, it may not work with computer-based rasterizers, so let’s go over them one by one.

FONTPAGE

This is “FONTPAGE” converted to PDF using GPL GhostScript:

fontpage.pdf

fontpage.png

The PostScript code contains the product operator, which returns the name of the printer, so the second line – “GPL Ghostscript printer” – would read “HP LaserJet III printer” on an actual LaserJet.

TEST PAGE

“TEST PAGE” prints various internal printer settings which are unsupported by computer-based PostScript rasterizers, so some lines had to be removed for the file to work. These are the files hacked for different rasterizers:

(The almost identical contents of Acrobat Distiller 5.0 and Apple’s PS to PDF converter built into macOS (down to the internal version number!) is no coincidence: Apple’s converter is in fact a licensed “Adobe Normalizer 5.0”1, the same engine powering Distiller 5.0.)

There is a second page which only prints if the product is “HP LaserJet IIP” or “HP LaserJet IIIP”:

test_cleaning.png

STARTUP PAGE

startup_page.png

There is no such device as a “LaserJet IIx” – this is what the PostScript code falls back to if the product is none of these:

  • “HP LaserJet IID”
  • “HP LaserJet IIP”
  • “HP LaserJet III”
  • “HP LaserJet IIID”
  • “HP LaserJet IIIP”

Tests for these can be found across all PostScript code in the ROM. The IIID (“duplex”) and IIIP (“personal”) and variants of the LaserJet III. HP never offered PostScript for the LaserJet II series, so it is unknown why these product names show up in the ROM.

Future Work

There are several open questions that might be interesting:

  • What’s up with PostScript for the LaserJet II?
  • Did the cartridge extend the printer’s internal ROM or replace it?
  • What other PostScript features are supported that are not official API?
  • What is the computer inside the LaserJet III like? Can we emulate it and run this rasterizer on a computer?
  • What is the pinout of the cartridge connector?

  1. strings /System/Library/PrivateFrameworks/PSNormalizer.framework/Versions/A/Resources/PS.VM | grep -i Adobe


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK