Faced with no getting-my-hands-dirty offline projects today, I decided to spend some time on various F/OSS projects that I've neglected as of late.
The morning started with a flurry CW1200 driver hacking; this time focusing on simplifying its interrupt handling. In the process I eliminated two more compile options and three bus-level virtual functions. As nice as it is to write code, it's even nicer when you delete it without any loss of functionality!
After that, I put my money where my mough was and wrote a systemd unit file for Photo Organizer's background workers. For years I've been using screen and a sudo-driven cmdline to fire them off, because I could never come up with a reliable (and portable) init script to do the trick. No longer. As an aside, systemd is brilliantly put together and worlds beyond anything that's come before. It JustWorks(tm).
Then I pulled out my notes and turned my attention to Gutenprint. The Kodak 1400's unexpected complications derailed my plans a bit, but there were still three related printers whose spool formats I'd decoded -- The Kodak 8500, the Mitsubishi CP3020D/DU/DE, and the Mitsubishi CP3020DA/DAE. They are now all supported by Gutenprint, and awaiting testing. The latter two are the ones I'm most concerned with, as I took a few liberties with the spool format.
Basically, the Mitsubishi-branded printers don't spool the data linearly into the printer; they basically write the color-interleaved data in backward chunks. Consequently, the printer can't start printing until all the data is received. To simplify things, I'm sending the data linearly in one big chunk. Hopefully it will work. We'll find out.
On that note, if there's someone out there with one or more of these printers, care to help out? Either by doing some test prints for me, or better yet, sending me the printers? :)
... and the day is far from over.