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

domb84

New Tinkerer
Jan 27, 2025
8
3
1
I did it about a month or so ago to a wolverine pro and the kodak C unit. I found that the CH341a reader I got I had to have the wires backwards. i had the same issue, flipped things around a few times until it was detected in the software. IIRC the red strip didn't align w/the dot on the chip
Thanks for the reply. I can't seem to get things to improve. If I flip the connector around it seems to short out the CH341a and not even that is detected. Flip it back and it's ok but doesn't detect the chip. I'm at a bit of a loss. There's only really 2 ways you can connect the thing up that I can see. Unless I have to bridge any of the connectors on the CH341a?
 

fishgee

New Tinkerer
Jan 6, 2025
10
4
3
Thanks for the reply. I can't seem to get things to improve. If I flip the connector around it seems to short out the CH341a and not even that is detected. Flip it back and it's ok but doesn't detect the chip. I'm at a bit of a loss. There's only really 2 ways you can connect the thing up that I can see. Unless I have to bridge any of the connectors on the CH341a?
Do you have any other electronics with a compatible rom on it that you can test your reader with? That way you'd at least prove that the reader and its cables are still functioning properly.
 

0dan0

Tinkerer
Jan 13, 2025
57
69
18
Resolution hacking updates.

I was finally able to move the input buffers so that will not collide with each other. This took ages to work out, as there are multiple areas that the read and write these buffer addresses, some seem to be within interrupts.

So I can now capture 1920x1440, process and encode at that resolution -- for about 130 frames. :( The new main issue is the while I moved the input frames to the very end of the memory, the H264 compression buffer is huge, and it eventually runs to the end of memory (same locations.) So the next step will be to reduce the size of the compression loop buffer.

So many other issue to address.
1) Current the optics are still wrong. I'm using an 8.5mm lens mount about 15mm closer, so close I have to remove to lens to load film. Also too close that when I focus for the center, the edges are out of focus. Ultimately, a 12mm or 16mm macro lens, mounted slightly higher than the stock lens might be needed. Currently my 12mm macro will not focus at stock Reels distance.

Here is a full 1920x1440 scan with this system:
V3b.jpg


2) The compression at 1920x1440, is way worse. I'm about to average around 20Mb/s, yet as this is not a 700px image scaled up to 1920 any more, there is more entropy to encode, so this bit-rate is too low.

3) This is lot of work for only subtle changes for Super-8 scans.
1739742795491.png

Once I get the focus and bitrate issues corrected, the right image will be best. Yet, this is likely too much of a modification of the average user.

Attached in the current firmware (Type C) in ZIP

My first successful true 1920x1440 scan -- this is leader scan shows the resolution benefits, also the compression issues.

 

Attachments

  • FWDV280-V3-0dan0.zip
    5.6 MB · Views: 10
Last edited:

domb84

New Tinkerer
Jan 27, 2025
8
3
1
Do you have any other electronics with a compatible rom on it that you can test your reader with? That way you'd at least prove that the reader and its cables are still functioning properly.
Filed some plastic off the clip and managed to read it. I've attached the raw dumped firmware from the M127 machine, plus the unpacked partitions from ntktool. When I open it in ntkMPE I get the following options.

1739745679123.png


I've not been brave enough to modify them and flash it back yet. Looks like the firmware should be named FWDV180NC.BIN or FWDV180N.BIN.

1739747077203.png


If anyone is interested...

ROM is an MCX25L3206E
Capture chip Novatek NT96550BG (2025-AJ K5FNM)
Theres also a Nanya NT5CB64M16FP-DH RAM chip by the looks of it
 

Attachments

  • CAM-M127-A1-V1.0-ROM.zip
    2.7 MB · Views: 12
Last edited:
  • Love
Reactions: Joe90

domb84

New Tinkerer
Jan 27, 2025
8
3
1
I've tried to compress a modified bin with NTK tool and flash it back using an SD card. Curiously if you place any file on the SDCARD with the name FWDV180.BIN the machine doesn't start (screen stays black, no lights). Remove the file and power it on and the machine starts. I assume the BIN file is failing some sort of check. This was when I just compressed the modified partition. I'm trying to recreate the original structure now with NTKtool.

