Author Topic: Canon EOS 1300D / Rebel T6  (Read 283756 times)

Zi7ar21

  • New to the forum
  • *
  • Posts: 3
Re: Canon EOS 1300D / Rebel T6
« Reply #550 on: February 19, 2023, 02:07:28 AM »
Magic Lantern 1300D 1.2.0: I've been testing this for a while to make sure there aren't any random crashes, and it's worked okay so far.
I updated every single address I could find (and checked all the ifdefs). The code is copied directly from critix's 0.1.0 repository.
Passed self test. I went ahead and deleted a few modules I wasn't confident with, but left mlvlite in. I've recorded a good bit of raw (maybe 10-20 minutes) and I haven't had any issues so far, but I should still warn you, it might break your camera. No guarantees.

https://eggnog.theres.life/f/66-ks45fna8sx9si9m3tf6jrgf3uchkkx.zip

I've made a few attempts to port the 1300D port to the names_are_hard magiclantern_simplified fork, but the camera crashes after trying to register some property handlers. I probably won't continue trying (no point in doing so), but if anybody else wants to give it a shot: https://github.com/petabyt/magiclantern_simplified/tree/1300d
I can confirm that it works on my Rebel T6 running 1.2.0, thank you so much! It was a pain downgrading just so I could run magic lantern, but now I don't have to! On 1.1.0 for some reason the colors on the display were warm, maybe Canon added calibration or something? I don't have a colorimeter so I don't know. Anyways, running with the latest firmware is always nice. :D

The Penguin

  • New to the forum
  • *
  • Posts: 3
Re: Canon EOS 1300D / Rebel T6
« Reply #551 on: April 03, 2023, 10:04:13 PM »
I just tried critix 0.1.0 version on my 1300D with firmware 1.1.0 and got raw video (without sound and without playback) working on my camera.

Thank you very much for the great work!

I have two questions:
- What is the maximal bitrate you get with the 1300D? Although I have quite fast SD cards, my maximal bitrate was around 20MByte/sec. This means that I only get a few (roughly 4) seconds of 1280 video when reduced to 2:1 and 24fps. Does someone get better results and if yes, what card are you using?
- Is there any advantage for Magic Lantern that I would get by upgrading my camera to firmware 1.2.0 and use Petabyte's Magic Lantern version?

petabyte

  • Member
  • ***
  • Posts: 105
Re: Canon EOS 1300D / Rebel T6
« Reply #552 on: April 03, 2023, 10:45:45 PM »
1.2.0 version has no new features.
As for RAW, I wasn't able to get anything that good, only a few seconds of decent footage at a time on my 80mbs SansDisk ultra.

Also, as an update to this thread, I've recently modified mlinstall to work with my camlib/libwpd libraries, which work on Windows natively. No more libusb nonsense soon. Works great on my end, I'll release it once I've done more testing.

laheller

  • New to the forum
  • *
  • Posts: 2
Re: Canon EOS 1300D / Rebel T6
« Reply #553 on: April 07, 2023, 07:13:23 PM »
Magic Lantern 1300D 1.2.0: I've been testing this for a while to make sure there aren't any random crashes, and it's worked okay so far.
I updated every single address I could find (and checked all the ifdefs). The code is copied directly from critix's 0.1.0 repository.
Passed self test. I went ahead and deleted a few modules I wasn't confident with, but left mlvlite in. I've recorded a good bit of raw (maybe 10-20 minutes) and I haven't had any issues so far, but I should still warn you, it might break your camera. No guarantees.

https://eggnog.theres.life/f/66-ks45fna8sx9si9m3tf6jrgf3uchkkx.zip

I've made a few attempts to port the 1300D port to the names_are_hard magiclantern_simplified fork, but the camera crashes after trying to register some property handlers. I probably won't continue trying (no point in doing so), but if anybody else wants to give it a shot: https://github.com/petabyt/magiclantern_simplified/tree/1300d
Hi @petabyte

I am a newbie.
Just installed ML 1300D 1.2.0. It works, but there is no ISO setting/submenu under the Expo menu:



Update:
I tried it in "M" mode.
In the Video mode, the ML menu does not even appear when I press the Delete button.

BR,

Ladislav
1300D

petabyte

  • Member
  • ***
  • Posts: 105
Re: Canon EOS 1300D / Rebel T6
« Reply #554 on: April 08, 2023, 05:06:30 PM »
Just installed ML 1300D 1.2.0. It works, but there is no ISO setting/submenu under the Expo menu:

ISO feature was disabled, probably several years ago during development: https://github.com/petabyt/magiclantern_simplified/blob/a661de1242e4b892697c6abb665f88380d7c75da/platform/1300D.120/features.h#L38
I don't know if it works or why it's disabled.

laheller

  • New to the forum
  • *
  • Posts: 2
Re: Canon EOS 1300D / Rebel T6
« Reply #555 on: April 08, 2023, 05:55:50 PM »
ISO feature was disabled, probably several years ago during development: https://github.com/petabyt/magiclantern_simplified/blob/a661de1242e4b892697c6abb665f88380d7c75da/platform/1300D.120/features.h#L38
I don't know if it works or why it's disabled.
Any chance to enable it and create a test build? I'll take the risk and will test it.

