interested in a 50D initial port of Magic Lantern ?

  • 1148 Replies
  • 132867 Views
*

Offline Coutts

  • *****
  • 538
  • www.flickr.com/couttsphotog
    • Flickr
  • Publish
    Re: interested in a 50D initial port of Magic Lantern ?
    « Reply #70 on: 24 / July / 2011, 12:50:01 »
    Advertisements
    In theory the 50d should be easier to port since it doesn't shoot video. Have the vram addresses been found yet? I could maybe help with that
    Canon 5d
    Canon 50mm f/1.8
    Sigma 24mm f/1.8

    Flickr

  • Publish
    Re: interested in a 50D initial port of Magic Lantern ?
    « Reply #71 on: 26 / July / 2011, 11:42:21 »
    I am looking forward some movement towards unified ML for 50D - i ve got a 50D and i am ready to run your codes!

    *

    Offline Coutts

    • *****
    • 538
    • www.flickr.com/couttsphotog
      • Flickr
  • Publish
    Re: interested in a 50D initial port of Magic Lantern ?
    « Reply #72 on: 27 / July / 2011, 20:27:34 »
    where's the code set at?

    first find stubs and missing constants. i like finding stubs and I have a 50d dump. I can also get started on naming functions and expanding the firmware dump more to make a good IDC file.

    I could also generate a html dump of the firmware fully decompiled with alex's console scripts, it would help in understanding the firmware.

    let me know :)
    Canon 5d
    Canon 50mm f/1.8
    Sigma 24mm f/1.8

    Flickr

    *

    Offline Coutts

    • *****
    • 538
    • www.flickr.com/couttsphotog
      • Flickr
  • Publish
    Re: interested in a 50D initial port of Magic Lantern ?
    « Reply #73 on: 27 / July / 2011, 23:01:32 »
    Canon 5d
    Canon 50mm f/1.8
    Sigma 24mm f/1.8

    Flickr


    *

    Offline Coutts

    • *****
    • 538
    • www.flickr.com/couttsphotog
      • Flickr
  • Publish
    Re: interested in a 50D initial port of Magic Lantern ?
    « Reply #74 on: 28 / July / 2011, 04:31:12 »
    big surprise  :)

    the 50d appears to possess all of the movie recording functions of the 500d, looks to be setup for a 1080p profile and a 480p profile. maybe someone can figure out how to unlock video recording? :)

    by the way I hand verified all stubs. Attached is my stubs file.

    updated IDC:
    http://dl.dropbox.com/u/33161628/50d.107.0xff810000.coutts.idc.zip
    « Last Edit: 28 / July / 2011, 10:53:34 by Coutts »
    Canon 5d
    Canon 50mm f/1.8
    Sigma 24mm f/1.8

    Flickr

    *

    Offline Coutts

    • *****
    • 538
    • www.flickr.com/couttsphotog
      • Flickr
  • Publish
    Re: interested in a 50D initial port of Magic Lantern ?
    « Reply #75 on: 28 / July / 2011, 06:01:31 »
    already emailed this to a few people, but just to let everybody know:




    Yes, just to confirm, there appears to be a structure for some movie properties like size, framerate and audio properties at 0x1ED0. Found it at 0xFF84D444. Recording FPS is 30fps in both modes it looks like too (from what i can see, see below). Here are my mapped offsets (all maybe):

    PROP_MOVIE_PARAM                 0x205000C  // 0=1080p, 2=480p
    PROP_MOVIE_AUDIO_PARAMS    0x205000E

    struct at 0x1ED8
    movie_resolution_width    off_0x138
    movie_resolution_height   off_0x13C
    num_audio_channels        off_0x140
    audio_rate_hertz              off_0x144
    audio_bitrate                    off_0x148


    0xFF84D444 Information
    -arg0 seems to be a property, if it's 0x205000C, video size and fps are dealt with, if it's 0x205000E then audio parameters are changed.
    -arg2 seems to refer to a movie "profile". if arg2=0, 1080p is setup. if arg2=2, 480p is setup. Any other value just passes to a debugmsg.

    decompiled:
    Quote
    In [137]: dec 0xFF84D444
    *(-4 + sp0) = lr0
    *(-8 + sp0) = unk_R6
    *(-12 + sp0) = unk_R5
    *(-16 + sp0) = unk_R4
    *(-20 + sp0) = arg3
    *(-24 + sp0) = arg2
    if arg0 == 33882124:
        if *(arg2) == 0:
            (*0x1ED8)->off_0x138 = 1920
            (*0x1ED8)->off_0x13C = 1080
            (*0x1ED8)->off_0x130 = 4
            (*0x1ED8)->off_0x134 = 30
            (*0x1ED8)->off_0xE4 = 14
            (*0x1ED8)->off_0xE8 = 4
            *(-24 + sp0) = 1080
            DryosDebugMsg(BYTE((*0x1ED8)->off_0xC), 0x5, 'mvrChangeAckCBR : Video - W=%d, H=%d, Rate=%d', 0x780) => ret_DryosDebugMsg_FF84D574
        if *(arg2) != 0:
            if *(arg2) == 2:
                (*0x1ED8)->off_0x138 = 640
                (*0x1ED8)->off_0x130 = 2
                (*0x1ED8)->off_0x134 = 30
                (*0x1ED8)->off_0x13C = 480
                (*0x1ED8)->off_0xE4 = 13
                (*0x1ED8)->off_0xE8 = 4
                *(-24 + sp0) = 480
                DryosDebugMsg(BYTE((*0x1ED8)->off_0xC), 0x5, 'mvrChangeAckCBR : Video - W=%d, H=%d, Rate=%d', 0x280) => ret_DryosDebugMsg_FF84D574
            if *(arg2) != 2:
                DryosDebugMsg(BYTE((*0x1ED8)->off_0xC), 0x6, 'mvrChangeAckCBR : MOVIE_SIZE(%d)', *(arg2)) => ret_DryosDebugMsg_FF84D514
                *(-24 + sp0) = (*0x1ED8)->off_0x13C
                DryosDebugMsg(BYTE((*0x1ED8)->off_0xC), 0x5, 'mvrChangeAckCBR : Video - W=%d, H=%d, Rate=%d', (*0x1ED8)->off_0x138) => ret_DryosDebugMsg_FF84D574
    if arg0 != 33882124:
        if arg0 == 33882126:
            if *(arg2) != 0:
                if *(arg2) != 1:
                    DryosDebugMsg(BYTE((*0x1ED8)->off_0xC), 0x6, 'mvrChangeAckCBR : MOVIE_SOUND_RECORD(%d)', *(arg2)) => ret_DryosDebugMsg_FF84D54C
                    *(-24 + sp0) = (*0x1ED8)->off_0x144
                    DryosDebugMsg(BYTE((*0x1ED8)->off_0xC), 0x5, 'mvrChangeAckCBR : Sound - Ch=%d, Rate=%d, Bit=%d', (*0x1ED8)->off_0x140) => ret_DryosDebugMsg_FF84D574
                if *(arg2) == 1:
                    (*0x1ED8)->off_0x140 = 0
                    (*0x1ED8)->off_0x144 = 0
                    (*0x1ED8)->off_0x148 = 0
                    *(-24 + sp0) = 0
                    DryosDebugMsg(BYTE((*0x1ED8)->off_0xC), 0x5, 'mvrChangeAckCBR : Sound - Ch=%d, Rate=%d, Bit=%d', 0x0) => ret_DryosDebugMsg_FF84D574
            if *(arg2) == 0:
                (*0x1ED8)->off_0x140 = 2
                (*0x1ED8)->off_0x144 = 44100
                (*0x1ED8)->off_0x148 = 16
                *(-24 + sp0) = 44100
                DryosDebugMsg(BYTE((*0x1ED8)->off_0xC), 0x5, 'mvrChangeAckCBR : Sound - Ch=%d, Rate=%d, Bit=%d', 0x2) => ret_DryosDebugMsg_FF84D574
        
    prop_cleanup((*0x1ED8)->off_0x124, arg0) => ret_prop_cleanup_FF84D588
    !end
    « Last Edit: 28 / July / 2011, 06:09:48 by Coutts »
    Canon 5d
    Canon 50mm f/1.8
    Sigma 24mm f/1.8

    Flickr

  • Publish
    Re: interested in a 50D initial port of Magic Lantern ?
    « Reply #76 on: 28 / July / 2011, 12:52:17 »
    sounds promising!  8)

  • Publish
    Re: interested in a 50D initial port of Magic Lantern ?
    « Reply #77 on: 28 / July / 2011, 14:49:36 »
    Looks very promising, i hope somebody can understand how this does work.


  • Publish
    Re: interested in a 50D initial port of Magic Lantern ?
    « Reply #78 on: 28 / July / 2011, 17:10:33 »
    Hi! I'm very interested in getting this firmware working on my 50D! What can I do to help you? No time for helping with the programming but I could test the firmware... is there already a version that's usable? When I believe this site (http://magiclantern.wikia.com/wiki/50D) there is not yet, is that right? I really hope you can get the movie-feature to work :)

  • Publish
    Re: interested in a 50D initial port of Magic Lantern ?
    « Reply #79 on: 31 / July / 2011, 07:22:27 »
    Question is - is the sensor technically capable of HD Filming? The process to make the 500D film in 1080p must be the same as tomake the 50D film. In the end we need patience :) 
    Even without filming magic lantern would be great on a 50D!

     

    Related Topics