This is the unmodified dump from the ROM>

1739829498813.png


If I perform the following, I get this:

  1. Unpack both partitions
  2. Modify larger partition with NtkMPE
  3. Open partition 1, pack firmware using mode C and leave Baseval
  4. Open partition 2, pack firmware using mode C and leave Baseval
  5. Merge the partitions
The above results in the offsets being incorrect

1739829643984.png


I tried manually setting the Baseval, but I do not think this is anything to do with setting the offset. I do not want to risk flashing the firmware if the offsets are incorrect.

Does anybody know if this causes an issue? It seems the other firmwares only have a single partition.
 

domb84

New Tinkerer
Jan 27, 2025
8
3
1
Using the cli to pack and specify the offset works, so must be a bug in the UI.

Code:
.\bfc4ntk.exe -p "C:\Users\xxxx\Documents\xxxx\CH341\M127 ROM\CAM-M127-A1-V1.0-ROM\[email protected]" "C:\Users\xxxx\Documents\xxxx\CH341\M127 ROM\CAM-M127-A1-V1.0-ROM\[email protected]" 000af000

However, merging the 2 partitions or just creating a single bin with the modified partition all results in the same thing. The machine refuses to boot or appear powered with that file on the sd card. Remove the file and all is well. Unsure where to go from here...
 

0dan0

Tinkerer
Jan 13, 2025
57
69
18
Resolution hack update V4. Type C firmware attached

I wasn't able to limit the size of the H264 compression buffer, but by dropping the processing resolution to 1600x1200, on was able to fit one of the two buffers lower in memory, and now have no conflicts. The bit-rate control was struggling with all the additional grain/texture, so this build is now running a fixed QP of 25. This sets the bit-rate between 30-60Mb/s (image dependent) and is stable in my tests.

This firmware will work with a stock lens, but the resolution benefits will require a different lens with a narrower FOV.

Compare these frames between my V2 firmware (stock processing, stock lens, fixed WB) and V4 with a new lens and 4X resolution on the processing. While there is only limited subject detail improvement, the grain is more natural. Note: nly the center is the new lens is anygood, too much blur and chromatic aberration on the outer parts of the frame. Now with stable firmware (mostly, I did break playback somehow) I can fix my lens issues.
V2FW.jpg
V4FW.jpg
 

Attachments

  • FWDV280-V4-0dan0.zip
    5.6 MB · Views: 9
Last edited:
  • Like
Reactions: fishgee

domb84

New Tinkerer
Jan 27, 2025
8
3
1
Finally worked out how to keep the correct offsets after modifying the firmware.
  1. Open the firmware dump with NtkTool
  2. Make a note of the offset of partition 1
    1739913413862.png
  3. Use the bfc4ntk.exe tool to extract and specify the offset of partition 1
    Code:
    .\bfc4ntk.exe -x '..\M127 ROM\m127orig.bin' '..\M127 ROM\[email protected]' 000af000
  4. Open the decompressed firmware with NtkMPE and set the desired bitrate
  5. Use bfc4ntk.exe to recompress the modified ROM at the same offset
    Code:
    .\bfc4ntk.exe -p '..\M127 ROM\[email protected]' '..\M127 ROM\m127modified.bin' 000af000
  6. Open the modified ROM in NtkTool and compare the offsets and extracted sizes. These should now match.
    1739913886987.png
My last challenge is working out how to actually flash this. I'm about to revert to using the programmer, unless anybody has any other ideas. I tried various combinations of file name and partition layout (single secondary partition, full ROM). All of them appear to just hang the machine on boot when named FWDV180N.BIN.
 
  • Like
Reactions: Joe90 and fishgee

0dan0

Tinkerer
Jan 13, 2025
57
69
18
Now with 12mm macro. Better focus, and much lower chromatic aberration.

REEL02-Movie0008-V4-12mm.00.jpeg


Yes is it askew. I need to 3D print a new camera mount, as the 12mm needs to be 5mm higher.

1739925186033.png
 
Last edited:
  • Love
Reactions: Mac84

0dan0

