S110 Porting thread - page 3 - DryOS Development - CHDK Forum  

S110 Porting thread

  • 87 Replies
  • 30578 Views
*

Offline Nikon

  • *
  • 25
Re: S110 Porting thread
« Reply #20 on: 18 / January / 2013, 18:25:55 »
Advertisements
I added a while(1); at the very end of the sub_F800038C_my function.
With this change, the camera boots.

I get to the black "No image." screen, and a orange box with the CHDK version and build date displays momentarily.
If I press the "record" button, I get into normal shooting mode, but with a bunch of slightly flickering extra bitmap overlays with gray background (Remaining SD card memory, clock, and stuff). I assume CHDK features?

So I'd say things are looking pretty good?

Now the question is, why is the while(1); helping?
The very last thing in sub_F800038C_my before my while(1); is a call to sub_F800116C_my, and from what I can tell, it does not look like sub_F800116C_my is supposed to return, ever. Am I right?

But obviously it does, and that's probably when it crashes?


Oh, and I did this based on the code before your last changes. Have not tried out the latest changes yet, but perhaps there is no point to disable those functions now that the camera boots?
« Last Edit: 18 / January / 2013, 19:18:00 by Nikon »

*

Offline c10ud

  • ***
  • 245
Re: S110 Porting thread
« Reply #21 on: 19 / January / 2013, 08:53:51 »
I added a while(1); at the very end of the sub_F800038C_my function.
With this change, the camera boots.

I get to the black "No image." screen, and a orange box with the CHDK version and build date displays momentarily.
If I press the "record" button, I get into normal shooting mode, but with a bunch of slightly flickering extra bitmap overlays with gray background (Remaining SD card memory, clock, and stuff). I assume CHDK features?

So I'd say things are looking pretty good?

Now the question is, why is the while(1); helping?
The very last thing in sub_F800038C_my before my while(1); is a call to sub_F800116C_my, and from what I can tell, it does not look like sub_F800116C_my is supposed to return, ever. Am I right?

But obviously it does, and that's probably when it crashes?


Oh, and I did this based on the code before your last changes. Have not tried out the latest changes yet, but perhaps there is no point to disable those functions now that the camera boots?
That's weird. I don't think the while loop is helping though.

If you could try my latest changes we'd have a clean start: I removed some custom task creation and the new task hook in RAM since we don't know yet if it's needed for this cam..

*

Offline Nikon

  • *
  • 25
Re: S110 Porting thread
« Reply #22 on: 19 / January / 2013, 19:37:00 »
I added a while(1); at the very end of the sub_F800038C_my function.
With this change, the camera boots.

I get to the black "No image." screen, and a orange box with the CHDK version and build date displays momentarily.
If I press the "record" button, I get into normal shooting mode, but with a bunch of slightly flickering extra bitmap overlays with gray background (Remaining SD card memory, clock, and stuff). I assume CHDK features?

So I'd say things are looking pretty good?

Now the question is, why is the while(1); helping?
The very last thing in sub_F800038C_my before my while(1); is a call to sub_F800116C_my, and from what I can tell, it does not look like sub_F800116C_my is supposed to return, ever. Am I right?

But obviously it does, and that's probably when it crashes?


Oh, and I did this based on the code before your last changes. Have not tried out the latest changes yet, but perhaps there is no point to disable those functions now that the camera boots?
That's weird. I don't think the while loop is helping though.

If you could try my latest changes we'd have a clean start: I removed some custom task creation and the new task hook in RAM since we don't know yet if it's needed for this cam..

Current version of the branch: Camera boots, but there are no signs of CHDK on the display.

Reenabled HookIntoTaskCreateFunktion: Camera completely dead.

This version of boot.c makes the camera boot with CHDK overlays in shooting mode: http://www.brolinembedded.se/misc/boot.c

*

Offline c10ud

  • ***
  • 245
Re: S110 Porting thread
« Reply #23 on: 20 / January / 2013, 08:48:06 »
I added a while(1); at the very end of the sub_F800038C_my function.
With this change, the camera boots.

I get to the black "No image." screen, and a orange box with the CHDK version and build date displays momentarily.
If I press the "record" button, I get into normal shooting mode, but with a bunch of slightly flickering extra bitmap overlays with gray background (Remaining SD card memory, clock, and stuff). I assume CHDK features?

So I'd say things are looking pretty good?

Now the question is, why is the while(1); helping?
The very last thing in sub_F800038C_my before my while(1); is a call to sub_F800116C_my, and from what I can tell, it does not look like sub_F800116C_my is supposed to return, ever. Am I right?

But obviously it does, and that's probably when it crashes?


Oh, and I did this based on the code before your last changes. Have not tried out the latest changes yet, but perhaps there is no point to disable those functions now that the camera boots?
That's weird. I don't think the while loop is helping though.

If you could try my latest changes we'd have a clean start: I removed some custom task creation and the new task hook in RAM since we don't know yet if it's needed for this cam..

Current version of the branch: Camera boots, but there are no signs of CHDK on the display.

Reenabled HookIntoTaskCreateFunktion: Camera completely dead.

This version of boot.c makes the camera boot with CHDK overlays in shooting mode: http://www.brolinembedded.se/misc/boot.c
Ok then: since enabling the spytask and our hacked physw task works, you should be able to navigate through the CHDK menus.

