Author Topic: DIGIC 8 'PowerShot' development (M50, SX70, SX740)  (Read 27694 times)

dfort

  • Developer
  • Hero Member
  • *****
  • Posts: 3707
Re: DIGIC 8 'PowerShot' development (M50, SX70, SX740)
« Reply #125 on: April 13, 2019, 02:09:33 AM »
Here's the obligatory "Hello, World!" shot of the M50 running firmware version 1.0.2.



Pull request submitted:

https://bitbucket.org/hudson/magic-lantern/pull-requests/955/m50-update-to-canon-firmware-version-102/diff
5D3.* 7D.206 700D.115 EOSM.203 EOSM2.103 M50.102

lorenzo353

  • New to the forum
  • *
  • Posts: 12
Re: DIGIC 8 'PowerShot' development (M50, SX70, SX740)
« Reply #126 on: April 13, 2019, 10:46:00 AM »
Easy way is to use Qemu with a faked value in src/fw-signature.h and let it print what src/reboot.c expect to be :)
You can find it under "Canon CanonModelID Values" at https://sno.phy.queensu.ca/~phil/exiftool/TagNames/Canon.html or https://github.com/lclevy/libcraw2/blob/54caceb6aa3ec8aff1ae3102a498cb5438a75d74/docs/cameras.txt

Are they discovered from image metadata?

Also usually last digits are printed on serial console by the camera at firmware startup (ex. K412) and is reported under Model ID of the rom dumper.

you can use Exiftool to extract modelId from raw (CR2, CR3) or jpeg.

C:\Users\laurent>exiftool -CanonModelId d:\cr3_samples\m50\canon_eos_m50_02.jpg
Canon Model ID                  : EOS M50 / Kiss M

C:\Users\laurent>exiftool -CanonModelId d:\cr3_samples\250d\sample01.jpg
Canon Model ID                  : Unknown (0x80000436)

C:\Users\laurent>exiftool -CanonModelId d:\cr3_samples\r\447A0582.CR3
Canon Model ID                  : EOR R

for CR3 you can study parse_cr3.py
https://github.com/lclevy/canon_cr3

for CR2 see this poster : https://github.com/lclevy/libcraw2/blob/master/docs/cr2_poster.pdf,
it is stored in Makernote

you can also use craw2tool : https://github.com/lclevy/libcraw2/blob/master/user_manual.md

dfort

  • Developer
  • Hero Member
  • *****
  • Posts: 3707
Re: DIGIC 8 'PowerShot' development (M50, SX70, SX740)
« Reply #127 on: April 13, 2019, 09:15:51 PM »
Thanks for the tips.

...the M50 hasn't been integrated into exiftool...

Oops, needed to update my exiftool. Now it works properly:

Code: [Select]
exiftool -CanonModelID IMG_0003.CR3
Canon Model ID                  : EOS M50 / Kiss M

I had an old version and the best it could so was this on jpeg files:

Code: [Select]
exiftool -CanonModelID IMG_0003.JPG
Canon Model ID                  : Unknown (0x412)

By the way, you can get the latest version of exiftool through the ML build scripts:

magic-lantern/modules/dual_iso/Makefile.cr2hdr
Code: [Select]
# Find the latest version of exiftool
EXIFTOOL_VERS=$(shell echo $$(curl -s https://www.sno.phy.queensu.ca/~phil/exiftool/ | grep -Em 1 'Download|Version' | grep -Eo '[0-9]+([.][0-9]+)?') | cut -d ' ' -f 1)
...
exiftool.tar.gz:
# Mac and Linux
wget http://www.sno.phy.queensu.ca/~phil/exiftool/Image-ExifTool-$(EXIFTOOL_VERS).tar.gz -O exiftool.tar.gz

exiftool.zip:
# Windows
wget http://www.sno.phy.queensu.ca/~phil/exiftool/exiftool-$(EXIFTOOL_VERS).zip -O exiftool.zip

That Makefile can also compile the latest dcraw and cr2dhr. Check it out.  8)
5D3.* 7D.206 700D.115 EOSM.203 EOSM2.103 M50.102

aprofiti

  • Contributor
  • Member
  • *****
  • Posts: 174
Re: DIGIC 8 'PowerShot' development (M50, SX70, SX740)
« Reply #128 on: April 15, 2019, 08:13:42 PM »
you can use Exiftool to extract modelId from raw (CR2, CR3) or jpeg.
Thanks, you just confirmed my initial thinking on how it was discovered for newer models

for CR2 see this poster : https://github.com/lclevy/libcraw2/blob/master/docs/cr2_poster.pdf,
it is stored in Makernote
Had a look at the poster and it helped me to understand better how offsets are handled inside the file format :)

