SD investigation on DIGIC 4

Started by theBilalFakhouri, April 15, 2022, 09:35:02 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

theBilalFakhouri

Okay, thanks!
I will make a new test build later today.

theBilalFakhouri

Another new test build for 550D:
magiclantern-iso-research.2019Dec21.550D109_clocks_override_v2.zip

-How to test:
-Set the camera to Photo mode, none-LiveView
-Turn on "Print values"
-From "Apply patch" submenu, keep 0xC0400004 as it is, change 0xC0400008 to 2 --> click on "Apply patch", write down 0xC0400008 value
-Turn off "Print values", Run benchmarks
-Turn on "Print values", write down 0xC0400008 value
-Run benchmarks, write down 0xC0400008 value while benchmarking
-Share the result

-Does 0xC0400008 change its value from 0x2363110f back to 0x1363110f while benchmarking?

Walter Schulz

Unable to test. Crashes after applying patch. Cam may get stuck and battery pull is in order or restart on its own.

Skinny

the same, first time camera rebooted by itself with "camera was not shut down cleanly", second/third time it got frozen so I need to pull the battery.

theBilalFakhouri

Quote from: Walter Schulz on April 16, 2022, 07:42:39 PM
Unable to test. Crashes after applying patch. Cam may get stuck and battery pull is in order or restart on its own.

What about trying these:

-Set the camera to Photo mode, none-LiveView
-Turn on "Print values"
-"Apply patch", write down 0xC0400008 value
-Turn off "Print values", Run benchmarks
-Turn on "Print values", write down 0xC0400008 value
-Run benchmarks, write down 0xC0400008 value while benchmarking
-Share the result

Walter Schulz

Nope. Red LED on, battery plug.

EDIT: Be back in around 2 hours.

theBilalFakhouri

Okay, thanks Walter, Skinny!
enough tests for today.

I will try to dig into it further in another day.

Skinny

I can only confirm the same result, red led on and it's not responding. It was very interesting anyway, thank you for trying to achieve something for such old cameras. I have to go too :)

theBilalFakhouri

I looked into 50D/5D2 ROMs (yeah they have CF interface, but SD functions also presented in their ROMs)

They have two different configurations for 0xC0400004:

On 550D it's: 0xC0400004 = 0x03000000 (48MHz)
                                       = 0x02000000 (24MHz)
                                       = 0x01000000 (16MHz)

5D2/50D have that too, in addition to:

                    0xC0400004 = 0x00018000 (48MHz?)
                                       = 0x00010000 (24MHz?)
                                       = 0x00008000 (16MHz?)

You can change between them depending on the call on 50D/5D2.

On 1300D (DIGIC 4+) it has only:

                    0xC0400004 = 0x00018000 (48MHz?)
                                       = 0x00010000 (24MHz?)
                                       = 0x00008000 (16MHz?)

0xC0400008 appear to have also another configuration, but let's skip it for now. let's test the other 0xC0400004 configuration on 550D:

magiclantern-iso-research.2019Dec21.550D109_clocks_override_v3.zip

-How to test:
1-Photo mode (no LiveView)
2-Enable print values --> Apply patch --> write down 0xC0400004 value
3-Disable print values --> benchmarks
4-From "Apply patch" submenu set C0400004 to 2 --> redo 2 & 3 steps
5-From "Apply patch" submenu set C0400004 to 1 --> redo 2 & 3 steps

-Share the result



What this might tell me that 0xC0400004 can accept many configurations, also other from the two configurations above, if the theory is correct we need find new configurations/values by trial and error --> I need to find a way to hook 0xC0400004 to apply the override and prevent it from value switching.

Skinny

cool, but the link is broken

I downloaded it anyway, using the old link address with new file :)

theBilalFakhouri


Skinny

I think it didn't work..

so, initial value was 3000003 of course.
after the patch - 3018003
benchmark  - usual default speeds, and after benchmark new value still holds
"set C0400004 to 2" - 3010003
benchmark  - usual full speed again, the value 3010003 as it should
"set C0400004 to 1" - 3008003
benchmark - everything the same again, value 3008003

So no half speed or anything.. maybe it will work without 3's?

theBilalFakhouri

Okay, will provide another build, maybe we need to set C0400004 to 0x0000003 first


Skinny

ok.... something strange happens. three possible ways:

so initial value is 3000003
then I apply the patch, now it is 18003
benchmark? unrealistic numbers same as with 0 instead of 3,
93,
4970 etc
I reboot the camera, "shutdown not clean and so on", reboot again
select "2" apply the patch - the value is 2010003 now


second scenario:

I reboot the camera,
apply the patch first - the value is 18003,
select "2", apply the patch again - the value is 10003
benchmark - same unrealistic results,
but the value now switched back to 18003.......

the same thing if I select "1", value switches back to 18003.


third scenario - I don't reboot the camera after the first test,
then "2" - 10003,
benchmark - unrealistic speeds 4800, 4900, without 93.
check value? 10003. so value holds.

and everything the same with "1", 8003 holds.

theBilalFakhouri

Thanks for testing.
Probably tweaking 0xC0400008 is needed too, will provide another test build later today.

theBilalFakhouri

New test build:

magiclantern-iso-research.2019Dec21.550D109_clocks_override_v4.zip

-How to test:
1-Photo mode (no LiveView)
2- Apply patch --> check "Memory patches" in "Debug" tab, it should be there "8 ROM":


Not showing? --> Click on "Apply patch" again, it might take multiple tries to apply the patches, because I am applying them when 0xC0400008 = 0x363110f. Once patches are applied you shouldn't worry about them (if it didn't apply in Photo mode, switch to LiveView or video mode, and try applying the patch from there).

3-Enable print values --> write down 0xC0400004/0xC0400008 values
4-Disable print values --> benchmarks
5-From "Apply patch" submenu set C0400004 to 2 --> redo 3 & 4 steps
6-From "Apply patch" submenu set C0400004 to 1 --> redo 3 & 4 steps

Skinny

can't apply, first time does nothing and second time camera freezes with card red light on, so I have to pull the battery. Doesn't matter in photo mode or in live view, or video... second time is always freeze

theBilalFakhouri

Okay, Thanks for testing.
Enough for now, will take a look again later (probably next month).

Skinny

ok, it was fun experience :) no result doesn't mean no progress, now we know something.

by the way,
Quotebecause I am applying them when 0xC0400008 = 0x363110f
I just remembered, with previous builds when applying the patch with "print values" activated I can see 1363110f for a very short time, in the moment when patch applies or may be right after it. So  maybe it is the problem if you are waiting for 363110f

Bruno Italiano

Sorry for disturbing, because I just saw a cheap 550d (85€). I would buy it, if card UHS is already working?

theBilalFakhouri

@Bruno Italiano

No, UHS doesn't work on 550D, write speed is still limited to 21 MB/s. Please don't buy 550D if you want higher write speed than 21 MB/s.
And no problem, feel free to ask.

Bruno Italiano

Sometimes I'm amazed how lost I would be without magic lantern. I am a little spoiled with my 5D3. I could even only record RAW on the SD card.

This is the little off-topic.
Canon EOS 1DX Mark III Raw Workflow
https://youtu.be/jD0MyUOcd7o

This is how ridiculous the workflow would look. The CF Express card is so expensive. I can't see the sky with proper detail/contrast/colour. I advised my friends & family to use Adobe Camera Raw. The files would be compared smaller and you could export with the MLV App uncompressed *.dng. Zeeks workflow with DaVinci resolve looks better. Amazing how other cameras just don't seem better.