| 1 | #include "platform.h" |
|---|
| 2 | |
|---|
| 3 | long vid_get_bitmap_screen_width() |
|---|
| 4 | { |
|---|
| 5 | return 360 ; // SD940 103c ? 360 |
|---|
| 6 | } |
|---|
| 7 | |
|---|
| 8 | long vid_get_bitmap_screen_height() |
|---|
| 9 | { |
|---|
| 10 | return 240; // SD940 103c |
|---|
| 11 | } |
|---|
| 12 | |
|---|
| 13 | int vid_get_viewport_width() |
|---|
| 14 | { |
|---|
| 15 | return 360 ; // SD940 103c ? |
|---|
| 16 | } |
|---|
| 17 | |
|---|
| 18 | long vid_get_viewport_height() |
|---|
| 19 | { |
|---|
| 20 | return 240; // SD940 103c |
|---|
| 21 | } |
|---|
| 22 | |
|---|
| 23 | long vid_get_bitmap_buffer_width() |
|---|
| 24 | { |
|---|
| 25 | return 960; // SD940 103c |
|---|
| 26 | } |
|---|
| 27 | |
|---|
| 28 | long vid_get_bitmap_buffer_height() |
|---|
| 29 | { |
|---|
| 30 | return 270; // SD940 103c |
|---|
| 31 | } |
|---|
| 32 | |
|---|
| 33 | char *camera_jpeg_count_str() |
|---|
| 34 | { |
|---|
| 35 | return (char*) 0x700B0; // SD940 103C search on "9999" |
|---|
| 36 | } |
|---|
| 37 | |
|---|
| 38 | char *hook_raw_image_addr() |
|---|
| 39 | { |
|---|
| 40 | return (char*)0x4219D120; // SD940 103c FFAD6FF8 from matching subroutine in S90 101a FFB0254C |
|---|
| 41 | // ... search for aCrawBuffP DCB "CRAW BUFF %p",0 |
|---|
| 42 | } |
|---|
| 43 | |
|---|
| 44 | long hook_raw_size() |
|---|
| 45 | { |
|---|
| 46 | return 0x11CA240; // SD940 103c Search for "aCrawBuffSizeP" |
|---|
| 47 | |
|---|
| 48 | } |
|---|
| 49 | |
|---|
| 50 | void *vid_get_bitmap_fb() |
|---|
| 51 | { |
|---|
| 52 | return (void*)0x403F1000; // SD940 103c @ FF8532DC after DispCon_ShowBlackChart |
|---|
| 53 | } |
|---|
| 54 | |
|---|
| 55 | void *vid_get_viewport_live_fb() |
|---|
| 56 | { // Matched IXUS100-SD780 100c code at 0xFF8B02F4 with IXUS120-SD940 at address 0xFF8D9014 |
|---|
| 57 | // Matched IXUS200-SD980 101c code at 0xFF8E0788 with IXUS120-SD940 at address 0xFF8D9014 |
|---|
| 58 | // return (void*) 0; // __LiveImage.c__ ok |
|---|
| 59 | void **fb=(void **)0x4B34; // SD940 102C @ 0xFF8D9280 |
|---|
| 60 | unsigned char buff = *((unsigned char*)0x497C); // SD940 103C @ 0xFF8D9018 |
|---|
| 61 | if (buff == 0) { |
|---|
| 62 | buff = 2; |
|---|
| 63 | } |
|---|
| 64 | else { |
|---|
| 65 | buff--; |
|---|
| 66 | } |
|---|
| 67 | return fb[buff]; |
|---|
| 68 | } |
|---|
| 69 | |
|---|
| 70 | void *vid_get_viewport_fb() |
|---|
| 71 | { |
|---|
| 72 | return (void*)0x4088B700; // SD940 103c from matching subroutine in S90 101a |
|---|
| 73 | // search on VRAM Address sub @ 9FFAD4910) |
|---|
| 74 | } |
|---|
| 75 | |
|---|
| 76 | void *vid_get_viewport_fb_d() |
|---|
| 77 | { |
|---|
| 78 | return (void*)(*(int*)(0x2790+0x58)); // @FF869E3C @FF869E74 |
|---|
| 79 | } |
|---|
| 80 | |
|---|
| 81 | |
|---|
| 82 | |
|---|