root/platform/sx210is/sub/100c/lib.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. hook_raw_image_addr
  2. vid_get_viewport_live_fb
  3. vid_get_bitmap_fb
  4. vid_get_viewport_fb
  5. vid_get_viewport_fb_d
  6. camera_jpeg_count_str

   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 // Live picture buffer (shoot not pressed) //ASM1989 08.20.2010
  36 void *vid_get_viewport_live_fb()
  37 {
  38 
  39 
  40     return 0x0;
  41 /*
  42     void **fb=(void **)0x2180;                               // 0x2150 or 0x2180 (old SX200) ???? What for SX210
  43     unsigned char buff = *((unsigned char*)0x2058);          // found at FF84FA18 (guess work)
  44     if (buff == 0) buff = 2;  else buff--;
  45     return fb[buff];*/
  46 
  47 
  48 }
  49 
  50 
  51 
  52 // OSD buffer  //ASM1989 08.20.2010
  53 void *vid_get_bitmap_fb()
  54 {
  55         return (void*)0x40431000;                              // found at FF85BE50 and FFA7DC10
  56 }
  57 
  58 
  59 
  60 // Live picture buffer (shoot half-pressed) //ASM1989 08.20.2010
  61 void *vid_get_viewport_fb()
  62 {
  63         return (void*)0x40547700;                              // found by search for VRAM Address @FFB2C7B4
  64 }
  65 
  66 
  67 
  68 // Histo etc. when in play mode maybe ?  //ASM1989 08.20.2010
  69 void *vid_get_viewport_fb_d()
  70 {
  71         return (void*)(*(int*)(0x30B8+0x58));                  // found at FF8743DC  and FF8750CC (0x58 at FF875104)
  72 }
  73 
  74 //ASM1989 08.20.2010
  75 // found at FF91CD90                 LDR     R1, =0x10E     - height 270
  76 // found at FF91CD94                 MOV     R0, #0x3C0   - width 960
  77 
  78 //try to solve screen sizes using sx30 code
  79 
  80 /*
  81 int vid_get_viewport_width()
  82 {
  83     //return ((mode_get()&MODE_MASK) == MODE_VIDEO_STD ||(mode_get()&MODE_MASK) == MODE_PLAY)?480:320;
  84     return 480; // as in sd980
  85     //return 360;                                               // stays at 360 as IN SD990
  86 }
  87 
  88 long vid_get_viewport_height()
  89 {
  90     return 240;
  91 }
  92 */
  93 
  94 
  95 //ASM1989 08.20.2010
  96 char *camera_jpeg_count_str()
  97 {
  98  return (void*)0xA05DC;                                      // found at FFA0E708
  99 }

/* [<][>][^][v][top][bottom][index][help] */