Clean Canon overlays (G7X II, G5X; EOS M10, M3, also M5, M6, M100 via script) - page 2 - General Discussion and Assistance - CHDK Forum  

Clean Canon overlays (G7X II, G5X; EOS M10, M3, also M5, M6, M100 via script)

  • 189 Replies
  • 139838 Views
Re: Clean Canon overlays (M10, M3)
« Reply #10 on: 03 / December / 2018, 16:29:14 »
Advertisements
@srsa_4c your my hero! That worked like a charm on the LCD & via HDMI. Now I can use an Atomos or Blackmagic to record the output.  Next step for me is getting it hooked up to a keypress for toggling, which based on the sample scripts, should be pretty straight forward.  I'l post up my final results.

You help a lot of folks on this forum srsa_4c, big high five!

Re: Clean Canon overlays (M10, M3)
« Reply #11 on: 27 / December / 2018, 20:36:38 »
Can someone help me?  I stream and im currently trying to get CLEAN hdmi out on this camera.    i got CHDK installed 120f   and enable the LCD NEVER TURN OFF feature

Got most of the overlays off.  it looks good.    Only thing left is the face tracking box that wont go away.   i see this .Diff file and im at a wall.   How do i install  it?  I read that you cant use canon basic scripts with CHDK installed.  Which sucks because thats the only way i know how to do it.

What do i do with .diff?  how do i install it while retaining my ability to keep the lcd to never turn off (it cuts the hdmi feed if i do)

*

Offline reyalp

  • ******
  • 14080
Re: Clean Canon overlays (M10, M3)
« Reply #12 on: 28 / December / 2018, 00:49:38 »
Can someone help me?  I stream and im currently trying to get CLEAN hdmi out on this camera.    i got CHDK installed 120f   and enable the LCD NEVER TURN OFF feature

Got most of the overlays off.  it looks good.    Only thing left is the face tracking box that wont go away.   i see this .Diff file and im at a wall.   How do i install  it?
It's a source patch, meaning changes that need to be applied to the CHDK source before building.
Here's a build for M3 120F with the patch applied https://app.box.com/s/ck48h376sfcaxas3fxj5klveaufy4a79
Don't forget what the H stands for.

Re: Clean Canon overlays (M10, M3)
« Reply #13 on: 04 / January / 2019, 20:53:28 »
made a tutorial about installing this to have clean hdmi out on the eos m3 :)

maybe it might help someone


Re: Clean Canon overlays (M10, M3)
« Reply #14 on: 04 / January / 2019, 22:20:19 »
made a tutorial about installing this to have clean hdmi out on the eos m3 :)   maybe it might help someone
Nice effort.  There are two things not quite right though.

First of all CHDK is not a firmware mod.  No changes are made to the firmware on your camera.  When you remove the CHDK enabled SD card, you are back to your original camera setup. That's actually a nice feature - no risk of bricking the camera like you get with firmware mods.*

Which brings us to the other issue. 

All those files you dragged onto the SD card early in the video?  They are specific to both the camera and firmware version. The files that work on one model's firmware version won't work on the same model camera with different firmware versions.  And they certainly won't work on other models.  So somewhere in your description you will probably need to explain how to figure out what firmware is in a camera and which files to use?

*EDIT: the point about CHDK not modifying your firmware is not just sematics. You will need to install it on every SD card that you want to use with disabled overlays. CHDK "goes away" every time you turn your camera off and has to be reloaded when you start again.  Fortunately, the steps you followed cause an automatic reload  :haha
« Last Edit: 04 / January / 2019, 22:33:31 by waterwingz »
Ported :   A1200    SD940   G10    Powershot N    G16

*

Offline srsa_4c

  • ******
  • 4451
Re: Clean Canon overlays (M10, M3)
« Reply #15 on: 27 / March / 2019, 17:50:34 »
The first patch has seen 40 downloads so far, which makes me think this feature is worth to add.
Attached is an updated patch, supporting the same features as the original.
Since the same code works on both m3 and m10, I moved the routines to core. I replaced the empty dialog based forced redraw with a different method (setting a palette related fw variable followed by a screen refresh). I can only test on my m10, and the new method seems to work (Canon drawings are removed properly). I believe it should work on the m3 also. If anyone with m3 could confirm, that would be useful.

I would like to check this in in a few days, if possible.

