root/platform/ixus95_sd1200/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. vid_get_viewport_width
  7. vid_get_viewport_height
  8. camera_jpeg_count_str

   1 #include "platform.h"
   2 
   3 //VERIFY_SD780 - - Search for "A/%08x.CRW" and find nearby the hex value found for hook_raw_size.
   4 //VERIFY_SD780 - - Above this is the second value...only value????
   5 //VERIFY_SD1200
   6 char *hook_raw_image_addr()
   7 {
   8         //VERIFY_SD780 ImgProcBuf 0x2968+0x18????
   9     //return (char *) 0x40F30D7C;     // SD1200 found at 0xFFD86024
  10         return (char*) (*(int*)(0x2890) ? 0x424B358C : 0x40F30D7C);
  11 }
  12 
  13 
  14 //VERIFY_SD780 - Search for ; LOCATION: LiveImage.c:0
  15     // There are a few. This one has ~4 vars and calls TakeSemaphore early
  16     // - First LDR (LDR     R4, =0x3F50)
  17 //VERIFY_SD780 - - Find the **fb lower in function.
  18 //VERIFY_SD780 - Original location SD780: 0xFF8B02F4 SD1200: 0xFFC95230
  19 //VERIFY_SD780 - Have doubts...
  20 //VERIFY_SD1200
  21 void *vid_get_viewport_live_fb()
  22 {
  23     void **fb=(void **)0x40E4; // SD1200 from 0xFFC953B4 Really not sure about this.
  24     unsigned char buff = *((unsigned char*)0x3F50); // SD1200 from 0xFFC95230
  25     if (buff == 0) {
  26         buff = 2;
  27     }
  28     else {
  29         buff--;
  30     }
  31     return fb[buff];
  32 }
  33 
  34 
  35 //SD780/SD1200 - - Search for ; LOCATION: BmpDDev.c:138 - First big LDR
  36 //Same on SD780 and SD1200
  37 void *vid_get_bitmap_fb()
  38 {
  39     return (void*)0x403F1000; // SD1200 from 0xFFCADC08
  40 }
  41 
  42 
  43 //SD780/SD1200 - - Search for "VRAM Address"
  44 void *vid_get_viewport_fb()
  45 {
  46     return (void *)0x4076F088; // SD1200 from 0xFFE38210
  47 }
  48 
  49 // Search for regex "ADR     R1, _sub_.*__SlideEffect.c
  50 // Go into the sub two jumps above that line.
  51 // SD990/SD1200 is simple. SD780 does more...
  52 /* SD1200
  53  ROM:FFC41BA8 sub_FFC41BA8                            
  54  ROM:FFC41BA8                 LDR     R0, =0x2658
  55  ROM:FFC41BAC                 LDR     R0, [R0,#0x54]
  56  ROM:FFC41BB0                 BX      LR
  57  */
  58 void *vid_get_viewport_fb_d()
  59 {
  60     return (void*)(*(int*)(0x2658 + 0x54));
  61 }
  62 
  63 int vid_get_viewport_width()
  64 {
  65     return 360;
  66 }
  67 
  68 long vid_get_viewport_height()
  69 {
  70     return 240;
  71 }
  72 
  73 //SD780 - - Search for "9999", LDR above use of "9999"
  74 char *camera_jpeg_count_str()
  75 {
  76     return (char *)0x2F1D4;  //SD1200 from 0xFFD57DC0
  77 }

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