source: trunk/platform/ixus120_sd940/sub/102c/lib.c @ 634

Revision 634, 2.0 KB checked in by msl, 2 years ago (diff)

Aktualisierung auf Rev. 1149/1150 offizieller Trunk

+ Support fuer Firmware-Version 101a (Adresse fuer GetImageFolder fehlt)

  • Korrektur Viewport-Weite fuer Firmware-Version 102c
Line 
1#include "platform.h"
2
3char *hook_raw_image_addr()
4{
5        // return (char*) (*(int*)(0x29D4 + 0x0C)? 0 : 0x40B28560);     // "CRAW BUF", "SsImgProcBuf.c:0"
6
7        return (char*)0x4219D120;                                                                       // @FFAD6E84
8}
9
10long hook_raw_size()
11{
12    return 0x11CA240;                                                                   // @FFAD6EE0
13}
14
15void *vid_get_viewport_live_fb()
16{                                                                                                       // Matched IXUS100-SD780 100c code at 0xFF8B02F4 with IXUS120-SD940 at address 0xFF8D9014
17                                                                                                        // Matched IXUS200-SD980 101c code at 0xFF8E0788 with IXUS120-SD940 at address 0xFF8D9014
18        // return (void*) 0;                                                    // __LiveImage.c__  ok
19    void **fb=(void **)0x4B34;                                          // SD940 102C @ 0xFF8D9280 
20    unsigned char buff = *((unsigned char*)0x497C); // SD940 103C @ 0xFF8D9018
21    if (buff == 0) {
22        buff = 2;
23    }
24    else {
25        buff--;
26    }
27    return fb[buff];
28}
29
30void *vid_get_bitmap_fb()
31{
32        // 0x7080 determined empirically, but 0x7080 = 2*(960-720)*240
33   // return (void*) (0x403F1000 + 0x7080); // dispcon* functions and BmpDDev.c
34
35
36    return (void*) 0x403F1000;
37}
38
39// possible future use, current (or previous ?) bitmap buffer
40/*
41char *vid_get_bitmap_fb_d()
42{
43        int *p =(int *)(*(int*)(0xB550 + 0x4));
44        return ((char *)(*(p+2)));
45}
46*/
47
48void *vid_get_viewport_fb()
49{
50    return (void *) (0x4088B700); // search on VRAM Address
51}
52
53void *vid_get_viewport_fb_d()
54{
55    return (void*)(*(int*)(0x2790 + 0x54));  // sub_FF86AE98, similar to sd990  /// +64, +68
56}
57
58
59long vid_get_bitmap_screen_width()
60{
61    //return 320;
62
63    return 360;
64}
65
66
67long vid_get_bitmap_screen_height()
68{
69    return 240;
70}
71
72
73long vid_get_viewport_height()
74{
75    return 240;
76}
77
78/// check this
79int vid_get_viewport_width()
80{
81        return 960;
82}
83
84char *camera_jpeg_count_str()
85{
86    return (char *) 0x700B0; // search on "9999"
87}
88
89long vid_get_bitmap_buffer_width()
90{
91        return 360;    // changed 2011/04/17 to match value use with IXUS120-SD940 firmare 1.01A, 1.03B, 1.03C
92}
93
94
95long vid_get_bitmap_buffer_height()
96{
97        //return 240;
98
99        return 270;
100}
Note: See TracBrowser for help on using the repository browser.