DiKon: PCL3 Raster Firmware for the Kodak Diconix 150

DiKon turns a 1986 Kodak Diconix 150 into a printer that takes a normal PCL3 raster job over Centronics. No driver to install, no PC-side converter, no board mod. The whole interpreter lives inside the printer, in a 27C256 EPROM you can pull, reflash, and put right back.

I wrote the interpreter from scratch in NEC uPD78C10 assembly and patched it into the stock Diconix 150 firmware. The patch, the build tooling, and the full documentation are all up on GitHub.

Example output, RND2 Labs test page rendered from the DiKon firmware

Get the patch

Get DiKon on GitHub

Everything lives there: the IPS patches, apply_patch.py, the build scripts, and ten docs covering the board, the memory map, the parser design, and the legal posture. This page is the short version.

What you need

  • A Diconix 150, bone stock, no board mod needed
  • An EPROM programmer (TL866, T48, MiniPro, whatever you already have)
  • A stock ROM dump pulled from your own printer’s socketed 27C256 (IC7)
  • Python 3, or a GUI IPS patcher if you don’t want to touch a command line

How to apply it

Pull the 27C256, read it, and check the MD5 comes back a258fa60ac1611b885fd32aad2dd2b58. That’s the only stock dump this patch was built against.

Then, with Python 3:

python patch/apply_patch.py your-stock-dump.bin --target v5i -o out/

It checks the stock MD5, applies the patch, checks the result, and writes both a 32 KB image for a 27C256 and a 64 KB doubled image for a W27C512. If any checksum is off, it refuses to write anything. No Python, no command line? The full patching guide on the repo covers Lunar IPS, Floating IPS, and the online patchers too.

Pick v5i or v5

They print exactly the same. The only difference is what comes up on the power-on self-test page. v5i shows a DiKon banner, RND2 Labs, the firmware version, the date. v5 shows the original stock Kodak page. Most people want v5i.

Whichever build you burn, socket it, drop it back in, and print a self-test page before you trust it with a real job.

Printing to it

Once it’s flashed, the printer looks like an HP DeskJet 500 to anything that talks PCL3 raster at 300 dpi:

  • Windows: the stock HP DeskJet 500 driver, nothing to install
  • Linux / macOS: Gutenprint, the pcl-500 model
  • Android: NokoPrint, HP DeskJet 500 (Gutenprint) or Generic PCL4 mono

Output comes out at the printer’s native 192 dpi vertical by 1152-dot full carriage width, decoded and re-interleaved on the chip. There’s no software on the PC side doing that work anymore. There never has to be again.

The legal shape of this

The assembled DiKon image is about 93.7% unchanged Kodak code. Eastman Kodak holds the copyright on that, and RND2 Labs can’t redistribute it. The 6.3% that’s mine, five small patch sites plus the self-test code and text, ships as an IPS patch that contains none of Kodak’s bytes. That patch, the tooling, and the docs are MIT licensed and freely distributable. You supply your own stock dump, read from a printer you own. Full reasoning is in docs/10-legal.md on the repo.

The usual caveats

This is supplied as-is. There’s no warranty and no support queue. I built it and bench-verified it on my own printer, and it works on mine. Read your own ROM before you do anything else. The tool won’t write a bad image, but it also can’t know your printer if the checksum doesn’t match.


Rob streams live repairs and builds every Tuesday and Saturday at 7pm Eastern on Twitch. His current series is Shelf Life, pulling broken hardware off a ten-year shelf and not stopping until he knows why it died. Premieres September 12, 2026.

All links | Support on Ko-fi

Scroll to Top