edit:
Added to trunk in changeset 5164. Added some usage notes to the camera-specific notes.txt files, so zip'd builds will contain some info.
« Last Edit: 30 / March / 2019, 09:27:30 by srsa_4c »

*

Offline srsa_4c

  • ******
  • 4451
Re: Clean Canon overlays (M10, M3)
« Reply #16 on: 31 / May / 2019, 19:05:50 »
Simple Canon Basic script for the EOS M100, firmware 100a. Modified version of the M6 script, with firmware version check added.
UNTESTED, feedback is welcome.
Code: [Select]
' clean rec mode palette
' EOS M100, 100a, 101a, 110b

DIM palette_buffer_ptr = 0x116f4
DIM active_palette_buffer = 0x116ec
DIM palette_to_zero = 0

public sub check_compat()
    check_compat = 0
    if Peek16(0xe1f20270) <> 0x32d1 then
        exit sub
    end if
    if strcmp("GM1.00A",0xe047b5b1) = 0 then
        check_compat = 1
        exit sub
    end if
    if strcmp("GM1.01A",0xe047b5cd) = 0 then
        check_compat = 1
        exit sub
    end if
    if strcmp("GM1.10B",0xe047b5cd) = 0 then
        check_compat = 1
        exit sub
    end if
end sub

private sub RegisterProcs()
    System.Create()
    'UI.CreatePublic()
end sub

private sub palette_mod()
    adr = *palette_buffer_ptr
    adr = adr + (palette_to_zero * 4)
    if *adr <> 0 then
        adr = *adr + 4
        memset(adr, 0, 256 * 4)
    end if
end sub

private sub Initialize()
    RegisterProcs()
    ret = check_compat()
    if ret=1 then
        palette_mod()
    end if
end sub
Usage and notes (taken from my earlier post):
Save it as extend.m in the root directory of the card. The card should be prepared to run scripts.
Switch on the camera in playback mode and press SET. If the script does what is intended, the overlay should be mostly clean when you switch the cam to any shooting mode. There might be some parts of the overlay that remain unaffected.

edit:
add 101a compatibility
edit2:
add 110b compatibility
« Last Edit: 12 / November / 2020, 11:33:20 by srsa_4c »

Re: Clean Canon overlays (M10, M3)
« Reply #17 on: 03 / June / 2019, 10:30:36 »
Simple Canon Basic script for the EOS M100, firmware 100a. Modified version of the M6 script, with firmware version check added.
UNTESTED, feedback is welcome.
Code: [Select]
' clean rec mode palette
' EOS M100, 100a

DIM palette_buffer_ptr = 0x116f4
DIM active_palette_buffer = 0x116ec
DIM palette_to_zero = 0

public sub check_compat()
    if Peek16(0xe1f20270) = 0x32d1 then
        check_compat = 1
    else
        check_compat = 0
    end if
    if strcmp("GM1.00A",0xe047b5b1) <> 0 then
        check_compat = 0
    end if
end sub

private sub RegisterProcs()
    System.Create()
    'UI.CreatePublic()
end sub

private sub palette_mod()
    adr = *palette_buffer_ptr
    adr = adr + (palette_to_zero * 4)
    if *adr <> 0 then
        adr = *adr + 4
        memset(adr, 0, 256 * 4)
    end if
end sub

private sub Initialize()
    RegisterProcs()
    ret = check_compat()
    if ret=1 then
        palette_mod()
    end if
end sub
Usage and notes (taken from my earlier post):
Save it as extend.m in the root directory of the card. The card should be prepared to run scripts.
Switch on the camera in playback mode and press SET. If the script does what is intended, the overlay should be mostly clean when you switch the cam to any shooting mode. There might be some parts of the overlay that remain unaffected.

alrighty i just messed something up lol i didnt put the correct line in script.req, or DC_scriptdisk, I changed it and retryed my dump and it worked, then i tried your script and it provides a 100% clean hdmi signal! no facebox nothing! great job dude ill repost this on the main thread of your post so people know it works!

for anyone out there who isnt familiar with chdk but wants to have clean hdmi and findds this post:

create blank file extend.txt paste the above script in this file
create blank file script.txt paste DC_scriptdisk in this file

