root/platform/a420/sub/100b/lib.c

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

DEFINITIONS

This source file includes following definitions.
  1. hook_raw_fptr
  2. hook_raw_ret_addr
  3. hook_raw_image_addr
  4. vid_get_viewport_live_fb
  5. vid_get_bitmap_fb
  6. vid_get_viewport_fb
  7. vid_get_viewport_fb_d
  8. vid_get_viewport_height
  9. camera_jpeg_count_str
  10. vid_get_bitmap_active_buffer
  11. vid_get_bitmap_active_palette
  12. vid_get_palette_type
  13. vid_get_palette_size
  14. vid_get_viewport_width_proper
  15. vid_get_viewport_height_proper

   1 #include "platform.h"
   2 #include "keyboard.h"
   3 
   4 void *hook_raw_fptr()
   5 {
   6     return (void*)0x349CC; // a420 found in taskcreate_ImageSensorTask
   7 }
   8 
   9 void *hook_raw_ret_addr()
  10 {
  11     return (void*)0xFFCAFCB0; // a420 ok
  12 }
  13 
  14 char *hook_raw_image_addr()
  15 {
  16     return (char*)0x10577E28;  // same in a420 ok
  17 }
  18 
  19 /*
  20 void *vid_get_viewport_live_fb()
  21 {
  22     return (void*)0;
  23 }
  24 */
  25 
  26 void *vid_get_viewport_live_fb() // from a540
  27 {
  28        void **fb=(void **)0x4FE0; // a420 @0xFFC8BE74
  29        unsigned char buff = *((unsigned char*)0x4FF0); //a420 @0xFFC8BE70
  30        if (buff == 0) {
  31            buff = 2;
  32        }
  33        else {
  34            buff--;
  35        }
  36        return fb[buff];
  37 }
  38 
  39 void *vid_get_bitmap_fb()
  40 {
  41     return (void*)0x103C79A0; // i guess OK in a420 (@ffd0791c), same as in a430
  42 }
  43 
  44 void *vid_get_viewport_fb()
  45 {
  46     return (void*)0x105F2830; // also OK in a420, same as in a430 (find on "VRAM Address  : %p")
  47 }
  48 
  49 void *vid_get_viewport_fb_d()
  50 {
  51     return (void*)(*(int*)0x715C8); // a420 @ffd0bb14
  52 }
  53 
  54 long vid_get_viewport_height()
  55 {
  56     // return ((mode_get()&MODE_MASK) == MODE_PLAY) ? 240 : 230;
  57     return 240;
  58 }
  59 
  60 char *camera_jpeg_count_str()
  61 {
  62     return (char*)0x7C060; //a420 @ffdfe088
  63 } 
  64 
  65 void *vid_get_bitmap_active_buffer()
  66 {
  67     return (void*)(*(int*)0x5C28); // sub_ffd093e4 DisplayPhysicalScreenWithYUVPalette
  68 }
  69 
  70 void *vid_get_bitmap_active_palette() {
  71     return (void *)0x70fc0; // found also in sub_ffd093e4
  72 }
  73 
  74 int vid_get_palette_type() { return 1; }
  75 int vid_get_palette_size() { return 16*4; }
  76 
  77 
  78 int vid_get_viewport_width_proper()             { return ((mode_get()&MODE_MASK) == MODE_PLAY)?720:*(int*)0x34100;} //sub_ffc8e690
  79 int vid_get_viewport_height_proper()            { return ((mode_get()&MODE_MASK) == MODE_PLAY)?240:*(int*)0x34104;} //"VRAM DataSize H : %04ld, V : %04ld"

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