you can also use craw2tool : https://github.com/lclevy/libcraw2/blob/master/user_manual.md
@lorenzo353 I also looked at your library when tried to manipulate exif tags in cr2 image, but if I don't remember wrong it's not minded to overwrite metadata.
Do you have any suggestions?

ioman

  • New to the forum
  • *
  • Posts: 6
Re: DIGIC 8 'PowerShot' development (M50, SX70, SX740)
« Reply #129 on: April 17, 2019, 11:32:55 PM »
Hello. I just wanted to ask - how is the current state of ML port for M50? I would need bracketing function as I believe its not possible with the original firmware. I would also help contributer as I am developer, but I am javascript specialist and I think there is no use of that. :)

Thx. :)

scrax

  • Contributor
  • Hero Member
  • *****
  • Posts: 1543
  • Code monkey
Re: DIGIC 8 'PowerShot' development (M50, SX70, SX740)
« Reply #130 on: April 18, 2019, 04:28:05 AM »
Hello. I just wanted to ask - how is the current state of ML port for M50? I would need bracketing function as I believe its not possible with the original firmware. I would also help contributer as I am developer, but I am javascript specialist and I think there is no use of that. :)

Thx. :)

Welcome, you can start by clone repo, setup the toolchain and try to compile ML, that way you can follow development and make your tests, give feedback, make small changes (at first) and who knows that maybe the next big discoveries will come from your findings...

I'm thinking to get a M50 too, even if I was more interested in the RP but the new firmware signature freezed my hopes (for now)
I'm using ML2.3 for photography with:
EOS 600DML | EOS 400Dplus | EOS 5D MLbeta5- EF 100mm f/2.8 USM Macro  - EF-S 17-85mm f4-5.6 IS USM - EF 70-200mm f/4 L USM - 580EXII - OsX, PS, LR, RawTherapee, LightZone -no video experience-

KelvinK

  • Senior
  • ****
  • Posts: 267
  • Less words, more films
Re: DIGIC 8 'PowerShot' development (M50, SX70, SX740)
« Reply #131 on: April 18, 2019, 10:04:20 AM »
@scrax Getting M50 now is a good choose! Ultra cheap, Viltrox SpeedBooster and with ML it will be a small beast.
6D - 5D - NEX - M50!

scrax

  • Contributor
  • Hero Member
  • *****
  • Posts: 1543
  • Code monkey
Re: DIGIC 8 'PowerShot' development (M50, SX70, SX740)
« Reply #132 on: April 18, 2019, 10:18:57 AM »
@scrax Getting M50 now is a good choose! Ultra cheap, Viltrox SpeedBooster and with ML it will be a small beast.
Exactly, those are the reason mainly.
I'm using ML2.3 for photography with:
EOS 600DML | EOS 400Dplus | EOS 5D MLbeta5- EF 100mm f/2.8 USM Macro  - EF-S 17-85mm f4-5.6 IS USM - EF 70-200mm f/4 L USM - 580EXII - OsX, PS, LR, RawTherapee, LightZone -no video experience-

ioman

  • New to the forum
  • *
  • Posts: 6
Re: DIGIC 8 'PowerShot' development (M50, SX70, SX740)
« Reply #133 on: April 18, 2019, 10:26:01 AM »
Ok, I will try to compile. I can compile and run QEMU even when I have not M50 yet right?

