Skip to content

eatfrog/PakonClient

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Intro

The Kodak Pakon has a SDK/API called TLX installed on the machine. This is a COM-server which contains all the low level functions needed for using a Pakon through software. At some point, there probably was some documentation distributed for using this as a client, and part of that documentation an example application came along, known as the TLXClientDemo. The UI is very bare bones because the Pakon developers just shoved exactly everything the COM-server was capable of doing in there, with a checkbox or radio button for every setting.

Windows COM is old and forgotten but was pretty cool for its age. It is actually possible to do remote COM calls from another machine. And during the early 2000s the Pakon team probably thought that film scanners would have a long future yet, little did they know.. The SDK was probably not very popular among commercial users, just getting started was a bit too much and the payoff was that you could build your own software for scanning film. At some point the Pakon team saw that Microsoft .NET was gaining some serious traction, and being a programming language that is faster to get started with, they built their own interop layer between C# and the COM-server. A C# lib was probably also distributed at some point, luckily the internal Pakon Troubleshooting tool uses this lib and so it can be found as the Pakon.dll in the PTS directory.

Through a disassembler it is possible to reverse engineer the Pakon.dll and get some well needed clues as to how to work with a Pakon through software. And through the reverse engineering software Ghidra it is possible to gain some insights into TLX.dll.

What we know

  • TLA, TLB, TLC, TLX are COM DLL:s that TLXClientDemo interfaces with. Before TLXClientDemo there was a TLAClientDemo. There is a reference manual for TLA in the docs folder.
  • TLXClientDemo is a demonstration app that you can run the Pakon without using the official software
  • Pakon.dll is a .NET library for using TLX that can be found in the PTS folder. This can be quite easily reverse engineered with for example ILSpy
  • But development for Windows XP is tricky today, best to run an old version of VS2010 on the same virtual machine as the Pakon is running on

How far have I come?

It is possible to initialize TLX and run commands towards the TLX API. It is currently possible to try it out to fetch your model information and serial number. This is just a proof-of-concept to show that it is indeed possible to talk to your Pakon scanner with home built software.

Possibilites maybe?

  • If the drivers and COM-server can be installed on a newer machine, it would be possible to run a Pakon on something more modern. Maybe not Windows 11 but even 7 would be an upgrade
  • Remote COM-calls from another machine, have the pakon machine to run headless
  • Streamlined client for getting raw scans, together with my raw converter you could reduce the number of clicks a lot to get a good nice 16 bit scans

Important links Kai Kaufman has made important progress on reverse engineering the pakon driver and have gotten them to work on 64bit Windows.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages