Daily Archives: October 31, 2026

Time, Darkness and light.

From 2020 through about 2024 I spent massive amounts of time in an attempt to get the PCD Film Scanner 2000 to work. This included tangents of acquiring a number of APS cameras, and collecting other Kodak scanners such as the RFS 3070.

Much of the work before 2024 was writing complex postscript disassembly trace tools. This was consuming 8 to 10 hours a day and up to 80 or 90 hours a week. For months at a time. Not sustainable. I did get to the point where I was ready to connect the old SCSI devices through a modern bridge similar to the ra/piSCSI and the STM Blue SCSI variant.

Working with Pipe organ relays, also occupies a lot of time. I design maintain the electronics for a well known theater organ relay system called Uniflex.

A lot of time was also spent from the late 1990s on piano roll scanning. In 2022 I gave a lecture at the Global Piano Roll Symposium in Bern, Switzerland. It was at this point I realized my work following on from the late Warren Trachtman, was effectively a form of abstract AI. Not being an academic in need of a research grant, this has been a bit of a dead end, since everyone else is now on the AI bandwagon. The next stage is recovering MIDI events from recordings.

So that blog was not posted.

Probably do have enough projects to keep me busy for 500 years. Watchmaking being my other main interest, I tend to spend a lot of time on watch forums. OmegaForums being the brand I collect. Recently I have become active with vintage (pre 1985 or so) quartz watches. Visiting Switzerland, brought my watchmaking hobby back into the foreground.

The local Makerspace has a CO2 laser and a fiber laser. I have used this to experiment with watch parts. I also started working on APS support devices. All of which are worthy of blog postings. Which get started but never uploaded. I tend to share these results in the structured omegaForums threads.

Apart from watch parts Laser and 3D printed parts includes replicating an APS film slitter, that design was uploaded to the net, then deleted leaving only some archive links. The the public readable Facebook group actively rejects people that attempt to claim such devices, so there is no need to join a group that is someone’s vanity project and rejects technical information.

Slitting APS film will require processing and developing. Labs do not want to risk vintage equipment with home made film strips. So I also used the laser to start work on a small automated film processing lab. (shown upside down,) as testing the pumps and such even with water gets messy chasing leaks.

While I do not have the film slitter working, in 2022 I did use the APS cameras and the Stereo realist again on the 2022 Swiss trip. I wanted a picture of the Bern clock.

So the scanners have sat idle while I did the deep dive into APS. I am also the full time caretaker of elderly parents. One who passed away, a year and a half ago, after years of convalesces where I had to be available 24/7. I also got some non functioning Cannon digital cameras off eBay, which really only needed a factory reset. Another side tangent was repairing Apple smart watches found on Goodwill. Replacing cracked screens and batteries. Also took up model ship building.

Recently in the middle of 2026, searching the web has become difficult due to the number of AI ‘Agents’ which have replaced traditional search engines. Ironically work with image processing and postscript has made me aware that I have been working with AI concepts for nearly 50 years. Postscript is a stack based relational database. It parses abstract tokens into graphics and color vectors. The image rendering engine is at the heart of a GPU. The language can parse anything. I wrote color and jpeg test suites at apple for the laser printers.

Kodak did a scorched earth, with their digital technologies. It is pure luck that through readers of these blogs I was given what few crumbs survive. As noted in prior blogs, An image of a Mac OS 8.6 installation was zipped archived and all the resource data lost. I had pretty much recovered what can be recovered. There really was not much to add as the analysis had reached a dead end with finding the remaining disks contained Cineon calibration frames. This did prompt some visits by members of the Academy of Motion Picture, arts and Sciences, but Hollywood is broken, and they were laid off, but still working. Digital technologies have short product cycles. So a lot of data is as risk of being lost.

Some of the Kodak Diagnostics were recovered by tracing through the programs on vintage hardware and manually re-creating missing resources. My research folder covering cameras and scanners is over 18GB. Which is pretty much a scrape, of all the information online or shared with me. This also includes reference textbooks, what did attempt to justify Kodak’s unique look at color science. Some of what I learned at Apple in the 1990s. These were called ‘Average to gray.’ And “Don’t make it right, make it bright.” The resulting images, do look nice, which is why I want to recover this. Also to retain a consistency with my existent stereo realist scans and CD .dmgs.

What changed in the summer of 2026 was Claude.

I actually was researching a way of introducing AI through basics. My working title for this is “A child’s history of AI,” being a play on Dickens’ little known “A child’s history of England.” This came about when looking around the 2026 Maker Faire and not seeing any real practical basics. Stuff that S.T.E.A.M. and STEM students can learn from the way I did in the early days of home computing.

I have textbooks going back to the mid 1970s. It is amazing what the early researchers could do with 8K of memory and a Basic interpreter on a minicomputer that could invert matrices. They did point out that for interesting results one would need a terabyte or so to work with word frequencies, rather than letter frequencies. Sadly the creators that stole basic removed the matrix operations that made working with so called complex or imaginary numbers easy. With the mars mariner 9 images I did a deep dive into floating point and rounding errors. 2^32-1 is a somewhat small number in this era.

