SD990 - page 5 - DryOS Development - CHDK Forum supplierdeeply

SD990

  • 206 Replies
  • 71380 Views
*

Online reyalp

  • ******
  • 13400
Re: SD990
« Reply #40 on: 12 / March / 2009, 23:14:22 »
Advertisements
That's strange, the code is definitely storing the dimensions and display address into a to the pointers passed to that function:
Code: [Select]
_sub_FF8EA47C__BmpDDev_c__134 
  ...
                 MOV     R0, #0x2D0      ; 720
                 MOV     R1, #0xF0       ; 240
                 STR     R0, [R4]        ; *arg0 = width
                 STR     R1, [R5]        ; *arg1 = height
                 STR     R0, [R6]        ; *arg2 = width
                 LDR     R0, =0x40471000 ; bmp base
                 STR     R0, [R7]        ; *arg3 = base
                 MOV     R0, #1
                 STR     R0, [R8,#0xC]   ; *(0x7D98 + C) = 1
                 MOV     R0, #0
                 LDMFD   SP!, {R4-R8,PC}
The code later in sub_FF9C3654 uses those values to calculate the address of the second bitmap buffer. See around FF9C36B4

You are sure those other cameras do not also have a 720 bmp ? Or perhaps the code is present in recent cameras, but only used in those that have the larger bitmap ?
Don't forget what the H stands for.

*

Offline snc

  • **
  • 64
    • vware
Re: SD990
« Reply #41 on: 13 / March / 2009, 03:56:25 »
Hmm, well as far as I can tell, the code matches with the one in the sd890.

The function @ FF8EA47C in the sd990 matches up with FF8EA99C in the sd890.
Likewise, the area @ FF9C36B4 of the sd990 matches with the area @ FF9AE31C in the sd890.

Obviously, the bmp base address is different, and instead of *(0x7D98 + C) it uses *(0x7EC4 + 14).

Well, to be honest, judging from the code, i am not so sure anymore the sd890 has a bmp buffer width of 360... Just i found it weird, so yesterday night i tried vid_get_bitmap_screen_width and vid_get_bitmap_buffer_width both with 720. Results were really quite bad... Maybe vid_get_bitmap_buffer_width alone should be set to 720? Sure seems strange, will give it a shot later on, just to be certain.

*

Offline ewavr

  • ****
  • 1057
  • A710IS
Re: SD990
« Reply #42 on: 13 / March / 2009, 04:59:03 »
The same code (with 720 and 240) exists in SX100, G9, S5IS, SX10, but all of them work well with 360x240 bitmap size.

*

Offline ewavr

  • ****
  • 1057
  • A710IS
Re: SD990
« Reply #43 on: 13 / March / 2009, 13:18:51 »
@reyalp:

Shooting override works correctly for SD990, if shoot button is pressed quickly?
For SX10 we have in this case real shutter speed from camera settings... and CHDK shutter speed in  JPEG EXIF  :o.


*

Online reyalp

  • ******
  • 13400
Re: SD990
« Reply #44 on: 15 / March / 2009, 04:04:47 »
@ewavr: will test

multipartition support added
12 bit raw stuff from ewavr
diff is now against rev #720
Don't forget what the H stands for.

*

Online reyalp

  • ******
  • 13400
Re: SD990
« Reply #45 on: 15 / March / 2009, 18:07:40 »
@reyalp:

Shooting override works correctly for SD990, if shoot button is pressed quickly?
For SX10 we have in this case real shutter speed from camera settings... and CHDK shutter speed in  JPEG EXIF  :o.
Yes, same problem. I see the code you put in sx10 to workaround this, I'll have a look at that.

When I was doing capt_seq, I looked at a few different cameras, and it some of them seemed to have roughly the same code but put the hooks in different places. I picked the one that looked most similar/easiest, but unfortunately I don't remember which one I used as a model. :(

edit:
Also saw taskCreateHook2. Is there some problem I should check for to see if I need this ?

edit:
workaround from sx10 helps, but doesn't work if flash is triggered ???
example:
set Tv override to 1/4 in auto mode, flash disabled
- half press, then shoot =  Tv 1/4
- quick press = Tv 1/4. Before fix, this would give auto exposure value.
as above, but flash set to auto
- half pres, then shoot = Tv 1/4, no flash
- quick press = Tv 1/60, flash fires

Maybe we should do overrides later
« Last Edit: 16 / March / 2009, 00:36:52 by reyalp »
Don't forget what the H stands for.

*

Offline ewavr

  • ****
  • 1057
  • A710IS
Re: SD990
« Reply #46 on: 16 / March / 2009, 07:16:47 »
Also saw taskCreateHook2. Is there some problem I should check for to see if I need this ?
Sometimes InitFileModules is not hooked (p[0]=(int)init_file_modules_task statement executed, but has no effect).
Hooking InitFileModules in  taskCreateHook2() works when camera is powered on in playback mode.
Hooking InitFileModules in  taskCreateHook() works when camera is powered on in record  mode.
Maybe because InitFileModules is created using CreateTask() function, but all other task (hooked by CHDK) using KernelCreateTask() function?
I don't like it. 
Quote
workaround from sx10 helps, but doesn't work if flash is triggered ???
Same thing on SX10 

edit:
Quote
quick press = Tv 1/60, flash fires
SX10: 1/4 s, flash fires
« Last Edit: 16 / March / 2009, 10:39:47 by ewavr »

*

Online reyalp

  • ******
  • 13400
Re: SD990
« Reply #47 on: 16 / March / 2009, 22:20:38 »
I think the "task hook" isn't really a task like we have in vxworks. 0x1930 and 0x1934 called in the IRQ handler, I don't understand how it works ???

I don't have SD990 starting in record mode yet.
Don't forget what the H stands for.


*

Offline Awol

  • *
  • 18
Re: SD990
« Reply #48 on: 18 / March / 2009, 20:37:21 »
Hey guys! First post here.

I just ordered a Canon SD990 IS to replace my ancient Olympus D-100 (1.3 megapixels! Cellphone cameras can do better than that now!  :lol)

Anyway, I knew I wanted a Canon ever since I found out about CHDK (quite some time ago).
I wish you luck with your porting endeavor, and I can't wait for the final build!
I might even try out the test build when my camera arrives.

Re: SD990
« Reply #49 on: 18 / March / 2009, 22:10:29 »
Raw, auto iso, OSD displays and bracketing make the beta usable and already fun to use try it when you get your Cam
« Last Edit: 16 / April / 2009, 22:42:47 by hnikesch »
It is better to burn a roll of film than curse the darkness Equip, S100 w/CHDK, SD900 w/CHDK, SD990 w/CHDK & Pentax K2000, Pentax Kr
Flickr:

 

Related Topics