As for the cheapness.. do you think it could get cheaper maybe in 6 months? (canon about to release 2 new M models).
The current price is still to much for me. Now I have M10 and I need to go to M50 (big improvement. :) )

Regards,
Jakub

scrax

  • Contributor
  • Hero Member
  • *****
  • Posts: 1543
  • Code monkey
Re: DIGIC 8 'PowerShot' development (M50, SX70, SX740)
« Reply #134 on: April 18, 2019, 10:44:51 AM »
Ok, I will try to compile. I can compile and run QEMU even when I have not M50 yet right?

As for the cheapness.. do you think it could get cheaper maybe in 6 months? (canon about to release 2 new M models).
The current price is still to much for me. Now I have M10 and I need to go to M50 (big improvement. :) )

Regards,
Jakub

I was thinking you already had it; to run qemu you need a dump of the firmware from the camera you want to emulate
I'm using ML2.3 for photography with:
EOS 600DML | EOS 400Dplus | EOS 5D MLbeta5- EF 100mm f/2.8 USM Macro  - EF-S 17-85mm f4-5.6 IS USM - EF 70-200mm f/4 L USM - 580EXII - OsX, PS, LR, RawTherapee, LightZone -no video experience-

ioman

  • New to the forum
  • *
  • Posts: 6
Re: DIGIC 8 'PowerShot' development (M50, SX70, SX740)
« Reply #135 on: April 18, 2019, 01:55:32 PM »
Ok, and there arent any dumps from someone who has the camera?

Regards,
Jakub

Walter Schulz

  • Contributor
  • Hero Member
  • *****
  • Posts: 6740
Re: DIGIC 8 'PowerShot' development (M50, SX70, SX740)
« Reply #136 on: April 18, 2019, 02:25:18 PM »
Not for sharing here. ML team considers public sharing/posting ROM dump contents violating Canon's IP rights. 2 options:
- Shout out and hope someone will reply by PN to a new member.
- Prepare a card with a ROM dumper and find a way to use it with an M50.
Photogs and videographers: Assist in proof reading upcoming in-camera help!. Your input is wanted and needed!

ioman

  • New to the forum
  • *
  • Posts: 6
Re: DIGIC 8 'PowerShot' development (M50, SX70, SX740)
« Reply #137 on: April 18, 2019, 04:09:05 PM »
Ok, got it. In my local camera shop they allow me to test the M50 with my card anytime I come here so this might be ok.

Jakub

ughhhml

  • New to the forum
  • *
  • Posts: 2
Re: DIGIC 8 'PowerShot' development (M50, SX70, SX740)
« Reply #138 on: April 20, 2019, 06:10:08 PM »
hello guys! I'm totally new here and I want to install ML on my M50. Can someone step by step explain this to me?

Thanks,
Jacob

Walter Schulz

  • Contributor
  • Hero Member
  • *****
  • Posts: 6740
Re: DIGIC 8 'PowerShot' development (M50, SX70, SX740)
« Reply #139 on: April 20, 2019, 06:13:49 PM »
hello guys! I'm totally new here
No, you are not. See reply #123.

and I want to install ML on my M50. Can someone step by step explain this to me?
See reply #124
Photogs and videographers: Assist in proof reading upcoming in-camera help!. Your input is wanted and needed!

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 12224
  • Maintenance mode
Re: DIGIC 8 'PowerShot' development (M50, SX70, SX740)
« Reply #140 on: April 25, 2019, 07:36:54 AM »
Offtopic stuff about the 'when' question moved over here.

TLDR - I'll share the code as soon as I'll clean it up and make sure it's compatible with other models (DIGIC 6/7/8, without breaking 4 and 5). However, that will happen after taking a short break (could be a month or two, maybe more, maybe less). Sorry, I have to.

Greg

  • Contributor
  • Hero Member
  • *****
  • Posts: 581
