IXUS 1100 HS ELPH 510 Porting Thread - page 8 - DryOS Development - CHDK Forum

IXUS 1100 HS ELPH 510 Porting Thread

  • 89 Replies
  • 42159 Views
Re: IXUS 1100 HS ELPH 510 Porting Thread
« Reply #70 on: 17 / July / 2014, 18:26:24 »
Advertisements
Should be fixed in revision 3514 (trunk) and 3515 (release 1.2)

Phil.

Yes, that did it.  The new version in trunk works for me without any problems.  Thanks!

Re: IXUS 1100 HS ELPH 510 Porting Thread
« Reply #71 on: 06 / January / 2017, 22:23:58 »
I'm resurrecting this dead ghost, hopefully philmoz or others may be around, but I finally remembered I never finished this :) .  I've rebuit my whole env did the gen_code, and looked at my old code. I'm basing it off the ixus310_500hs code base. 


I've gotten the blinking lights again, and actually get a lot farther down.  Oddly I seem to remember the LED blinking being a bit slower, but now it goes really fast.


I'm doing the "compile it with the blink test slowly farther down the different subroutines" method and I have passed quite a few now. 


At any rate, it now blinks just fine until I get to the code block:


Code: [Select]
/*************************************************************/
//** taskcreatePhySw_my @ 0xFF0246A4 - 0xFF0246C4, length=9
void __attribute__((naked,noinline)) taskcreatePhySw_my() {
asm volatile (
"    STMFD   SP!, {R3-R5,LR} \n"
"    LDR     R4, =0x1C40 \n"
"    LDR     R0, [R4, #4] \n"
"    CMP     R0, #0 \n"
"    BNE     sub_FF0246D8 \n"
"    MOV     R3, #0 \n"
"    STR     R3, [SP] \n"
"    LDR     R3, =mykbd_task \n"  // --> Patched. Old value = 0xFF024670.
"    MOV     R2, #0x2000 \n"  // --> Patched. Old value = 0x800. stack size for new task_PhySw
"    LDR     PC, =0xFF0246C8 \n"  // Continue in firmware
);
}


/*************************************************************/
//** init_file_modules_task @ 0xFF09920C - 0xFF099228, length=8
void __attribute__((naked,noinline)) init_file_modules_task() {
   blinkLed();
asm volatile (




If you look at the part above, when I had my subroutine blinkLed(); in the block above it worked fine, but now, it's not blinking on the normal push of the play button, instead it does nothing and hangs the camera.  If I hold the power button down for say 3 or 5 seconds the blinkled DOES come on though.  since that section seems to be about the power button, maybe that's why? 


I'm still looking into it.
« Last Edit: 06 / January / 2017, 22:42:51 by pompeiisneaks »

Re: IXUS 1100 HS ELPH 510 Porting Thread
« Reply #72 on: 06 / January / 2017, 22:42:28 »
So yeah, I just got it a lot farther, I removed blinking, to see what it does, and it goes to the boot screen,, shows the screen with 'menu' and then shows a white bar across the screen and seems to hang there. it just shows "No Image." and then stops working.  I can shut it off with the 'power' button at that point, but it makes me think maybe it's working but the touchscreen isn't being initialized correctly so it isn't responding. 


~Phil

*

Offline reyalp

  • ******
  • 14126
Re: IXUS 1100 HS ELPH 510 Porting Thread
« Reply #73 on: 06 / January / 2017, 23:04:18 »
I've gotten the blinking lights again, and actually get a lot farther down.  Oddly I seem to remember the LED blinking being a bit slower, but now it goes really fast.
Just FWIW, this can happen if one version runs without the CPU caches enabled and one runs with. You could see the "slow" version if it was very early in the boot process, or the startup code didn't correctly enabled caching.

So yeah, I just got it a lot farther, I removed blinking, to see what it does, and it goes to the boot screen,, shows the screen with 'menu' and then shows a white bar across the screen and seems to hang there. it just shows "No Image." and then stops working.  I can shut it off with the 'power' button at that point, but it makes me think maybe it's working but the touchscreen isn't being initialized correctly so it isn't responding. 
A test of this would be to disable the touch screen related hooks, by pointing them at the original canon function. If everything else is OK, you should be able to boot, see the splash screen and use the camera normally.
Don't forget what the H stands for.

Re: IXUS 1100 HS ELPH 510 Porting Thread
« Reply #74 on: 06 / January / 2017, 23:26:12 »
To disable that, do you just comment out this:


//if(tcb->entry == (void*)task_TouchPanel)      tcb->entry = (void*)task_TouchPanel_my;


I'm not sure but it seems that's what is forwarding the builtin task_TouchPanel to the custom one, but not sure.  Or do I have to find the address spot that would forward it in the assembly and revert it?


Where would I find that?


~Phil

*

Offline srsa_4c

  • ******
  • 4451
Re: IXUS 1100 HS ELPH 510 Porting Thread
« Reply #75 on: 07 / January / 2017, 12:58:18 »
To disable that, do you just comment out this:


//if(tcb->entry == (void*)task_TouchPanel)      tcb->entry = (void*)task_TouchPanel_my;
If you comment this line (shown as already commented here), the firmware's touch panel task won't be touched.

Re: IXUS 1100 HS ELPH 510 Porting Thread
« Reply #76 on: 07 / January / 2017, 13:05:50 »
Okay I tried that but still no touch seems to work.  Also the odd part is that I don't get a check splash, but a white bar. 

Sent from my SM-T900 using Tapatalk


*

Offline srsa_4c

  • ******
  • 4451
Re: IXUS 1100 HS ELPH 510 Porting Thread
« Reply #77 on: 07 / January / 2017, 13:19:12 »
Okay I tried that but still no touch seems to work.
For a first try, the best is to avoid replacing any fw tasks. You only need to remove the call that starts the diskboot. You also need the Canon heap related hack so CHDK doesn't get overwritten. You may want to share the source.
Quote
Also the odd part is that I don't get a check splash, but a white bar. 
Could be wrong display dimensions. A photo would tell more.

Re: IXUS 1100 HS ELPH 510 Porting Thread
« Reply #78 on: 07 / January / 2017, 13:50:02 »
Here's a short video clip.  It seems with monkeying around I'm getting slightly different behavior. 


https://goo.gl/photos/XZpuJqJtFHEgQAGy7


Basically I turn it on, the white bar comes up and then the normal OS comes up, but if I click the shutter button it powers on the main camera, and shows the CHDK screen info I see in the top.  Next if I take a picture, it just seems to hang somehow, and comes back and I power off/on again and it shows the actual chdk banner that is readable (not sure how clear that was on the video, I should redo with more background light so it doesn't have to adjust the exposure so rapidly on changes in light. 


Anyway per your other comments, I have no idea how to do the canon heap related hack, any link to where that's documented?  I can definitely share the source, I'll upload what i hve to the same svn repo that's listed earlier and repost the link.


~Phil

Re: IXUS 1100 HS ELPH 510 Porting Thread
« Reply #79 on: 07 / January / 2017, 14:06:19 »

 

Related Topics


SimplePortal © 2008-2014, SimplePortal