philpem.me.uk Polaroid Digital Palette film recorder  

Polaroid Digital Palette film recorder

In July 2012, I picked up an unusual machine - a Polaroid HR-6000 "Digital Palette" film recorder, complete with a copy of the RasterPlus 95 software (version 1.0), the 35mm standard camera back and a Polaroid pack-film camera back. Unfortunately RP95 doesn't work very well on current versions of Windows (it can print image files on XP, but the RIP driver won't work). In any case, most of my network is Linux based, and I don't have enough space to dedicate a PC to run a film recorder.

Being the crazy engineer I am, I figured I could reverse-engineer enough of the driver to build my own driver. I'm currently in the early stages of this process, and am trying to gather documentation. Specifically, but not limited to:

  • the Digital Palette Interface Toolkit SDK. This was a development kit which allowed developers to write software which could drive the Digital Palette. I'm aware of two versions of the driver - 4.8 and 6.0. Others may also exist.
  • the Parallel Port Interface Specification Manual and SCSI Parallel Interface Specification Manual. These cover the commands which can be sent over the Centronics and SCSI interfaces, respectively.
  • Any information on the film table file format (ideally enough information to produce my own LUTs for new film types, e.g. Fuji FP-100C).

Who worked on the Palette series?

I'm interested in contacting people who have worked with (or developed software for) any of the Digital Palette series, or who have software discs or documentation which they could provide copies of.

A bit of digging suggests the following people were involved in the development of the Digital Palette series and the Toolkit - unfortunately I have been unable to find current contact details for them.

  • David J. Hemingway (hemingd@polaroid.com / dheming@erols.com)
  • Robert F. Hartmann - scanning system patent (US6232904)
  • Timothy R. Crawford - scanning system patent (US6232904)
  • Joseph V. Demarinis - US5978008 with Timothy Crawford
  • Dean Gross - R6000 film back logic board, CI/HR exposure control, US4742397 exposure system patent
  • Guillermo S. Ferla - collaborated with Dean Gross on US4742397
  • Patrick J. "Pat" Hegarty - R6000 film back logic board, scanning system patent (US6232904)
  • Thomas H. Campbell

As far as I can tell, the above persons were all based at Polaroid's offices in Massachusetts.

Things known so far

From what I can gather, the following Digital Palette models were produced:

  • CI-3000 and CI-3000S (the S suffix indicates the presence of a SCSI port in addition to the Centronics port)
  • CI-5000 and CI-5000S
  • HR-6000 and HR-6000SE (I am unsure how these differ)
  • ProPalette 7000 (35mm-only, but higher resolution than the HR-6000)
  • ProPalette 8000 (35mm, 4x5 and 8x10, but calibrated and aligned in the factory with a specific camera back).

The following software is believed to have supported the Digital Palette series:

  • DOS: Polaroid ImagePrint
  • Windows 3.0 and 3.1: Zenographics SuperPrint (v2.0 series), Polaroid edition
  • Windows 95: GraphX RasterPlus95 and Polaroid Palette Export
  • Mac Classic: Polaroid Palette Export, RasterPlus and SiPrint Assistant
  • NeXT: eXTRASlide -- see here for more information
  • Amiga: ASDG Art Department Professional
  • Atari ST: No software known, but this platform is listed in Polaroid's marketing literature.
  • SGI IRIX: Mogens Kjaer developed a driver for SGI IRIX workstations - google groups. The status of this driver is unknown.

Two software-based service tools are mentioned in the Service Manual - GENTEST and DP2DIAG. These were supplied on the Digital Palette Test Software disk, which was distributed under Polaroid part number (Tool number) 13437.

Software and documentation

Things known about the Toolkit

  • At least two versions of the Toolkit exist: 4.2 and 6.0. 6.0 is included with Polaroid Palette Export V2.0 as "PFR.DLL"; 4.2 is built into the Polaroid "FWLOAD" firmware update utility.
  • Some of the Toolkit functions include: DP_GetPrinterStatus, DP_InquireError, DP_ConfirmBuffer, DP_ExposureWarning, DP_Send, DP_Get, DP_ClearError, DP_Reset, DP_GetConfigPath, DP_Sleep, DP_FileOpen, DP_FileRead, DP_FileClose, DP_RLEncode, DP_PathParse, DP_InitPrinter, DP_InitPrinterMIN, DP_firmware_newer_than, DP_FILE, DP_DATA
  • Some source files included in the Toolkit were:
    • STKLEN.C
    • FWLOAD.C
    • DEMOSUP.C
    • HPRSEND.ASM
    • DPINQUIR.C
    • DPCOMM.C
    • DPTKUTIL.C
    • PATHPARS.C
    • RLENCODE.C
    • DPINITM.C
  • The DP_DATA structure is believed to contain the following fields:
    • sDeviceName
    • iPort
    • iHorRes
    • iVerRes
    • iLineLength
    • iHorOff
    • iVerOff
    • cIp
    • cIu
    • cBu
    • cCal
    • cLiteDark
    • ucaExposTime
    • ucaLuminant
    • caColorBal
    • caCamAdjust
    • saFilmFile
    • saFilmName
    • ucaFilmNumber
    • iVertHeight
    • cServo
    • cBkgndMode
    • ucBkgndValue
    • ucUl_corner_color
    • ucUr_corner_color
    • ucLl_corner_color
    • ucLr_corner_color
    • ucaCtTable
    • cImageCompression
    • ucStatusByte0
    • ucStatusByte1
    • uiExposedLines
    • sStatusMsg
    • ucOptionByte0
    • sOptionsMsg
    • caAspectRatio
    • iBufferFree
    • iBufferTotal
    • cBufferMsgTerm
    • ucCameraCode
    • sCameraMsg
    • iErrorNumber
    • sErrorMsg
    • iErrorClass
    • cDPinitialized
    • cDPfound
    • cpDataPtr
    • cpMsgPtr
    • uiShortTimeOut
    • uiLongTimeOut
    • uiTimeOut
    • cWaitForBuffer
    • sDPcommand
    • iNumDataBytes
    • iFilterColor
    • sTKversion
    • unFileIO
    • line_double_threshold
    • iMaxHorRes
    • uitimes_out_of_data
    • uiAutoluma_whoops
    • iS_series_installed
    • cExp_Fix_Sticky
    • cExp_Fix_Type
    • uiExp_Fix_Min_Scans
    • uiExp_Fix_Max_Luminant
    • uiExp_Fix_Min_Hres_To_Diffuse

Things known about the Palette series

  • The HR-6000 is essentially a "design re-spin" of the CI-5000. The VRAM has been replaced with an 8-bit-wide part and some gate arrays have been replaced with alternate parts.