| 1 | #include "platform.h" |
|---|
| 2 | #include "stdlib.h" |
|---|
| 3 | #include "lolevel.h" |
|---|
| 4 | |
|---|
| 5 | /* |
|---|
| 6 | sensor size from code at FFB64E84 = (3744*2784)*(12/8) = 0xee9200 = 15634944 |
|---|
| 7 | |
|---|
| 8 | @FFB64AAC = 0xea0 = 3744 // raw sensor size |
|---|
| 9 | @FFB64AB4 = 0xae0 = 2784 |
|---|
| 10 | @FFB64ABC = 0xe40 = 3648 // cropped size ?? |
|---|
| 11 | @FFB64AC4 = 0xab0 = 2736 |
|---|
| 12 | */ |
|---|
| 13 | |
|---|
| 14 | |
|---|
| 15 | char *hook_raw_image_addr() |
|---|
| 16 | { |
|---|
| 17 | if (*((int*)0x2ECC) != 0) |
|---|
| 18 | return (char*) 0x46000000; |
|---|
| 19 | else |
|---|
| 20 | return (char*) 0x41269150; |
|---|
| 21 | } |
|---|
| 22 | |
|---|
| 23 | |
|---|
| 24 | long hook_raw_size() |
|---|
| 25 | { |
|---|
| 26 | return 0xEE9200; // @FFB64E84 - ok |
|---|
| 27 | } |
|---|
| 28 | |
|---|
| 29 | |
|---|
| 30 | void *vid_get_viewport_live_fb() |
|---|
| 31 | { |
|---|
| 32 | return (void*) 0; |
|---|
| 33 | |
|---|
| 34 | // TODO - implement for s95 ? |
|---|
| 35 | |
|---|
| 36 | #if 0 |
|---|
| 37 | void **fb=(void **)0x94E18; |
|---|
| 38 | unsigned char buff = *((unsigned char*)0x9114+6); |
|---|
| 39 | if (buff == 0) buff = 2; else buff--; |
|---|
| 40 | return fb[buff]; |
|---|
| 41 | #endif |
|---|
| 42 | } |
|---|
| 43 | |
|---|
| 44 | |
|---|
| 45 | void *vid_get_bitmap_fb() |
|---|
| 46 | { |
|---|
| 47 | return (void*) 0x40471000; // @FF85E704 - ok |
|---|
| 48 | } |
|---|
| 49 | |
|---|
| 50 | |
|---|
| 51 | void *vid_get_viewport_fb() |
|---|
| 52 | { |
|---|
| 53 | return (void*) 0x40587700; // @FFB619C4 - ok |
|---|
| 54 | } |
|---|
| 55 | |
|---|
| 56 | |
|---|
| 57 | // Histo etc. when in play mode maybe ? |
|---|
| 58 | void *vid_get_viewport_fb_d() |
|---|
| 59 | { |
|---|
| 60 | return (void*)(*(int*) (0x2c20+0x58)); // @FF87822C, FF878264 - ok |
|---|
| 61 | } |
|---|
| 62 | |
|---|
| 63 | |
|---|
| 64 | void JogDial_CW(void){ |
|---|
| 65 | _PostLogicalEventForNotPowerType(0x874, 2); // RotateJogDialRight |
|---|
| 66 | } |
|---|
| 67 | |
|---|
| 68 | |
|---|
| 69 | void JogDial_CCW(void){ |
|---|
| 70 | _PostLogicalEventForNotPowerType(0x875, 2); // RotateJogDialLeft |
|---|
| 71 | } |
|---|
| 72 | |
|---|
| 73 | |
|---|
| 74 | char *camera_jpeg_count_str() |
|---|
| 75 | { |
|---|
| 76 | return (char*) 0xBBC9C; // @FFA3ACC4 - ok |
|---|
| 77 | } |
|---|
| 78 | |
|---|
| 79 | |
|---|
| 80 | long vid_get_bitmap_screen_width() |
|---|
| 81 | { |
|---|
| 82 | return 320; |
|---|
| 83 | } |
|---|
| 84 | |
|---|
| 85 | |
|---|
| 86 | long vid_get_bitmap_screen_height() |
|---|
| 87 | { |
|---|
| 88 | return 240; |
|---|
| 89 | } |
|---|
| 90 | |
|---|
| 91 | |
|---|
| 92 | int vid_get_viewport_width() |
|---|
| 93 | { |
|---|
| 94 | return 720; |
|---|
| 95 | } |
|---|
| 96 | |
|---|
| 97 | |
|---|
| 98 | long vid_get_viewport_height() |
|---|
| 99 | { |
|---|
| 100 | return 240; |
|---|
| 101 | |
|---|
| 102 | } |
|---|
| 103 | |
|---|
| 104 | |
|---|
| 105 | // used when drawing to lcd |
|---|
| 106 | long vid_get_bitmap_buffer_width() |
|---|
| 107 | { |
|---|
| 108 | return 960; |
|---|
| 109 | } |
|---|
| 110 | |
|---|
| 111 | |
|---|
| 112 | long vid_get_bitmap_buffer_height() |
|---|
| 113 | { |
|---|
| 114 | return 270; |
|---|
| 115 | } |
|---|
| 116 | |
|---|