Modding the Kodak Reels 8mm Film Digitizer (Firmware Hack)

Joe90

New Tinkerer
Jan 13, 2025
18
2
3
Thanks! For my model A, it now successfully flashes.

But while it does try to record, and the device gives no clear errors (it even says a movie file name when you press stop) - it seems the files don't save on the SD card.

Here's the readout from the console which may provide some clues, I see a lot of errors. this was with "P0 (A)", I'll try another:
View attachment 19563
Ah that's really interesting. It looks like the encoding takes too long with that setting.
 

Joe90

New Tinkerer
Jan 13, 2025
18
2
3
FYI - QP10 works, but QP5, after a few moments, gives the same "ERROR!" calls in the serial monitor. It will save a file to the SD card, but it doesn't do it properly so it won't open with VLC or QuickTime.

I'll do some recordings of my regular firmware and the QP10 for direct comparisons and post some still shortly.
That's brilliant. I'm glad one of them worked. I'm looking forward to seeing the comparisons.
 

Mac84

Administrator
Staff member
Founder
Sep 4, 2021
225
277
63
New Jersey, USA
www.mac84.net
Ah that's really interesting. It looks like the encoding takes too long with that setting.

Yeah, here are two near identical recordings. The one with my standard modded firmware (Movie 20) versus the QP10 (Movie 17): https://drive.google.com/drive/folders/1xizA1qN5kcgCmOA1dha1xsCl_uJeyLq2?usp=sharing

Note: Due to the firmware being uploaded, these are set at the default picture values, aka Sharpness set to "0.0".

Also attached here are some stills, I see a little bit of difference, but it also may be my imagination :)
 

Attachments

  • Still B - FW_A Standard.png
    Still B - FW_A Standard.png
    1 MB · Views: 15
  • Still B - QP10.png
    Still B - QP10.png
    1.2 MB · Views: 15
  • Still A - QP10.png
    Still A - QP10.png
    1.2 MB · Views: 14
  • Still A - FW_A Standard.png
    Still A - FW_A Standard.png
    1.1 MB · Views: 14
Last edited:

Joe90

New Tinkerer
Jan 13, 2025
18
2
3
Yeah, here are two near identical recordings. The one with my standard modded firmware (Movie 20) versus the QP10 (Movie 17): https://drive.google.com/drive/folders/1xizA1qN5kcgCmOA1dha1xsCl_uJeyLq2?usp=sharing

Note: Due to the firmware being uploaded, these are set at the default picture values, aka Sharpness set to "0.0".

Also attached here are some stills, I see a little bit of difference, but it also may be my imagination :)

Thanks very much for doing that comparison! No, it's not a "night and day" difference like I saw with the Somikon scanner. However, you can see all of the film grain with the QP10 firmware and with your standard firmware the grain is causing tiny rectangular shapes which are taller vertically (blocking artifacts). I don't mind doing the mod to Firmware C if you're interested.
 

Mac84

Administrator
Staff member
Founder
Sep 4, 2021
225
277
63
New Jersey, USA
www.mac84.net
Thanks very much for doing that comparison! No, it's not a "night and day" difference like I saw with the Somikon scanner. However, you can see all of the film grain with the QP10 firmware and with your standard firmware the grain is causing tiny rectangular shapes which are taller vertically (blocking artifacts). I don't mind doing the mod to Firmware C if you're interested.
I see, very interesting! :)

I only have FW A and FW B units, so sadly FW C is something I can't test.

However, I'm curious, QP10 works and gives this flags every once in a while. I wonder if it's calling out that there's a delay between the capture and writing to the SD card? I suppose small steps, say QP "7" maybe would be good to try (a halfway point between QP10 and QP5) but I don't know if it would be worth it.
 

Joe90

New Tinkerer
Jan 13, 2025
18
2
3
I see, very interesting! :)

I only have FW A and FW B units, so sadly FW C is something I can't test.

However, I'm curious, QP10 works and gives this flags every once in a while. I wonder if it's calling out that there's a delay between the capture and writing to the SD card? I suppose small steps, say QP "7" maybe would be good to try (a halfway point between QP10 and QP5) but I don't know if it would be worth it.
Yes, that's exactly what the problem is. The scanner only has 500ms to get a frame scanned and on to the SD card.
So, we need to go in the opposite direction. To make it easier for the scanner to encode on time we need to increase the QP to 11 or 12.
There is another way, we could, in theory, change the timers in the scanner to scan just one frame per second instead of two. This way the encoder would have a whole second / 1000ms to encode instead of just 500ms. But we'd have to wait years for our films to scan :)
 

Mac84

Administrator
Staff member
Founder
Sep 4, 2021
225
277
63
New Jersey, USA
www.mac84.net
What's interesting is, I tried leaving the projector running for 10 minutes, and it was working with QP10. But - then all of a sudden it stopped (I only know because of the serial monitor, the digizter keeps chugging along).

The resulting video file is nice (link to video here) but it looks like it got a bit upset! This sample was a Super 8mm clip of "The Black Hole" film. Also attached is a screenshot of the serial monitor getting upset.

