The HP C2089A “PostScript Cartridge Plus”, a 1991 add-on for the LaserJet II/III, adds PostScript Level 2 support through Adobe’s own reference interpreter (version 2010.118) on a 2 MB ROM.
Thirty-five years on, that ROM is still a current PostScript implementation: it renders the language correctly, and the language hasn’t changed. We have Ghostscript today, but this is Adobe’s own reference implementation! Old code is not always retro code: Why not use it productively today?
retro-ps takes that ROM, emulates the M68K it ran on, fakes the LaserJet mainboard around it, and runs the result on the command line — or in the browser at pagetable.com/retro-ps. Drop a .ps file onto the page; the cart’s own rasterizer renders it client-side. There is no server.
Hardware details
The LaserJet III is the host. Its formatter board has a Motorola 68000 at 8 MHz, 1 MB of system RAM (expandable to 4 MB), a cartridge port that maps an external ROM into the CPU’s address space, and memory-mapped registers for talking to the print engine. The C2089A “PostScript Cartridge Plus” plugs into that cartridge. The PostScript interpreter, fonts, halftone, and banding all run from cart ROM, working out of formatter RAM.
Emulator Internals
The cart was built to drive a LaserJet III: 300 DPI, fixed paper sizes, 0.25″ hardware margin. The PostScript interpreter inside is general — those constraints are the printer’s, not the language’s. retro-ps lifts them: any DPI up to the cart’s clip cap, any paper size, any halftone frequency, no margin. (--lj3 puts the original constraints back.) A few things made that work:
- CPU and RAM. The emulator’s 68020 sees more memory than the original 68000 could address. 16 MB of RAM here. That headroom is what lets the cart render high-DPI pages without rewriting its allocator.
- No mainboard, no engine. We have the cart ROM, not the LaserJet’s mainboard ROM, and no print engine. The emulator stands in for the soft-traps the mainboard provides (printer-model byte, IPC byte stream, engine-status polling) and fakes the engine-done interrupt so the cart’s state machine moves on.
- Halftone scaling. Adobe hand-tuned the cart’s halftone cell for 300 DPI; above that the default cell renders too sparse and grayscale fills look chalky. We inject a DPI-scaled
setscreenprolog. - Pixel ceiling. The PS interpreter’s
clipoperator caps content at about 16,000 device pixels per axis. This is a limit in Adobe’s code; the practical DPI max scales with paper size (≈ 1450 DPI on Letter).
Future Work
- Other cartridge ROMs. Pacific Page P·E would be the obvious next target.
- LaserJet 4M and later. Same Adobe code, different CPU: the 4-series formatter is Intel i960-based with PostScript Level 2 baked into the formatter ROM — no cartridge.

The is a fascinating series: Postscript always seemed complex and yet this is a good reminder that it was all achievable on 68k CPUs.
What happens if the font isn’t available on either the PS cart on any font cart? At the time, was it possible to embed the font into the .ps file and load into printer RAM? If so, would there still be enough RAM to raster the page in higher DPIs?
Since you also have good knowledge of GEOS, did the Postscript printer driver that was offered simply take the layout in GeoPublish etc and figure out the PS code using nearest equivelant fonts? If so, that still seems quite remarkable.
I found your blog and really enjoyed reading it. It was easy to understand, even for me. You explained everything very clearly.
I work for Oscorm Digital, Oscorm Digital is an IT services company that offers different services. One of our services is Brand & PR Services. Brand & PR Services improve brand recognition by aligning communication, media outreach, and public perception with overall business objectives.
Finding the right Walking Shoes Plantar Fasciitis Kissimmee can significantly reduce heel pain and improve daily comfort. The best options offer strong arch support, cushioned soles, and shock absorption. When choosing Walking Shoes Plantar Fasciitis Kissimmee, focus on proper fit and stability to prevent strain. Quality walking shoes can ease pressure on your feet, support recovery, and help you stay active without discomfort.