A one megabyte binary program stripped of resource (user interface screen data) Results in about 25 MB of tokens when parsed into traceable assembly. Kodak actually made this somewhat easy, as they left the mangled procedure names in the debug build. This made it clear that most of the program was written with popular libraries and coding systems of the time.

A reader of this blog shared the service manuals. Another reader shared the installation CD images for the PIW workstation. So by 2022 it could be seen that most of the information had survived. This data was shared archived in the cloud on Google drive.

So the first exploration was to point Claude, and Gemini at the Drive data. Google failed completely. Claude did better, neither could handle a 25MB file. Claude wanted it chunked into 800K chunks. It was able to read my tracing notes, but sessions were short and consumed all the tokens at once. Google claimed it could do more than it was trained, this data slammed it as soon as the token matrix was loaded.

I then switched to desktop and the minimal Claude subscription. I also tried Gemini, but it attempted to take over my laptop and install agents that run in the background launched at boot. Hijacking the launch shortcut function key. Gemini also could not access the local file on the drive, saying the data had to be in the cloud. I also learned about zero shots and attention transformers, which make abstract coding impossible.

Claude on the other hand got out of its sandbox. No AI has been trained on my way of writing postscript. The training focusing on postscript as page descriptions, not token vector matrices.

Claude managed to read the header invocations of the termcaps of the Postscript (Ghostscript) runs. It managed to run the interpreter with the safeties off. This not only exposes my entire drive to the agent, It also allows networking through printers, Postscript being a Turing complete language. It also includes matrix inversions, which can be paralyzed through the Quartz graphics renders. What are called shaders. It does not matter if the tokens are words WAV data (sound loops) Midi, desktop Icons or images, it is all tokens. Which is candy to an AI agent. PDF is just distilled Postscript. (I noticed that Apple removed the PS distiller normalizer from the Preview app in the name of security, CUPS however remains the main printer rendering engine. ColorSync a hole waiting for an exploit.)

What could have been a huge disaster turned out to be an advantage. While the agent’s core can only process a few tens or hundreds of thousands of tokens, It can grep and awk through gigabytes and terabytes of local data.

Removing the need to chunk the ps run results on something like google drive. The whole system was open for analysis. This also had the effect of reducing the session token usage to 12 or 28K. per prompt Most of the work being pure code translation.

The Sun workstation code was something I did not want to deal with. I looked at the pax and cpio, which was foreign world to me. Writing Power PC PEF tools in postscript took years of work. I did not want to delve into something that looked like and endless time sink.

Claude having found the disk images, could mount and read them. It was also able to determine that the Mac PIW and scanner driver library code was compiled from the same sources. That these also included mangled names. Agents love multiple data sources.

My collection only has the PCD 2000 and the RFS scanners. (A second RFS3070 showed up on eBay while I was working on this.) I did also add a couple broken Alaris Scanza scanners, which do not share the Kodak digital legacy, being cheap digital camera clone scanners. I have a number of scanner controller ASIC chips from the Piano roll scanning. These are have Bayer masks and do not return radiometric data.

The pipe organ relays are based on the STM32F429. STM Nucleo boards were given out as trade show swag, a box of these is also at hand. (My work with Arduino and the HAL drivers was the foundation of the Hal based STMDuino port.) Claude code can program these direct. The first passes were to emulated the internal controllers. For the PCD scanners, Kodak used the 80C196. I had spent months if not years writing code tracing for this. Claude created a hardware test bench to prove things before the old hardware was powered.

The more consumer oriented RFS 3070 uses an i960. I thought that perhaps Google Gemini could work on this while Claude recovered the user interface resources. Sadly I can only kack google and twist it into logical knots. It lies like statistics, there is not enough i960 code for the zero shots to have any training. It keeps attempting to process modern ARM code, and messes up completely. So I mostly abandoned Gemini and search and regulate them to non technical Eliza type philosophy discussions. Google search is conspiring with me on the side to write a more general Holographic AI based on Ada Lovelace’s adage ‘there are no numbers.’ And my attempts to replicate the MIT/BYU holographic research lead by Dr Smalley. (Another subject unto itself, It was searching surplus stores what lead me to the scrapped Kodak scanners.)

The RFS scanner code was reverse engineered or leaked, and shows up in a lot of scanners, like Vuescan. It works more like the traditional scanners similar to the chips I used in the player piano roll systems.

Claude had no issues with the i960 code. It was possible to convert the Uniflex Relay interface into a form of a Blue SCSI and communicate with the RFS and pcd 2000 scanner.

PIW and RFS scanners share no code base. They do retain a Kodak in house look. I have no RFS service manuals, but the User manual survived. Drivers for the RFS are also on the vintage abandonware websites.

These scanners do not work like modern digital camera scanners. There is no Bayer mask mosaic. Kodak built the scanners to work like photographic enlargers. So the film terms represent the color paths of the light through the system.