1300D

petabyte

  • Member
  • ***
  • Posts: 105
Re: Canon EOS 1300D / Rebel T6
« Reply #556 on: April 09, 2023, 02:45:45 AM »
Any chance to enable it and create a test build? I'll take the risk and will test it.

You can remove that line and compile it yourself. In the future I might look into it.

names_are_hard

  • Developer
  • Hero Member
  • *****
  • Posts: 718
  • Dev: 200D, 750D, 850D, 7D2
Re: Canon EOS 1300D / Rebel T6
« Reply #557 on: April 09, 2023, 03:11:56 AM »
You can remove that line and compile it yourself. In the future I might look into it.

This is potentially dangerous advice.

Enabling the feature will cause ML to write to registers.  If these addresses have changed it could permanently damage the camera.

Do not enable this feature unless you have verified the register values still hold for the new cam.

E.g. here in lv-img-engio.c, EngDrvOutLV() triggers writes:

Code: [Select]
  25 #define SHAD_GAIN      0xc0f08030       // controls clipping point (digital ISO)
  26 #define SHAD_PRESETUP  0xc0f08034       // controls black point? as in "dcraw -k"
  27 #define ISO_PUSH_REGISTER 0xc0f0e0f8    // like display gain, 0x100 = 1 stop, 0x700 = max of 7 stops
...
 827 #ifdef FEATURE_EXPO_ISO_DIGIC
 828     if (mv)
 829     {
 830         if (digic_iso_gain_movie_for_gradual_expo == 0) digic_iso_gain_movie_for_gradual_expo = 1024;
 831         int total_movie_gain = DIGIC_ISO_GAIN_MOVIE * digic_iso_gain_movie_for_gradual_expo / 1024;
 832         if (total_movie_gain != 1024)
 833         {
 834             autodetect_default_white_level();
 835             int boost_stops = 0;
 836             int new_gain = get_new_white_level(total_movie_gain, &boost_stops);
 837             EngDrvOutLV(SHAD_GAIN, new_gain);
 838             shad_gain_last_written = new_gain;
 839             #ifndef CONFIG_DIGIC_V
 840             EngDrvOutLV(ISO_PUSH_REGISTER, boost_stops << 8);
 841             #endif
 842         }

petabyte

  • Member
  • ***
  • Posts: 105
Re: Canon EOS 1300D / Rebel T6
« Reply #558 on: April 09, 2023, 05:13:12 AM »
This is potentially dangerous advice.

Enabling the feature will cause ML to write to registers.  If these addresses have changed it could permanently damage the camera.

Do not enable this feature unless you have verified the register values still hold for the new cam.

E.g. here in lv-img-engio.c, EngDrvOutLV() triggers writes:

Code: [Select]
  25 #define SHAD_GAIN      0xc0f08030       // controls clipping point (digital ISO)
  26 #define SHAD_PRESETUP  0xc0f08034       // controls black point? as in "dcraw -k"
  27 #define ISO_PUSH_REGISTER 0xc0f0e0f8    // like display gain, 0x100 = 1 stop, 0x700 = max of 7 stops
...
 827 #ifdef FEATURE_EXPO_ISO_DIGIC
 828     if (mv)
 829     {
 830         if (digic_iso_gain_movie_for_gradual_expo == 0) digic_iso_gain_movie_for_gradual_expo = 1024;
 831         int total_movie_gain = DIGIC_ISO_GAIN_MOVIE * digic_iso_gain_movie_for_gradual_expo / 1024;
 832         if (total_movie_gain != 1024)
 833         {
 834             autodetect_default_white_level();
 835             int boost_stops = 0;
 836             int new_gain = get_new_white_level(total_movie_gain, &boost_stops);
 837             EngDrvOutLV(SHAD_GAIN, new_gain);
 838             shad_gain_last_written = new_gain;
 839             #ifndef CONFIG_DIGIC_V
 840             EngDrvOutLV(ISO_PUSH_REGISTER, boost_stops << 8);
 841             #endif
 842         }
Didn't know that. Thanks for letting me know.

names_are_hard

  • Developer
  • Hero Member
  • *****
  • Posts: 718
  • Dev: 200D, 750D, 850D, 7D2
Re: Canon EOS 1300D / Rebel T6
« Reply #559 on: April 09, 2023, 06:33:47 AM »
Always check what code is surrounded by CONFIG or FEATURE ifdefs - it's often weird or potentially dangerous, that's why it's behind a flag.  We run into this a lot trying to port to Digic 6, 7, 8, X.  The old code assumes all cams will have stuff at the same addresses because D4 and 5 were quite similar.  So, sometimes it just hardcodes a constant in a source file, with no guards.

1300D is what, D4+?  Probably fairly similar, but I'd expect some changes.  Plus it's a later model and sometimes things change without a digic version change, but because Canon used some different component on the board later on, etc.

This kind of stuff is why I think the 1300D build needs a lot more testing, methodically, of every feature, with uart connected to get better logs.  It's almost certainly got some serious bugs.