Now we just need to find out, for the custom chdk task such as captseq, expdrv, etc. if we can use the old 0x193x hooks or we need to mimic sx50hs' with ERR99 custom ASM hooks


*

Offline Nikon

  • *
  • 25
Re: S110 Porting thread
« Reply #24 on: 20 / January / 2013, 10:23:21 »
I added a while(1); at the very end of the sub_F800038C_my function.
With this change, the camera boots.

I get to the black "No image." screen, and a orange box with the CHDK version and build date displays momentarily.
If I press the "record" button, I get into normal shooting mode, but with a bunch of slightly flickering extra bitmap overlays with gray background (Remaining SD card memory, clock, and stuff). I assume CHDK features?

So I'd say things are looking pretty good?

Now the question is, why is the while(1); helping?
The very last thing in sub_F800038C_my before my while(1); is a call to sub_F800116C_my, and from what I can tell, it does not look like sub_F800116C_my is supposed to return, ever. Am I right?

But obviously it does, and that's probably when it crashes?


Oh, and I did this based on the code before your last changes. Have not tried out the latest changes yet, but perhaps there is no point to disable those functions now that the camera boots?
That's weird. I don't think the while loop is helping though.

If you could try my latest changes we'd have a clean start: I removed some custom task creation and the new task hook in RAM since we don't know yet if it's needed for this cam..

Current version of the branch: Camera boots, but there are no signs of CHDK on the display.

Reenabled HookIntoTaskCreateFunktion: Camera completely dead.

This version of boot.c makes the camera boot with CHDK overlays in shooting mode: http://www.brolinembedded.se/misc/boot.c
Ok then: since enabling the spytask and our hacked physw task works, you should be able to navigate through the CHDK menus.

Now we just need to find out, for the custom chdk task such as captseq, expdrv, etc. if we can use the old 0x193x hooks or we need to mimic sx50hs' with ERR99 custom ASM hooks

I have not been able to access the CHDK menu. But then again, I have never used CHDK before, so I might be doing something wrong?
I have tried pressing the Play and disp buttons, but no CHDK menu. Which button is supposed to activate the CHDK menu on this camera?

You are right that the while(1) was unnecessary.
I am now using the latest version, and only change the spytask and physw calls.


The LED code is not quite right yet.
It should be:
*p = *p | 0x21; // Turn on LED
*p = (*p & 0xFFFFFFDF) | 0x1; // Turn off LED
There are similar LED errors in the loader as well.


So, what can I do to figure out the remaining problem? I assume it is in HookIntoTaskCreateFunktion?

*

Offline srsa_4c

  • ******
  • 3979
Re: S110 Porting thread
« Reply #25 on: 20 / January / 2013, 10:45:17 »
I have not been able to access the CHDK menu. But then again, I have never used CHDK before, so I might be doing something wrong?
I have tried pressing the Play and disp buttons, but no CHDK menu. Which button is supposed to activate the CHDK menu on this camera?
Duplicate the KEY_PLAYBACK line in keymap[] (platform/s110/kbd.c), and use KEY_PRINT instead of the original key constant (look at the s100 code to see how).

*

Offline Nikon

  • *
  • 25
Re: S110 Porting thread
« Reply #26 on: 20 / January / 2013, 14:53:16 »
I have not been able to access the CHDK menu. But then again, I have never used CHDK before, so I might be doing something wrong?
I have tried pressing the Play and disp buttons, but no CHDK menu. Which button is supposed to activate the CHDK menu on this camera?
Duplicate the KEY_PLAYBACK line in keymap[] (platform/s110/kbd.c), and use KEY_PRINT instead of the original key constant (look at the s100 code to see how).

That did the trick, thanks!
CHDK menus seems to work fine now.

However, the autofocus function of the camera interferes ALOT with all CHDK graphics in shooting mode. Perhaps a known issue?

The little rectangle which shows where the camera is focusing is redrawn very frequently and messes up the CHDK graphics whenever it even comes nere any CHDK text. It seems the Canon firmware draws a big transparent border around the little auto focus rectangle.

Re: S110 Porting thread
« Reply #27 on: 20 / January / 2013, 15:00:54 »
However, the autofocus function of the camera interferes ALOT with all CHDK graphics in shooting mode. Perhaps a known issue?
A well known issue on every CHDK equipped camera :)   The Canon firmware does not know CHDK is using the LCD and writes whatever it wants wherever it wants.  If its any consolation,  its much better than it used to be thanks to a fix philmoz implemented some time ago.

« Last Edit: 20 / January / 2013, 15:04:52 by waterwingz »
Ported :   A1200    SD940   G10    Powershot N    G16


*

Offline Nikon

  • *
  • 25
Re: S110 Porting thread
« Reply #28 on: 20 / January / 2013, 15:16:12 »
I guessed as much.

BTW, USB remote trigger works. Yay!
(That's one of my goals with CHDK since I sometimes use a camera to copy old books)


The HookIntoTaskCreateFunktion which is disabled for now, which CHDK features needs this?
I assume this function hooks into the creation of existing tasks in the Canon firmware?

Re: S110 Porting thread
« Reply #29 on: 20 / January / 2013, 15:48:16 »
BTW, USB remote trigger works. Yay!
Good news!  IMHO,  the ability to add a remote trigger to a $85 P&S camera is probably on of the best features of CHDK.  But then it all comes down to which features actually interest you.
Ported :   A1200    SD940   G10    Powershot N    G16

 

Related Topics