1 #include "platform.h" 2 3 /* 4 ********************* 5 SX200IS 6 ********************** 7 note sensor size for camera.h is from //ASM1989 08.20.2010 8 @ FFB2FC6C 9 0x14D2400 = 21832704 10 11 21832704 / 12 * 8 = 14555136 12 --- 13 | 14 @ FFB2F7C0 | 15 0x1140 by 0xCE0 = | 16 44416 * 3296 = 14555136 --- 17 */ 18 19 char *hook_raw_image_addr() //ASM1989 08.20.2010 20 { 21 //found at FFB2FB2C 22 23 //ROM:FFB2FB2C LDR R6, =0x41DB3B80 24 //.. 25 //ROM:FFB2FB7C MOV R1, R6 26 //ROM:FFB2FB80 ADR R0, aCrawBuffP ; "CRAW BUFF %p" 27 28 return (char*)(0x41DB3B80); 29 30 //Testing 31 //return (char*) (*(int*)(0x3310+0x18) ? 0x43289400 : 0x415D7CC0); //0x3310 at FF880698 others at FF86AA48 32 33 } 34 35 // OSD buffer //ASM1989 08.20.2010 36 void *vid_get_bitmap_fb() 37 { 38 return (void*)0x40431000; // found at FF85BE50 and FFA7DC10 39 } 40 41 42 void *vid_get_bitmap_active_buffer() 43 { 44 return (void*)(*(int*)(0x62c0+0x18)); //"Add: %p Width : %ld Hight : %ld" 45 } 46 47 // Live picture buffer (shoot half-pressed) //ASM1989 08.20.2010 48 void *vid_get_viewport_fb() 49 { 50 return (void*)0x40547700; // found by search for VRAM Address @FFB2C7B4 51 } 52 53 54 55 // Histo etc. when in play mode maybe ? //ASM1989 08.20.2010 56 void *vid_get_viewport_fb_d() 57 { 58 return (void*)(*(int*)(0x30B8+0x58)); // found at FF8743DC and FF8750CC (0x58 at FF875104) 59 } 60 61 //ASM1989 08.20.2010 62 // found at FF91CD90 LDR R1, =0x10E - height 270 63 // found at FF91CD94 MOV R0, #0x3C0 - width 960 64 65 //try to solve screen sizes using sx30 code 66 67 /* 68 int vid_get_viewport_width() 69 { 70 //return ((mode_get()&MODE_MASK) == MODE_VIDEO_STD ||(mode_get()&MODE_MASK) == MODE_PLAY)?480:320; 71 return 480; // as in sd980 72 //return 360; // stays at 360 as IN SD990 73 } 74 75 long vid_get_viewport_height() 76 { 77 return 240; 78 } 79 */ 80 81 82 //ASM1989 08.20.2010 83 char *camera_jpeg_count_str() 84 { 85 return (void*)0xA05DC; // found at FFA0E708 86 }