rename extend.txt> extend.m
rename script.txt>script.req
put both files on the root of your sd card (not in a file just the main directory is what root means)
download eoscard if your on windows > https://pel.hu/down/EOScard.exe
run it
select your sd card
click save
>returns= write successful
put card in camera
boot using the green picture playbackbutton NOT power
click set a few times
if you have a lens like the 15-45 on keep it locked
when you switch to camera/record/or auto it will say "done" in green at the top. now you can unlock your lens and have clean hdmi!


*

Offline srsa_4c

  • ******
  • 4451
Re: Clean Canon overlays (M10, M3)
« Reply #18 on: 03 / June / 2019, 16:48:35 »
Thanks for trying the script and reporting back.
For the record, the following is very likely a mixup, the script from this thread does not write anything on screen. It was probably the dumper script.
when you switch to camera/record/or auto it will say "done" in green at the top. now you can unlock your lens and have clean hdmi!
I'm also not sure if locking the lens makes any difference (it does not on my M10).
But, it's true that starting a Canon Basic script may not work reliably, for unknown reasons. See c_joerg's posts here for example.

For the request in PM, here's a version of the script that should also prevent the camera from turning off live view.
Code: [Select]
' clean rec mode palette
' EOS M100, 100a, 101a, 110b

DIM palette_buffer_ptr = 0x116f4
DIM active_palette_buffer = 0x116ec
DIM palette_to_zero = 0

public sub check_compat()
    check_compat = 0
    if Peek16(0xe1f20270) <> 0x32d1 then
        exit sub
    end if
    if strcmp("GM1.00A",0xe047b5b1) = 0 then
        check_compat = 1
        exit sub
    end if
    if strcmp("GM1.01A",0xe047b5cd) = 0 then
        check_compat = 1
        exit sub
    end if
    if strcmp("GM1.10B",0xe047b5cd) = 0 then
        check_compat = 1
        exit sub
    end if
end sub

private sub RegisterProcs()
    System.Create()
    UI.CreatePublic()
end sub

private sub palette_mod()
    adr = *palette_buffer_ptr
    adr = adr + (palette_to_zero * 4)
    if *adr <> 0 then
        adr = *adr + 4
        memset(adr, 0, 256 * 4)
    end if
end sub

private sub Initialize()
    RegisterProcs()
    ret = check_compat()
    if ret=1 then
        LockMainPower()
        palette_mod()
    end if
end sub

edit:
add 101a compatibility (1.0.1 official update)
edit2:
add 110b compatibility (1.1.0 official update)
« Last Edit: 12 / November / 2020, 11:31:57 by srsa_4c »

Re: Clean Canon overlays (M10, M3)
« Reply #19 on: 03 / June / 2019, 17:36:33 »
Thanks for trying the script and reporting back.
For the record, the following is very likely a mixup, the script from this thread does not write anything on screen. It was probably the dumper script.
when you switch to camera/record/or auto it will say "done" in green at the top. now you can unlock your lens and have clean hdmi!
I'm also not sure if locking the lens makes any difference (it does not on my M10).
But, it's true that starting a Canon Basic script may not work reliably, for unknown reasons. See c_joerg's posts here for example.

For the request in PM, here's a version of the script that should also prevent the camera from turning off live view.
Code: [Select]
' clean rec mode palette
' EOS M100, 100a

DIM palette_buffer_ptr = 0x116f4
DIM active_palette_buffer = 0x116ec
DIM palette_to_zero = 0

public sub check_compat()
    if Peek16(0xe1f20270) = 0x32d1 then
        check_compat = 1
    else
        check_compat = 0
    end if
    if strcmp("GM1.00A",0xe047b5b1) <> 0 then
        check_compat = 0
    end if
end sub

private sub RegisterProcs()
    System.Create()
    UI.CreatePublic()
end sub

private sub palette_mod()
    adr = *palette_buffer_ptr
    adr = adr + (palette_to_zero * 4)
    if *adr <> 0 then
        adr = *adr + 4
        memset(adr, 0, 256 * 4)
    end if
end sub

private sub Initialize()
    RegisterProcs()
    ret = check_compat()
    if ret=1 then
        LockMainPower()
        palette_mod()
    end if
end sub

locking the lens and the done was a mixup from the dumper post. the scripts are not unreliable for me though it works every single time after I put everything in the sd card that was supposed to be there. are there any other great scripts out there that I can try / modify that might work with the m100?
« Last Edit: 03 / June / 2019, 17:39:48 by psxpetey »

 

Related Topics