Re: DIGIC 8 'PowerShot' development (M50, SX70, SX740)
« Reply #141 on: April 27, 2019, 09:08:38 PM »
Diaphora - IDA PRO plugin for comparing the firmware :
https://github.com/joxeankoret/diaphora

M50 1.0.1 vs 1.0.2

Greg

  • Contributor
  • Hero Member
  • *****
  • Posts: 581
Re: DIGIC 8 'PowerShot' development (M50, SX70, SX740)
« Reply #142 on: April 30, 2019, 02:02:54 PM »
Related to EDMAC (M50 1.0.2):

Code: [Select]
ROM:E0DD7A90

0xD0404000
0xD0420000
0xD0420100
0xD0420200
0xD0420300
0xD0420400...

Matt222Yt

  • New to the forum
  • *
  • Posts: 2
Re: DIGIC 8 'PowerShot' development (M50, SX70, SX740)
« Reply #143 on: May 25, 2019, 03:54:37 PM »
Not sure why but my canon m50 doesn't recognize it as a firmware. Is this an April fools joke?

AaronG

  • New to the forum
  • *
  • Posts: 1
Re: DIGIC 8 'PowerShot' development (M50, SX70, SX740)
« Reply #144 on: May 25, 2019, 07:59:17 PM »
Hello! I am new in the forum. Despite being new user, I follow the forum for some time. I would like to know if the version of ML that is passed is compatible with 1.02 and if anyone can help me install it. Thank you!

Walter Schulz

  • Contributor
  • Hero Member
  • *****
  • Posts: 6740
Re: DIGIC 8 'PowerShot' development (M50, SX70, SX740)
« Reply #145 on: May 25, 2019, 09:12:20 PM »
What is "it"? And unsure what you mean by "doesn't recognize".

http://www.catb.org/~esr/faqs/smart-questions.html#beprecise
Photogs and videographers: Assist in proof reading upcoming in-camera help!. Your input is wanted and needed!

Matt222Yt

  • New to the forum
  • *
  • Posts: 2
Re: DIGIC 8 'PowerShot' development (M50, SX70, SX740)
« Reply #146 on: May 26, 2019, 06:00:34 AM »
I meant that my canon m50 does not recognize the magic lantern firmware and it won't do a firmware update. I already put in the autoexec.bin file but the camera says "memory card containing firmware is required to update"

andy kh

  • Hero Member
  • *****
  • Posts: 509
Re: DIGIC 8 'PowerShot' development (M50, SX70, SX740)
« Reply #147 on: May 26, 2019, 06:08:17 AM »
From where you get the magic lantern firmware for m50?
5D Mark III - 70D

Walter Schulz

  • Contributor
  • Hero Member
  • *****
  • Posts: 6740
Re: DIGIC 8 'PowerShot' development (M50, SX70, SX740)
« Reply #148 on: May 26, 2019, 07:16:44 AM »
What andy kh said and (again): http://www.catb.org/~esr/faqs/smart-questions.html#beprecise esp. the part about reproducing an error.
Photogs and videographers: Assist in proof reading upcoming in-camera help!. Your input is wanted and needed!

Pinni3

  • New to the forum
  • *
  • Posts: 1
Re: DIGIC 8 'PowerShot' development (M50, SX70, SX740)
« Reply #149 on: May 28, 2019, 08:50:31 PM »
I meant that my canon m50 does not recognize the magic lantern firmware and it won't do a firmware update. I already put in the autoexec.bin file but the camera says "memory card containing firmware is required to update"

the basic is out in JUST THE START not full magic lantern.
It is not only the basic ml april fools you need.
If you look in the forums you will see post with the files you need.

you will need fir files
just the find function on the forum : BOOT_M50.FIR

Personaly i get the awnsers you get from others.
But the forum is for helping others?
I send you in the right direction but do know that ML is not in it full form.

i was also in the dark for the how to, but i invested time and surfed and searched the forum and found my awnsers. TY DFORT for the pointers (Again a hint for searching Matt222Yt)

Also please do not ask ET for full version. just my to cents. alex needs the break