What's the default "QP" value of the firmware?
 

Attachments

  • Screenshot 2025-01-18 at 7.08.09 PM.png
    Screenshot 2025-01-18 at 7.08.09 PM.png
    32.4 KB · Views: 8
Last edited:

Joe90

New Tinkerer
Jan 13, 2025
18
2
3
What's interesting is, I tried leaving the projector running for 10 minutes, and it was working with QP10. But - then all of a sudden it stopped (I only know because of the serial monitor, the digizter keeps chugging along).

The resulting video file is nice (link to video here) but it looks like it got a bit upset! This sample was a Super 8mm clip of "The Black Hole" film. Also attached is a screenshot of the serial monitor getting upset.

What's the default "QP" value of the firmware?
I love that film!! It looks great. Love the music by John Barry.
It looks like the same timeout as before. So just the odd frame is timing out with QP10.
Here's QP11 for you to try. I'll upload QP12 in a few minutes.

EDIT: I see what you mean now about it "getting upset" it's gone and encoded The Black Hole at 110Mbps. That's better than Blu ray!!

EDIT: To answer your question about the default QP. With the unmodified Kodak firmware, it varies between 10 and 51 based on the contents of each frame. The basic idea is that a high QP should be assigned to frames with lots of motion (because we notice less detail in those) and a low QP should be assigned to frames with very little motion. Frames with higher QPs then have more of their image data discarded resulting in smaller files / less bandwidth used. In our case we're not interested in saving space/bandwidth so we're happy for the scanner to encode all frames with a low QP.

EDIT: Uploaded QP11 & QP12 versions of the B Firmware.
 

Attachments

  • Kodak_A_QP11.zip
    3 MB · Views: 4
  • Kodak_A_QP12.zip
    3 MB · Views: 7
  • Kodak_B_QP12.zip
    3 MB · Views: 5
  • Kodak_B_QP11.zip
    3 MB · Views: 5
Last edited:
  • Like
Reactions: Mac84

Mac84

Administrator
Staff member
Founder
Sep 4, 2021
225
277
63
New Jersey, USA
www.mac84.net
Oh wow, any idea why it blasted to 111+ Mbit/s, is it simply the QP control setting? :oops:

