G1X mark ii Firmware Dump - page 3 - DryOS Development - CHDK Forum
supplierdeeply

G1X mark ii Firmware Dump

  • 28 Replies
  • 11154 Views
Re: G1X mark ii Firmware Dump
« Reply #20 on: 19 / February / 2021, 13:51:51 »
Advertisements
Hello, thanks for starting this work.

I follow CHDK from afar since longtime because my only PS it's in fact a G1X2 and developing a branch is pretty far away from my competences, so I never tried CHDK and I don't know if its potential depends on the camera on which it runs.

I'm sorry if my questions are going to be a bit OT, but this is the only latest developed post about this camera.

What I'd be interested it at moment would be to have full exposure control in video mode and to have a liveview (clean) output via hdmi. Are those possible directly from CHDK ? or if not, is it possible to have them with lua scripts?

Is the code at this state testable on camera? if yes, where I can find some tips on what to do with your patches and mount it on camera?

Thank you

Re: G1X mark ii Firmware Dump
« Reply #21 on: 19 / February / 2021, 15:56:32 »
Attached is a patch against the trunk r5708 which cleans up some of these things:
enable bss initialization in main.c
correct NULL_SUB
remove auto-identified stubs from stubs_entry_2.S and stubs_min.S
generate firmware_crc_data.h

OK, I have applied your patch to my current changes and it doesn't seem to change much of the behavior. I still do not see a "CHDK" logo on start and the camera only boots to preview mode. The camera also seems to crash after 10+ seconds when switching to shooting mode.

To find the remaining unknown functions and variables, I highly recommend the Ghidra version tracking tool: https://chdk.fandom.com/wiki/Ghidra_Version_Tracking_workflow_for_porting

Thanks for the help with this, I will take a closer look at the version tracking tool.

What I'd be interested it at moment would be to have full exposure control in video mode and to have a liveview (clean) output via hdmi. Are those possible directly from CHDK ? or if not, is it possible to have them with lua scripts?

It looks like full exposure control is indeed a feature of CHDK (https://chdk.fandom.com/wiki/Manual_Exposure_Control_for_Video_Recording). However, we have yet to get any of the features full working on the G1X2 other than some basic bootloading and code injection.

Regarding the clean HDMI output of live view, since this camera doesn't support any form of live view HDMI output, I suspect that this would be very unlikely to be supported on this or any camera right now. Someone with more insight into the features and roadmap might know for certain if this is an existing feature, planned feature or if it's even possible.

Is the code at this state testable on camera? if yes, where I can find some tips on what to do with your patches and mount it on camera?

Currently, we are able to inject custom firmware and code to take control of the camera, which is very exciting, but so far the build is very unstable and functionally unusable. Until we can get some of the core features to load properly, the build is useless. Keep your eyes peeled on this thread for updates on the status of the development. You can even help down the road with more in-depth QA and user testing to ensure stability when certain features are used.

One way you can help right now is by trying to identify the current firmware version your camera is on, there are several ways to do this but I think this was the guide I followed:

https://chdk.fandom.com/wiki/CHDK_for_Dummies#How_to_check_the_firmware_version_of_a_Canon_P.26S_camera

Thanks for reaching out and letting me know you are interested in the port, it helps knowing that there are others out there who would benefit from this work!

*

Offline reyalp

  • ******
  • 14079
Re: G1X mark ii Firmware Dump
« Reply #22 on: 19 / February / 2021, 17:01:05 »
OK, I have applied your patch to my current changes and it doesn't seem to change much of the behavior. I still do not see a "CHDK" logo on start and the camera only boots to preview mode. The camera also seems to crash after 10+ seconds when switching to shooting mode.
As I mentioned in IRC, camera crashlogs can sometime be helpful: https://chdk.fandom.com/wiki/Debugging#Camera_crash_logs_.28romlog.29

Incorrect variable addresses in stubs_min.S or NUL_SUBs of functions expected to return a value are good candidates to cause crashes. Incorrect mask bits in platform_kbd.h are another.

If spytask is started but you don't see the splash screen, a likely cause is the bitmap (UI) framebuffers beings wrong. This can also cause crashes, since the drawing writes to the framebuffers and will step on other random memory if they're wrong.

active_bitmap_buffer and bitmap_buffer are found by sig finder, which leaves opacity_buffer in lib.c as the most obvious candidate. The sig finder matches could also be wrong, though less likely IMO.

The fact that this camera supports external EVF may mean there are differences in the display code. I recall philmoz has trouble getting the display working on g5x (which has internal EVF) for a long time.

Quote
Thanks for the help with this, I will take a closer look at the version tracking tool.
Some additional comments on how to use it in: https://chdk.setepontos.com/index.php?topic=5592.msg144943#msg144943

Quote
Regarding the clean HDMI output of live view, since this camera doesn't support any form of live view HDMI output, I suspect that this would be very unlikely to be supported on this or any camera right now. Someone with more insight into the features and roadmap might know for certain if this is an existing feature, planned feature or if it's even possible.
Correct, we haven't figured out how to enable HDMI out in rec for cameras that don't support it.
Don't forget what the H stands for.

*

Offline fe50

  • ******
  • 3147
  • IXUS50 & 860, SX10 Star WARs-Star RAWs
    • fe50
Re: G1X mark ii Firmware Dump
« Reply #23 on: 21 / February / 2021, 07:54:03 »
    Added the following dumps to the CHDK P&S FW dumps repository:
    ...


    Re: G1X mark ii Firmware Dump
    « Reply #24 on: 21 / February / 2021, 08:01:28 »

    One way you can help right now is by trying to identify the current firmware version your camera is on


    Thanks fo your reply, I've just upgrade it from 101 to the 120a

    Correct, we haven't figured out how to enable HDMI out in rec for cameras that don't support it.

    I see! It's pity that we can have liveview via wifi on a mobile but there's absolutely no way to have a signal on a pc.

    Re: G1X mark ii Firmware Dump
    « Reply #25 on: 16 / August / 2023, 19:54:03 »
    Just revisited this project and I am thinking of taking this off the shelf for some tinkering. Is anyone still poking around here?

    *

    Offline reyalp

    • ******
    • 14079
    Re: G1X mark ii Firmware Dump
    « Reply #26 on: 17 / August / 2023, 12:57:11 »
    Just revisited this project and I am thinking of taking this off the shelf for some tinkering. Is anyone still poking around here?
    It's pretty quiet but some of us are still here. Saw your comment in IRC after you'd disconnected.

    Some things have changed in CHDK that may affect you if you want to bring your port up to date with the trunk: We released 1.6, and in the development branch (1.7) Philmoz added thumb2 (digic 6/7) support to code-gen, meaning much of the platform files with inline assembly can be generated, though you still have to define what is generated and how it's patched in cod_gen.txt (see g5x for an example). We also changed UI drawing system for thumb2 cams, though the old method should still be available (see CAM_DRAW_RGBA / CAM_DRAW_YUV in the makefiles).
    Don't forget what the H stands for.

    Re: G1X mark ii Firmware Dump
    « Reply #27 on: 08 / September / 2023, 06:27:53 »
    I have a G1X2, will try porting it since now I have some time with computers.


    *

    Offline reyalp

    • ******
    • 14079
    Re: G1X mark ii Firmware Dump
    « Reply #28 on: 08 / September / 2023, 16:16:26 »
    I have a G1X2, will try porting it since now I have some time with computers.
    I believe @randuhmm did quite a bit of work on this port, so you might want to ping them.
    Don't forget what the H stands for.

     

    Related Topics