IXUS 510 HS/ELPH 530 HS porting attempt - page 2 - DryOS Development - CHDK Forum

IXUS 510 HS/ELPH 530 HS porting attempt

  • 15 Replies
  • 3753 Views
Re: IXUS 510 HS/ELPH 530 HS porting attempt
« Reply #10 on: 18 / February / 2019, 17:14:47 »
Advertisements
Well, that explains some things. It looks like the reason I couldn't figure out what I'd done to break this is that I hadn't: the IXUS 240 port this is based on has the exact same crash when booted using firmware update. Which means getting diskboot working is probably the best way forward, and that in turn means figuring out how to override the SD card door check.

*

Online reyalp

  • ******
  • 12156
Re: IXUS 510 HS/ELPH 530 HS porting attempt
« Reply #11 on: 18 / February / 2019, 22:16:14 »
Well, that explains some things. It looks like the reason I couldn't figure out what I'd done to break this is that I hadn't: the IXUS 240 port this is based on has the exact same crash when booted using firmware update. Which means getting diskboot working is probably the best way forward, and that in turn means figuring out how to override the SD card door check.
I would expect it isn't impossible to get firmware update to work, Canon probably try pretty hard to avoid releasing cams without the ability to firmware update.

More likely it's an error in the 240 port that got copied into this one, or a quirk in these models that needs some additional workaround.

And... welcome back ;)
Don't forget what the H stands for.

Re: IXUS 510 HS/ELPH 530 HS porting attempt
« Reply #12 on: 19 / February / 2019, 09:28:57 »
Thanks! It's been quite a while and my memory's a little fuzzy, but I seem to recall that the firmware update problem didn't go away even after disabling most of CHDK. Wouldn't be totally surprised if there's something in Canon's normal firmware that just doesn't like being started from the firmware upgrade command - that presumably wouldn't be a problem when using it to actually update the firmware. In any case, it didn't seem easy to solve.
The good news is that CHDK seems to somewhat work aside from the problems with starting it. If I delay the boot process for long enough to close the card slot, it boots fully, the UI overlays appears (with some glitches), and I can shoot RAW. Current problems/TODO list:
  • I need to override the SD card door open check somehow to make diskboot usable. Annoyingly, the levent number which corresponds to the card door on the Powershot N (which also uses this to invoke diskboot) doesn't seem to exist here, so I'm not sure where this is.
  • finsig didn't find the keytable entries for zoom in/out for some reason.
  • It also didn't find get_nd_value and get_current_nd_value. I presume they should exist on this camera.
  • The overlay seems to clash with the one used by the native firmware to show the current focus spot. CHDK-overlaid content glitches and doesn't show up properly in the area where it appears.
  • It'd sure be nice if booting from the firmware update menu was usable
  • Probably a bunch of other stuff, nothing much is tested.
« Last Edit: 19 / February / 2019, 09:34:31 by makomk »

*

Offline srsa_4c

  • ******
  • 4031
Re: IXUS 510 HS/ELPH 530 HS porting attempt
« Reply #13 on: 19 / February / 2019, 18:30:23 »
It looks like the reason I couldn't figure out what I'd done to break this is that I hadn't: the IXUS 240 port this is based on has the exact same crash when booted using firmware update.
It won't help much, but it's now known what Eeko is: a secondary ARM CPU in the DIGIC, that (when it's activated) can access (approximately) the same memory (RAM, ROM) as the main ARM core. Source of information is the ML forum.
In this camera it appears to be used for some touchscreen related calculations, firmware blobs start at offset 0xda0000 in the dump.
It's possible that the firmware does not expect that core to be active and does not initialize it properly (there are similar problems on several DIGIC 6 ports).

- I need to override the SD card door open check somehow to make diskboot usable.
- finsig didn't find the keytable entries for zoom in/out for some reason.
Locate this section in core/gui_osd.c
Code: [Select]
// debug keymap, KEYS_MASKx, SD_READONLY_FLAG, USB_MASK and uncomment it to get a permanent display of physw_status words.Then, write down their values when cam is idle (some bits can fluctuate, it's normal), then press the missing buttons and move the card door to find the missing bits. *
Quote
- The overlay seems to clash with the one used by the native firmware to show the current focus spot. CHDK-overlaid content glitches and doesn't show up properly in the area where it appears.
This one's "normal", we still can't integrate into the firmware's display routines.

edit:
* I think the card door bit/index is found by sigfinder as
//#define BATTCOVER_FLAG      0x00400000 // Found @0xff5bb4a4, levent 0x205
//#define BATTCOVER_IDX       1
« Last Edit: 19 / February / 2019, 18:40:58 by srsa_4c »


Re: IXUS 510 HS/ELPH 530 HS porting attempt
« Reply #14 on: 30 / March / 2019, 17:16:10 »
Yeah, that works thanks - just had to remember to add the other part of the battery door hack (after remembering that it existed). Most stuff seems to be working, with the exception of zebra stripes and other similar overlays and of course booting from the firmware update menu. PTP works including remote shooting and possibly live preview, USB remote works, RAW shooting seems to work but with terrible lens shading at the corners, tests pass, etc.
There's probably more stuff to do including looking at the mystery of the missing ND filter (which also means this won't build without a fix to core/gui.c - missing #ifdef CAM_HAS_ND_FILTER around gui_nd_filter_state_enum), but this might be close to usable. Probably not going to bother looking into the firmware update issue, that sounds like a big rabbit hole to go down.

*

Offline srsa_4c

  • ******
  • 4031
Re: IXUS 510 HS/ELPH 530 HS porting attempt
« Reply #15 on: 01 / April / 2019, 18:18:30 »
There's probably more stuff to do including looking at the mystery of the missing ND filter (which also means this won't build without a fix to core/gui.c - missing #ifdef CAM_HAS_ND_FILTER around gui_nd_filter_state_enum)
I think this camera has an iris rather than an nd filter. I've attached the aperture specification from the manual (the manual is for both ixus240 and ixus510). Note the use of dash vs comma and also note the F numbers at the tele end.
Quote
Most stuff seems to be working, with the exception of zebra stripes and other similar overlays
If you could share how they not work (not visible, garbled, etc), perhaps we could help.

 

Related Topics