root/platform/sx1/sub/201a/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_height
  7. camera_jpeg_count_str
  8. vid_get_palette_type
  9. vid_get_palette_size
  10. vid_get_bitmap_active_palette
  11. vid_get_bitmap_active_buffer
  12. vid_get_viewport_width_proper
  13. vid_get_viewport_height_proper

   1 #include "platform.h"
   2 
   3 char *hook_raw_image_addr()
   4 {
   5         return (char*) (*(int*)(0x574C+0x18) ? 0x435627D8 : 0x41B724C0);
   6 }
   7 
   8 void *vid_get_viewport_live_fb()
   9 {
  10     void **fb=(void **)0x2300;
  11     unsigned char buff = *((unsigned char*)0x2130); // sub_FF839FC8
  12     if (buff == 0) buff = 2;  else buff--;    
  13     return fb[buff];
  14 }
  15 
  16 void *vid_get_bitmap_fb()
  17 {
  18         return (void*)0x40471000; 
  19 }
  20 
  21 void *vid_get_viewport_fb()
  22 {
  23         return (void*)0x46443400;
  24 }
  25 
  26 void *vid_get_viewport_fb_d()
  27 {
  28         return (void*)(*(int*)(0x53C8+0x58)); 
  29 }
  30 
  31 // default is same as bitmap
  32 /*
  33 int vid_get_viewport_width()
  34 {
  35         return 480;
  36 }
  37 */
  38 long vid_get_viewport_height()
  39 {
  40         return 270;
  41 }
  42 
  43 char *camera_jpeg_count_str()
  44 {
  45         return (char*)0x5CED4;
  46 }
  47 
  48 // PTP display stuff, untested, adapted from ewavr chdkcam patch
  49 // reyalp - type probably wrong, chdkcam patch suggests opposite order from a540 (e.g. vuya)
  50 int vid_get_palette_type() { return 2; }
  51 int vid_get_palette_size() { return 16*4; }
  52 
  53 void *vid_get_bitmap_active_palette() {
  54     return (void*)(*(unsigned int*)(0x8D10+0x20)); // sub_FF903BBC
  55 }
  56 void *vid_get_bitmap_active_buffer()
  57 {
  58     return (void*)(*(int*)(0x8D10+0x0C)); //"Add: %p Width : %ld Hight : %ld", sub_FF903C80
  59 }
  60 // TODO value of vid_get_viewport_height_proper needs to be checked in play, rec, and the different video modes
  61 //int vid_get_viewport_fullscreen_height()               { return 270; }
  62 
  63 // values from chdkcam patch
  64 // commented for now, protocol changes needed to handle correctly
  65 // note, play mode may be 704, needs to be tested
  66 #if 0
  67 int vid_get_viewport_width_proper() { 
  68     return ((mode_get()&MODE_MASK) == MODE_PLAY)?960:*(int*)0x22D0; // VRAM DataSize
  69 }
  70 int vid_get_viewport_height_proper() {
  71     return ((mode_get()&MODE_MASK) == MODE_PLAY)?240:*(int*)(0x22D0+4); // VRAM DataSize
  72 }
  73 #endif
  74 

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