After just 2 minutes on QP12 it crashed again :( Recording at about 112+ Mbit/s (see screenshot below)... but the recording looked great! 😅

Sadly - it also fails at QP15 after a few min. (which seems to record at at ~65 Mbit/s). Maybe forcing it to something like QP25 would be a happy medium? Just thinking out loud - thanks so much!!
 

Attachments

  • Screenshot 2025-01-18 at 9.52.38 PM.png
    Screenshot 2025-01-18 at 9.52.38 PM.png
    26.5 KB · Views: 13
  • Screenshot 2025-01-18 at 10.01.51 PM.png
    Screenshot 2025-01-18 at 10.01.51 PM.png
    316.6 KB · Views: 12
Last edited:

0dan0

New Tinkerer
Jan 13, 2025
20
20
3
I can now build firmware with a fixed white balance, with independent red, green and blue gains. Here is an example comparing stock white balance with fixed WB with RGB gains of 2.0,1.0,1.06 (just guessing.)



I removed or bypassed a lot of code with the function at 0x002b7e00, which is the main white balance processing function.

void FUN_002b7e00(undefined4 param_1) { ... iVar1 = FUN_001f6f58(param_1,&local_28,&local_24,local_20); // This is the call for the new WB if (iVar1 == 2) { // This was 1, so now the WB smoothing is bypassed ... } else { // added hardwired RGB Gains for WB uVar4 = 0x1ff; // Red channel gain 511 - 1.996 uVar3 = 0x100; // Green channel gain 256 - 1.0 uVar2 = 0x10f; // Blue channel gain 271 - 1.06 ... } ... }

Attached is my WIP for Type C firmware (compare with stock type C, to implement changes on other variations.) The next big step, would be to see if the Tint control (saturation) could be turned into a more useful manual WB control. I haven't found where the tint code is yet.
 

Attachments

  • FWDV280-C-AWBoff-2,1,1.06.BIN
    3.8 MB · Views: 7
Last edited:

Hawke

New Tinkerer
Dec 30, 2024
7
3
3
I can now build firmware with a fixed white balance, with independent red, green and blue gains. Here is an example comparing stock white balance with fixed WB with RGB gains of 2.0,1.0,1.06 (just guessing.)
Hello,

that looks simply brilliant in your demo. Thank you very much for your efforts. Without this forum I would not have bought the Kodak. I had the “C” model and at that time there was no high bitrate FW for it (thanks to Mac84 for the recently created FW). If the optimizations continue like this, this is one of the best purchases I've made :)
 

0dan0

New Tinkerer
Jan 13, 2025
20
20
3
@Hawke I also only purchased Kodak unit as there where hacks for it, although I wasn't thinking I was going to do much more myself. I've only owned the unit for a couple of weeks, taking on the scanning of family reels that I didn't know we had. I have only scanned two reels out of 20+ when the white balance was driving be nuts. Seems such an odd decision to auto white balance on a film scan.
 
  • Like
Reactions: Mac84

Joe90

New Tinkerer
Jan 13, 2025
18
2
3
Oh wow, any idea why it blasted to 111+ Mbit/s, is it simply the QP control setting? :oops:
It's the QP being low and the amount of motion in The Black Hole clip (I think).
After just 2 minutes on QP12 it crashed again :( Recording at about 112+ Mbit/s (see screenshot below)... but the recording looked great! 😅

Sadly - it also fails at QP15 after a few min. (which seems to record at at ~65 Mbit/s). Maybe forcing it to something like QP25 would be a happy medium? Just thinking out loud - thanks so much!!
That's a good idea. Thanks for doing all the testing!
Here's Firmware A and Firmware B with QP20.
 

Attachments

  • Kodak_A_QP20.zip
    3 MB · Views: 6
  • Kodak_B_QP20.zip
    3 MB · Views: 7

0dan0

New Tinkerer
Jan 13, 2025
20
20
3
@Mac84 To continue further hacking, I'm going to need a serial port to print out memory values. I've found the code for printing, which is how I found the white balance (I looked for were particular error messages where being output.) I have opened the unit once, but I see that the mainboard is really in there. What are the least invasive steps to access the RX, TX and GND pins?
 

Mac84

Administrator
Staff member
Founder
Sep 4, 2021
225
277
63
New Jersey, USA
www.mac84.net
@Mac84 To continue further hacking, I'm going to need a serial port to print out memory values. I've found the code for printing, which is how I found the white balance (I looked for were particular error messages where being output.) I have opened the unit once, but I see that the mainboard is really in there. What are the least invasive steps to access the RX, TX and GND pins?
It's not too hard, but I've made a guide. Once you remove a few screws the whole motor/camera mechanism comes out in one piece. Then you can remove the board.

Please read each step, as there are some easy things to break (like the ribbon cable for the button controls). You can view the guide here - use lots of flux as the solder pads are tiny and very close to each other. Let me know if you have questions.
 

Mac84

Administrator
Staff member
Founder
Sep 4, 2021
225
277
63
New Jersey, USA
www.mac84.net
It's the QP being low and the amount of motion in The Black Hole clip (I think).

That's a good idea. Thanks for doing all the testing!
Here's Firmware A and Firmware B with QP20.
You're welcome, thanks so much for your help! Well.. after 3 minutes it errored out. Although the warnings were far fewer on the console. The video file is at about 42-44 Mbit/s.

Can we try maybe QP30 or QP40? I think if we can get it closer to 15-20 Mbit/s (as those worked for other mods) maybe it would be more stable?
 

Attachments

  • Screenshot 2025-01-19 at 5.18.27 PM.png
    Screenshot 2025-01-19 at 5.18.27 PM.png
    28.2 KB · Views: 6

Joe90

New Tinkerer
Jan 13, 2025
18
2
3
You're welcome, thanks so much for your help! Well.. after 3 minutes it errored out. Although the warnings were far fewer on the console. The video file is at about 42-44 Mbit/s.

Can we try maybe QP30 or QP40? I think if we can get it closer to 15-20 Mbit/s (as those worked for other mods) maybe it would be more stable?

No problem. Here's a QP30 A and B firmware. Let me know how it goes.
EDIT: Uploaded QP40 images also.
 

Attachments

  • Kodak_A_QP30.zip
    3 MB · Views: 5
  • Kodak_B_QP30.zip
    3 MB · Views: 8
  • Kodak_A_QP40.zip
    3 MB · Views: 4
  • Kodak_B_QP40.zip
    3 MB · Views: 6
Last edited:

Hawke

New Tinkerer
Dec 30, 2024
7
3
3
@Hawke I also only purchased Kodak unit as there where hacks for it, although I wasn't thinking I was going to do much more myself. I've only owned the unit for a couple of weeks, taking on the scanning of family reels that I didn't know we had. I have only scanned two reels out of 20+ when the white balance was driving be nuts. Seems such an odd decision to auto white balance on a film scan.
One question: Is in your "C" Firmware, the resolution and bitrate upgrade included? :)

Best regards

Hawke
 

0dan0

New Tinkerer
Jan 13, 2025
20
20
3
I have continued to tweak the manual white balance. Here I have included a second sequence that was too blue with the last version. Now is only slightly blue, while the garden sequence still looks good. The RGB gains are 2.0, 1.0, and 0.75. While this came from the same 1966 reel, the white balance is different between the sun-lit botanical gardens and the scene with the overcast capital buildings. I'm aiming for a fixed white balance that is easily correctable in post, or just left as is. The left is stock WB (adding 1600x1200 @ 24Mb/s), the right is the latest fixed WB (guessing around 5600K.) The auto WB is way too crazy, I will never use that again.


Attached is type C firmware with all my favorite resolution, bitrate and latest WB modifications (boot screen will show the current settings.) All feedback welcome. I do wish to make the WB controllable, but that might take a long while.
 

Attachments

  • AWBoff_5600K_24Mbs_1600x1200.zip
    3 MB · Views: 8