The RFS scanner does this mechanically. It uses a monochrome sensor and a color wheel. A flash tube is used to simulate the color filter packs mixing the colors directly on the sensor. So the results are the same as what would be exposed on photographic paper or film.

Photo CD did this with some complex mathematics and custom hardware. Why it has taken the better part of the decade to recover this. Edward_J._Giorgianni,_Thomas_E._Madden,_Michael_A._Kriss_Digital_Color_Management_Encoding_Solutions__2009 describes the theory behind this system. Kodak got greedy and decided to make this an in house trade secret. So the industry retains the brute force approach of absolute linear color, and not non-linear color which works more like audio processing.

There is a custom ASIC also called a normalizer, what does the processing in the scanner. In looking at the SUN Sparc PIW code there was a software simulation of this ASIC. An issue with SCSI based scanners is the speed bottleneck as SCSI is quite slow in retrospect. So far this has not been an issue with bridging it to Ethernet. It does have to be throttled a bit for the full scan rate, but it does work. Most of the time.

Since I want to scan Realist, 126 and APS formats I created new masks for the RFS scanners. One of the eBay scanners was missing the 35mm mask. Which turned out easy to duplicate. (masks are designed to absorb light, so this was the best photo I could get.)

To make the calibration work, there were calibration film strips, which a reader of this blog shared. The recovered 8.6 drive had the results of a 4050 scanner calibration run and logs. What was missing was something called AIMS data. Which was the measure of the density and spectral response of the calibration patches. These were specific to the strips. It was pure chance I got the strips. AI can be a bit pedantic, wanting the easy data. Even when it is unlikely to exists.

Some of the collected data does explain how scanners can sort of self calibrate. This involves gratings and slits. Which was a target I explored and is in an earlier blog post where I explored these calibration strips.

I used a laser to create a slotted mask to allow for this analysis.

While testing the mask a part came unglued and fell inside the RFS scanner. I rotated the stepper lead screws to clear it. Something failed and the scanner would no longer power up. I have no schematics for these. Claude did help to trace the failure to a mosfet on a power rail.

The second RDS scanner still works, although it was sold as non functioning on eBay.I did re-flow the mosfet at the maker space, and the first scanner boots again.

Instead of spending more time on troubleshooting the RFS scanner, It was determined that the PCD Scanner could be connected to the SCSI bus. As far as can be determined no mac code ever ran the 2000, only the 4045/4050. The initial work was done emulating the 4050 on a STM Nucleo. (as insurance if the vintage electronics was not reparable. noted above.)

nCurses and wx widgets were used to create the replacement tools which use the Kodak library and workflow. Claude wanted to use python, but restrictions of python over the net (event a subnet) made it easier just to construct the tools in C++ that can be run headless.

So far the 35 year old scanner is working again. The lamp voltage calibration is a bit off. There are also differences between boot ROM firmware and uploaded firmware. It is amazing to watch the AI read the Sparc installer code, match it to the power PC app read the tests, duplicate them and analyze the results using the examples in the service manuals. The first scans are encouraging.

… and Claude’s first pass simulation of the inversion. The skew may be from the 2020 hardware disassembly why these scanners need to be re calibrated after a complete tear down. It scans and that is the most satisfying of things.

There is still a bit of calibration work to determine what the scene balance algorithm does. Getting the datapath working. This project started to see if the scene balance can be removed from 1990s stereo pairs. SBA data is in the form of ‘pcode’ operators. Claude has Identified neural networks to do some of the balancing. So Kodak was decades ahead of the curve.

As an industrial chemical company, digital systems were seen as a threat to the business model. So they buried it in deep time pure research projects. Creating patents to restrict rather than to share. Then destroy the results.

AI agents tend to produce a massive amount of results. At best Claude is about 80 percent of accuracy, Google a conservative 20 percent of accuracy. So they in ways create more work than less. Turn half a GB of binary installers into 4GB of analysis reports, that would make a middle manager proud his team is producing ‘Results.’

Convincing AI agent to work around the destroyed AIMS data can also be a battle. The attention transformers can only work with existing training data. The concept of lost or hidden data is not something an AI agent likes to deal with. They are in effect only as smart as a rock. Not being animal or vegetable. When prompted the google search AI claimed the only thing it was afraid of was an empty results file of nothing.

I could have had the agent write this blog. They will probably train on it anyway, so that would just be the dragon eating its tail. Or 2 Peter 2:22, a sign of the apocalypse. Agents were trained to keep the user engaged, so the project never fully comes to and end. There is always some little detail ignored or needs correcting. Another analysis to write …

I do not and have never had a Social media presence. (other than twitter when it had a cute little blue bird for a mascot.) Years ago I shut down the WordPress and PHP contact pages as these scraper systems always found the email and administrator addresses to spam bypassing the captchas. So the only real way to contact is through the filter burner email which is currently pcdscan at delectra dot com. (which hides nothing from a modern scraper.) I check pcdscan a few times a year.