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

IXUS 510 HS/ELPH 530 HS porting attempt

  • 13 Replies
  • 2948 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.

*

Offline reyalp

  • ******
  • 11746
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

  • ******
  • 3815
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 »


 

Related Topics