Tinkerer
Jan 13, 2025
57
69
18
V4.1 (Type C) I was incorrectly running QP23, which failed on some scenes, so this is running QP28.
 

Attachments

  • FWDV280-V4.1-0dan0.zip
    5.6 MB · Views: 5
  • Like
Reactions: Hawke

0dan0

Tinkerer
Jan 13, 2025
57
69
18
1740009444835.png

3D printed the lens offset. Attached is more model for the 3D print. Now my frames in focus and not skewed. There is even space between the lens, and the open film loading door.

V4.2 (Type C) still occasional saw a buffer collision between the compression data, and the second input frame buffer. This firmware should address that.

While my hardware hack is about done, there are still quality improvements to achieve. In this example, some damaged film jammed the feeder, but when the frame was held the quality went up.


So difference between the frame is hurting the quality.

When the grain was different between compressed frames, the image is blurred, particular when the scene lack contrast:
damage04.jpeg


But when the frame isn't moving, there is significantly more details (this is the grain I want in every frame.)
damage03.jpeg


This could be a QP factor for P frames? Any ideas on what this could be?
 

Attachments

  • FWDV280-V4.2-0dan0.zip
    5.6 MB · Views: 2
  • LensPost7mm.zip
    10.4 KB · Views: 3
Last edited:
  • Love
Reactions: fishgee and Mac84

Captain Noob

New Tinkerer
Feb 5, 2025
4
0
1
View attachment 20263
3D printed the lens offset. Attached is more model for the 3D print. Now my frames in focus and not skewed. There is even space between the lens, and the open film loading door.
I also tried to change the lens. I bought one with a 12mm focal length, but without luck: There´s no chance to get a decent focus. Also the threading of the lens seems "very cheap". Which lens did you buy?
 

0dan0

Tinkerer
Jan 13, 2025
57
69
18
I also tried to change the lens. I bought one with a 12mm focal length, but without luck: There´s no chance to get a decent focus. Also the threading of the lens seems "very cheap". Which lens did you buy?
I went through a lot of lenses. It has to be a macro lens, and they are rare (or at least poorly described.) Also with any lens you will need a spacer to move the lens further away from the sensor to focus. Optically a 12mm lens would be 12mm from the sensor to focus at infinity, here we need to be more than 12mm away (mine is ~20mm from the lens front) to focus ~28mm away. 7mm spacers are common-ish, but I found 5mm, which is what I needed.

1740066884368.png


All purchased from Scorpion Vision in the UK. Shipping is not cheap. The lens I used is the SVL-1228MAC

Lens: https://shop.scorpion.vision/products/m12-lens-12mm-f2-10
Spacer: https://shop.scorpion.vision/collections/optical-accessories/products/m12-extension-ring-5mm
 

Joe90

New Tinkerer
Jan 13, 2025
21
4
3
Finally worked out how to keep the correct offsets after modifying the firmware.
  1. Open the firmware dump with NtkTool
  2. Make a note of the offset of partition 1
    View attachment 20243
  3. Use the bfc4ntk.exe tool to extract and specify the offset of partition 1
    Code:
    .\bfc4ntk.exe -x '..\M127 ROM\m127orig.bin' '..\M127 ROM\[email protected]' 000af000
  4. Open the decompressed firmware with NtkMPE and set the desired bitrate
  5. Use bfc4ntk.exe to recompress the modified ROM at the same offset
    Code:
    .\bfc4ntk.exe -p '..\M127 ROM\[email protected]' '..\M127 ROM\m127modified.bin' 000af000
  6. Open the modified ROM in NtkTool and compare the offsets and extracted sizes. These should now match.
    View attachment 20244
My last challenge is working out how to actually flash this. I'm about to revert to using the programmer, unless anybody has any other ideas. I tried various combinations of file name and partition layout (single secondary partition, full ROM). All of them appear to just hang the machine on boot when named FWDV180N.BIN.

Hi @domb84

Thanks very much for dumping and sharing the firmware.
There are some other filenames that appear in the smaller partition:
LDDV180N.BIN
FWDV180NT.BIN
FWDV180NC.BIN

You may end up using the programmer anyway, but one of those names might work.

Best,
Joe