Changeset 127
- Timestamp:
- 04/16/07 21:32:46 (6 years ago)
- Location:
- trunk
- Files:
-
- 30 edited
-
include/lolevel.h (modified) (2 diffs)
-
include/math.h (modified) (1 diff)
-
include/platform.h (modified) (4 diffs)
-
makefile.inc (modified) (1 diff)
-
platform/a610/main.c (modified) (1 diff)
-
platform/a610/shooting.c (modified) (1 diff)
-
platform/a610/sub/100e/stubs_entry.S (modified) (5 diffs)
-
platform/a610/sub/100f/stubs_entry.S (modified) (5 diffs)
-
platform/a620/main.c (modified) (1 diff)
-
platform/a620/shooting.c (modified) (1 diff)
-
platform/a620/sub/100f/stubs_entry.S (modified) (5 diffs)
-
platform/a630/main.c (modified) (1 diff)
-
platform/a630/shooting.c (modified) (1 diff)
-
platform/a630/sub/100c/stubs_entry.S (modified) (5 diffs)
-
platform/a640/main.c (modified) (1 diff)
-
platform/a640/shooting.c (modified) (1 diff)
-
platform/a640/sub/100b/stubs_entry.S (modified) (5 diffs)
-
platform/a710/main.c (modified) (1 diff)
-
platform/a710/shooting.c (modified) (1 diff)
-
platform/a710/sub/100a/stubs_entry.S (modified) (5 diffs)
-
platform/generic/main.c (modified) (1 diff)
-
platform/generic/shooting.c (modified) (3 diffs)
-
platform/generic/wrappers.c (modified) (1 diff)
-
platform/s3is/lib.c (modified) (1 diff)
-
platform/s3is/main.c (modified) (1 diff)
-
platform/s3is/shooting.c (modified) (2 diffs)
-
platform/s3is/sub/100a/stubs_entry.S (modified) (5 diffs)
-
platform/s3is/sub/100a/stubs_entry_2.S (modified) (1 diff)
-
tools/sig_ref_1.txt (modified) (1 diff)
-
tools/signatures.h (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/lolevel.h
r112 r127 17 17 extern long _GetFocusLensSubjectDistance(); 18 18 extern long _GetFocusLensSubjectDistanceFromLens(); 19 extern long _GetCurrentTargetDistance(); 19 20 extern long _GetPropertyCase(long opt_id, void *buf, long bufsize); 20 21 extern long _SetPropertyCase(long opt_id, void *buf, long bufsize); … … 81 82 void kbd_fetch_data(long *dst); 82 83 84 /* math */ 85 extern double __log(double x); 86 extern double __log10(double x); 87 extern double __pow(double x, double y); 88 extern double __sqrt(double x); 89 83 90 #endif -
trunk/include/math.h
r104 r127 5 5 extern float sqrtf(float v); 6 6 7 extern double log(double x); 8 extern double log2(double x); 9 extern double log10(double x); 10 extern double pow(double x, double y); 11 extern double sqrt(double x); 12 7 13 #endif -
trunk/include/platform.h
r106 r127 4 4 #define SSID_INVALID (-32767) 5 5 #define ASID_INVALID (-32767) 6 7 #define MODE_MASK 0x0300 8 #define MODE_REC 0x0100 9 #define MODE_PLAY 0x0200 10 11 #define MODE_SHOOTING_MASK 0x00FF 12 #define MODE_AUTO 1 13 #define MODE_P 2 14 #define MODE_TV 3 15 #define MODE_AV 4 16 #define MODE_M 5 17 #define MODE_PORTRAIT 6 18 #define MODE_NIGHT 7 19 #define MODE_LANDSCAPE 8 20 #define MODE_VIDEO 9 21 #define MODE_STITCH 10 22 #define MODE_MY_COLORS 11 23 #define MODE_SCN_WATER 12 24 #define MODE_SCN_NIGHT 13 25 #define MODE_SCN_CHILD 14 26 #define MODE_SCN_PARTY 15 27 #define MODE_SCN_GRASS 16 28 #define MODE_SCN_SNOW 17 29 #define MODE_SCN_BEACH 18 30 #define MODE_SCN_FIREWORK 19 31 #define MODE_SCN_COLOR_ACCENT 20 32 33 #define MODE_SCREEN_MASK 0x0C00 34 #define MODE_SCREEN_OPENED 0x0400 35 #define MODE_SCREEN_ROTATED 0x0800 6 36 7 37 typedef struct { … … 24 54 char name[8]; 25 55 } ApertureSize; 56 57 /******************************************************************/ 58 59 extern const int dof_tbl[], dof_tbl_size; 26 60 27 61 /******************************************************************/ … … 82 116 void lens_set_focus_pos(long newpos); 83 117 118 long lens_get_target_distance(); 119 84 120 /******************************************************************/ 85 121 … … 96 132 void shooting_set_av_rel(int v); 97 133 134 int shooting_get_real_av(); 135 long shooting_get_current_mode(); 136 98 137 /******************************************************************/ 99 138 100 139 long stat_get_vbatt(); 140 141 /******************************************************************/ 142 143 long vbatt_get_min(); 144 long vbatt_get_max(); 101 145 102 146 /******************************************************************/ -
trunk/makefile.inc
r112 r127 1 VER=test1-pre1 21 VER=test1-pre13 2 2 3 3 PLATFORM=a610 -
trunk/platform/a610/main.c
r104 r127 1 #define VBATT_DEFAULT_MIN (4550) 2 #define VBATT_DEFAULT_MAX (5150) 3 1 4 #include "../generic/main.c" 5 6 static struct { 7 int hackmode; 8 int canonmode; 9 } modemap[] = { 10 { MODE_AUTO, 6 }, 11 { MODE_P, 1 }, 12 { MODE_TV, 3 }, 13 { MODE_AV, 2 }, 14 { MODE_M, 0 }, 15 { MODE_PORTRAIT, 9 }, 16 { MODE_NIGHT, 8 }, 17 { MODE_LANDSCAPE, 7 }, 18 { MODE_VIDEO, 18 }, 19 { MODE_STITCH, 5 }, 20 { MODE_MY_COLORS, 4 }, 21 { MODE_SCN_WATER, 13 }, 22 { MODE_SCN_NIGHT, 15 }, 23 { MODE_SCN_CHILD, 16 }, 24 { MODE_SCN_PARTY, 14 }, 25 { MODE_SCN_GRASS, 10 }, 26 { MODE_SCN_SNOW, 11 }, 27 { MODE_SCN_BEACH, 12 }, 28 { MODE_SCN_FIREWORK, 17 } 29 }; 30 #define MODESCNT (sizeof(modemap)/sizeof(modemap[0])) 31 32 long shooting_get_current_mode() { 33 int mode, i, t=0xFF; 34 35 mode = (physw_status[2] & 0x00002000)?MODE_REC:MODE_PLAY; 36 mode |= (physw_status[2] & 0x00008000)?0:MODE_SCREEN_OPENED; 37 mode |= (physw_status[2] & 0x00004000)?0:MODE_SCREEN_ROTATED; 38 39 _GetPropertyCase(0, &t, 4); 40 for (i=0; i<MODESCNT; ++i) { 41 if (modemap[i].canonmode == t) { 42 return (mode | (modemap[i].hackmode & MODE_SHOOTING_MASK)); 43 } 44 } 45 return (mode); 46 } -
trunk/platform/a610/shooting.c
r106 r127 2 2 3 3 #include "../generic/shooting.c" 4 5 const int dof_tbl[] = {7300, 8460, 9565, 10835, 12565, 14926, 17342, 21709, 29200}; 6 const int dof_tbl_size = sizeof(dof_tbl)/sizeof(dof_tbl[0]); 4 7 5 8 long get_next_photo_dirfile_num() -
trunk/platform/a610/sub/100e/stubs_entry.S
r105 r127 14 14 NSTUB(ExitTask, 0xffc11610) 15 15 NSTUB(FreeMemory, 0xffc01b28) 16 NSTUB(GetCurrentTargetDistance, 0xffe736bc) 16 17 NSTUB(GetParameterData, 0xffd4e2fc) 17 18 NSTUB(GetPropertyCase, 0xffc141a8) … … 30 31 NSTUB(kbd_pwr_on, 0xffc17564) 31 32 NSTUB(kbd_read_keys_r2, 0xffc16fd8) 33 NSTUB(_log10, 0xffea8a84) 34 NSTUB(_log, 0xffea83dc) 32 35 NSTUB(lseek, 0xffebbfa0) 33 36 NSTUB(MakeDirectory, 0xffc5c9b0) … … 35 38 // ALT: NSTUB(memcmp, 0xffec3db8) // 9/0 36 39 NSTUB(memcpy, 0xffeb5a0c) 40 NSTUB(memPartAlloc, 0xffebee28) 41 NSTUB(memPartFindMax, 0xffebdb68) 37 42 NSTUB(memset, 0xffeb5a84) 38 43 NSTUB(mkdir, 0xffc5c8f4) … … 41 46 NSTUB(Open, 0xffc5c6e4) 42 47 NSTUB(PhySw_testgpio, 0xffc17658) 48 NSTUB(_pow, 0xffea8f74) 43 49 NSTUB(ProtectFile, 0xffc55198) 44 50 NSTUB(read, 0xffebbebc) … … 48 54 NSTUB(SetPropertyCase, 0xffc1408c) 49 55 NSTUB(SleepTask, 0xffc11164) 56 NSTUB(_sqrt, 0xffead2c0) 50 57 NSTUB(strcmp, 0xffeb5af4) 51 58 NSTUB(strcpy, 0xffeb5c88) -
trunk/platform/a610/sub/100f/stubs_entry.S
r105 r127 14 14 NSTUB(ExitTask, 0xffc11610) 15 15 NSTUB(FreeMemory, 0xffc01b28) 16 NSTUB(GetCurrentTargetDistance, 0xffe73a44) 16 17 NSTUB(GetParameterData, 0xffd4e684) 17 18 NSTUB(GetPropertyCase, 0xffc141a8) … … 30 31 NSTUB(kbd_pwr_on, 0xffc17564) 31 32 NSTUB(kbd_read_keys_r2, 0xffc16fd8) 33 NSTUB(_log10, 0xffea8e0c) 34 NSTUB(_log, 0xffea8764) 32 35 NSTUB(lseek, 0xffebc328) 33 36 NSTUB(MakeDirectory, 0xffc5cd38) … … 35 38 // ALT: NSTUB(memcmp, 0xffec4140) // 9/0 36 39 NSTUB(memcpy, 0xffeb5d94) 40 NSTUB(memPartAlloc, 0xffebf1b0) 41 NSTUB(memPartFindMax, 0xffebdef0) 37 42 NSTUB(memset, 0xffeb5e0c) 38 43 NSTUB(mkdir, 0xffc5cc7c) … … 41 46 NSTUB(Open, 0xffc5ca6c) 42 47 NSTUB(PhySw_testgpio, 0xffc17658) 48 NSTUB(_pow, 0xffea92fc) 43 49 NSTUB(ProtectFile, 0xffc55520) 44 50 NSTUB(read, 0xffebc244) … … 48 54 NSTUB(SetPropertyCase, 0xffc1408c) 49 55 NSTUB(SleepTask, 0xffc11164) 56 NSTUB(_sqrt, 0xffead648) 50 57 NSTUB(strcmp, 0xffeb5e7c) 51 58 NSTUB(strcpy, 0xffeb6010) -
trunk/platform/a620/main.c
r104 r127 1 #define VBATT_DEFAULT_MIN (4550) 2 #define VBATT_DEFAULT_MAX (5150) 3 1 4 #include "../generic/main.c" 5 6 static struct { 7 int hackmode; 8 int canonmode; 9 } modemap[] = { 10 { MODE_AUTO, 6 }, 11 { MODE_P, 1 }, 12 { MODE_TV, 3 }, 13 { MODE_AV, 2 }, 14 { MODE_M, 0 }, 15 { MODE_PORTRAIT, 9 }, 16 { MODE_NIGHT, 8 }, 17 { MODE_LANDSCAPE, 7 }, 18 { MODE_VIDEO, 18 }, 19 { MODE_STITCH, 5 }, 20 { MODE_MY_COLORS, 4 }, 21 { MODE_SCN_WATER, 13 }, 22 { MODE_SCN_NIGHT, 15 }, 23 { MODE_SCN_CHILD, 16 }, 24 { MODE_SCN_PARTY, 14 }, 25 { MODE_SCN_GRASS, 10 }, 26 { MODE_SCN_SNOW, 11 }, 27 { MODE_SCN_BEACH, 12 }, 28 { MODE_SCN_FIREWORK, 17 } 29 }; 30 #define MODESCNT (sizeof(modemap)/sizeof(modemap[0])) 31 32 long shooting_get_current_mode() { 33 int mode, i, t=0xFF; 34 35 mode = (physw_status[2] & 0x00002000)?MODE_REC:MODE_PLAY; 36 mode |= (physw_status[2] & 0x00008000)?0:MODE_SCREEN_OPENED; 37 mode |= (physw_status[2] & 0x00004000)?0:MODE_SCREEN_ROTATED; 38 39 _GetPropertyCase(0, &t, 4); 40 for (i=0; i<MODESCNT; ++i) { 41 if (modemap[i].canonmode == t) { 42 return (mode | (modemap[i].hackmode & MODE_SHOOTING_MASK)); 43 } 44 } 45 return (mode); 46 } -
trunk/platform/a620/shooting.c
r106 r127 2 2 3 3 #include "../generic/shooting.c" 4 5 const int dof_tbl[] = {7300, 8460, 9565, 10835, 12565, 14926, 17342, 21709, 29200}; 6 const int dof_tbl_size = sizeof(dof_tbl)/sizeof(dof_tbl[0]); 4 7 5 8 long get_next_photo_dirfile_num() -
trunk/platform/a620/sub/100f/stubs_entry.S
r105 r127 14 14 NSTUB(ExitTask, 0xffc115f0) 15 15 NSTUB(FreeMemory, 0xffc01b28) 16 NSTUB(GetCurrentTargetDistance, 0xffe7a398) 16 17 NSTUB(GetParameterData, 0xffd4f350) 17 18 NSTUB(GetPropertyCase, 0xffc14188) … … 30 31 NSTUB(kbd_pwr_on, 0xffc17544) 31 32 NSTUB(kbd_read_keys_r2, 0xffc16fb8) 33 NSTUB(_log10, 0xffeaf7a8) 34 NSTUB(_log, 0xffeaf100) 32 35 NSTUB(lseek, 0xffec2cc4) 33 36 NSTUB(MakeDirectory, 0xffc5d130) … … 35 38 // ALT: NSTUB(memcmp, 0xffecaadc) // 9/0 36 39 NSTUB(memcpy, 0xffebc730) 40 NSTUB(memPartAlloc, 0xffec5b4c) 41 NSTUB(memPartFindMax, 0xffec488c) 37 42 NSTUB(memset, 0xffebc7a8) 38 43 NSTUB(mkdir, 0xffc5d074) … … 43 48 NSTUB(Open, 0xffc5ce64) 44 49 NSTUB(PhySw_testgpio, 0xffc17638) 50 NSTUB(_pow, 0xffeafc98) 45 51 NSTUB(ProtectFile, 0xffc55aac) 46 52 NSTUB(read, 0xffec2be0) … … 50 56 NSTUB(SetPropertyCase, 0xffc1406c) 51 57 NSTUB(SleepTask, 0xffc11144) 58 NSTUB(_sqrt, 0xffeb3fe4) 52 59 NSTUB(strcmp, 0xffebc818) 53 60 NSTUB(strcpy, 0xffebc9ac) -
trunk/platform/a630/main.c
r104 r127 1 #define VBATT_DEFAULT_MIN (4550) 2 #define VBATT_DEFAULT_MAX (5150) 3 1 4 #include "../generic/main.c" 5 6 static struct { 7 int hackmode; 8 int canonmode; 9 } modemap[] = { 10 { MODE_AUTO, 6 }, 11 { MODE_P, 1 }, 12 { MODE_TV, 3 }, 13 { MODE_AV, 2 }, 14 { MODE_M, 0 }, 15 { MODE_PORTRAIT, 9 }, 16 { MODE_NIGHT, 8 }, 17 { MODE_LANDSCAPE, 7 }, 18 { MODE_VIDEO, 18 }, 19 { MODE_STITCH, 5 }, 20 { MODE_MY_COLORS, 4 }, 21 { MODE_SCN_WATER, 13 }, 22 { MODE_SCN_NIGHT, 15 }, 23 { MODE_SCN_CHILD, 16 }, 24 { MODE_SCN_PARTY, 14 }, 25 { MODE_SCN_GRASS, 10 }, 26 { MODE_SCN_SNOW, 11 }, 27 { MODE_SCN_BEACH, 12 }, 28 { MODE_SCN_FIREWORK, 17 } 29 }; 30 #define MODESCNT (sizeof(modemap)/sizeof(modemap[0])) 31 32 long shooting_get_current_mode() { 33 int mode, i, t=0xFF; 34 35 mode = (physw_status[2] & 0x00002000)?MODE_REC:MODE_PLAY; 36 mode |= (physw_status[2] & 0x00008000)?0:MODE_SCREEN_OPENED; 37 mode |= (physw_status[2] & 0x00004000)?0:MODE_SCREEN_ROTATED; 38 39 _GetPropertyCase(0, &t, 4); 40 for (i=0; i<MODESCNT; ++i) { 41 if (modemap[i].canonmode == t) { 42 return (mode | (modemap[i].hackmode & MODE_SHOOTING_MASK)); 43 } 44 } 45 return (mode); 46 } -
trunk/platform/a630/shooting.c
r106 r127 2 2 3 3 #include "../generic/shooting.c" 4 5 const int dof_tbl[] = {7300, 8460, 9565, 10835, 12565, 14926, 17342, 21709, 29200}; 6 const int dof_tbl_size = sizeof(dof_tbl)/sizeof(dof_tbl[0]); 4 7 5 8 long get_next_photo_dirfile_num() -
trunk/platform/a630/sub/100c/stubs_entry.S
r105 r127 18 18 // Best match: 92% 19 19 NSTUB(FreeMemory, 0xffc01abc) 20 NSTUB(GetCurrentTargetDistance, 0xffea94d0) 20 21 NSTUB(GetParameterData, 0xffd6d854) 21 22 NSTUB(GetPropertyCase, 0xffc14de4) … … 35 36 NSTUB(kbd_pwr_on, 0xffc188c8) 36 37 NSTUB(kbd_read_keys_r2, 0xffc18274) 38 NSTUB(_log10, 0xffee2090) 39 NSTUB(_log, 0xffee5cf0) 37 40 NSTUB(lseek, 0xffef037c) 38 41 NSTUB(MakeDirectory, 0xffc617fc) … … 40 43 // ALT: NSTUB(memcmp, 0xffef7438) // 9/0 41 44 NSTUB(memcpy, 0xffeeb2d0) 45 NSTUB(memPartAlloc, 0xffef3204) 46 NSTUB(memPartFindMax, 0xffef1f44) 42 47 NSTUB(memset, 0xffeeb348) 43 48 NSTUB(mkdir, 0xffc61740) … … 49 54 // Best match: 86% 50 55 NSTUB(PhySw_testgpio, 0xffc18964) 56 NSTUB(_pow, 0xffee2218) 51 57 NSTUB(ProtectFile, 0xffc59b04) 52 58 NSTUB(read, 0xffef0298) … … 56 62 NSTUB(SetPropertyCase, 0xffc14c94) 57 63 NSTUB(SleepTask, 0xffc119d0) 64 NSTUB(_sqrt, 0xffee40ec) 58 65 NSTUB(strcmp, 0xffeeb3b8) 59 66 NSTUB(strcpy, 0xffeeb54c) -
trunk/platform/a640/main.c
r104 r127 1 #define VBATT_DEFAULT_MIN (4550) 2 #define VBATT_DEFAULT_MAX (5150) 3 1 4 #include "../generic/main.c" 5 6 static struct { 7 int hackmode; 8 int canonmode; 9 } modemap[] = { 10 { MODE_AUTO, 6 }, 11 { MODE_P, 1 }, 12 { MODE_TV, 3 }, 13 { MODE_AV, 2 }, 14 { MODE_M, 0 }, 15 { MODE_PORTRAIT, 9 }, 16 { MODE_NIGHT, 8 }, 17 { MODE_LANDSCAPE, 7 }, 18 { MODE_VIDEO, 18 }, 19 { MODE_STITCH, 5 }, 20 { MODE_MY_COLORS, 4 }, 21 { MODE_SCN_WATER, 13 }, 22 { MODE_SCN_NIGHT, 15 }, 23 { MODE_SCN_CHILD, 16 }, 24 { MODE_SCN_PARTY, 14 }, 25 { MODE_SCN_GRASS, 10 }, 26 { MODE_SCN_SNOW, 11 }, 27 { MODE_SCN_BEACH, 12 }, 28 { MODE_SCN_FIREWORK, 17 } 29 }; 30 #define MODESCNT (sizeof(modemap)/sizeof(modemap[0])) 31 32 long shooting_get_current_mode() { 33 int mode, i, t=0xFF; 34 35 mode = (physw_status[2] & 0x00002000)?MODE_REC:MODE_PLAY; 36 mode |= (physw_status[2] & 0x00008000)?0:MODE_SCREEN_OPENED; 37 mode |= (physw_status[2] & 0x00004000)?0:MODE_SCREEN_ROTATED; 38 39 _GetPropertyCase(0, &t, 4); 40 for (i=0; i<MODESCNT; ++i) { 41 if (modemap[i].canonmode == t) { 42 return (mode | (modemap[i].hackmode & MODE_SHOOTING_MASK)); 43 } 44 } 45 return (mode); 46 } -
trunk/platform/a640/shooting.c
r106 r127 2 2 3 3 #include "../generic/shooting.c" 4 5 const int dof_tbl[] = {7300, 8460, 9565, 10835, 12565, 14926, 17342, 21709, 29200}; 6 const int dof_tbl_size = sizeof(dof_tbl)/sizeof(dof_tbl[0]); 4 7 5 8 long get_next_photo_dirfile_num() -
trunk/platform/a640/sub/100b/stubs_entry.S
r105 r127 17 17 // Best match: 92% 18 18 NSTUB(FreeMemory, 0xffc01abc) 19 NSTUB(GetCurrentTargetDistance, 0xffeb2ec8) 19 20 NSTUB(GetParameterData, 0xffd704f8) 20 21 // Best match: 89% … … 35 36 NSTUB(kbd_pwr_on, 0xffc18f68) 36 37 NSTUB(kbd_read_keys_r2, 0xffc18914) 38 NSTUB(_log10, 0xffeebfb8) 39 NSTUB(_log, 0xffeefc18) 37 40 NSTUB(lseek, 0xffefa2a4) 38 41 NSTUB(MakeDirectory, 0xffc628bc) … … 40 43 // ALT: NSTUB(memcmp, 0xfff01360) // 9/0 41 44 NSTUB(memcpy, 0xffef51f8) 45 NSTUB(memPartAlloc, 0xffefd12c) 46 NSTUB(memPartFindMax, 0xffefbe6c) 42 47 NSTUB(memset, 0xffef5270) 43 48 NSTUB(mkdir, 0xffc62800) … … 49 54 // Best match: 86% 50 55 NSTUB(PhySw_testgpio, 0xffc19004) 56 NSTUB(_pow, 0xffeec140) 51 57 NSTUB(ProtectFile, 0xffc5ab90) 52 58 NSTUB(read, 0xffefa1c0) … … 56 62 NSTUB(SetPropertyCase, 0xffc15334) 57 63 NSTUB(SleepTask, 0xffc12068) 64 NSTUB(_sqrt, 0xffeee014) 58 65 NSTUB(strcmp, 0xffef52e0) 59 66 NSTUB(strcpy, 0xffef5474) -
trunk/platform/a710/main.c
r104 r127 1 #define VBATT_DEFAULT_MIN (2550) 2 #define VBATT_DEFAULT_MAX (2300) 3 1 4 #include "../generic/main.c" 5 6 static struct { 7 int hackmode; 8 int canonmode; 9 } modemap[] = { 10 { MODE_AUTO, 6 }, 11 { MODE_P, 1 }, 12 { MODE_TV, 3 }, 13 { MODE_AV, 2 }, 14 { MODE_M, 0 }, 15 { MODE_PORTRAIT, 9 }, 16 { MODE_NIGHT, 8 }, 17 { MODE_LANDSCAPE, 7 }, 18 { MODE_VIDEO, 18 }, 19 { MODE_STITCH, 5 }, 20 { MODE_MY_COLORS, 4 }, 21 { MODE_SCN_WATER, 13 }, 22 { MODE_SCN_NIGHT, 15 }, 23 { MODE_SCN_CHILD, 16 }, 24 { MODE_SCN_PARTY, 14 }, 25 { MODE_SCN_GRASS, 10 }, 26 { MODE_SCN_SNOW, 11 }, 27 { MODE_SCN_BEACH, 12 }, 28 { MODE_SCN_FIREWORK, 17 } 29 }; 30 #define MODESCNT (sizeof(modemap)/sizeof(modemap[0])) 31 32 long shooting_get_current_mode() { 33 int mode, i, t=0xFF; 34 35 mode = (physw_status[2] & 0x00002000)?MODE_REC:MODE_PLAY; 36 mode |= (physw_status[2] & 0x00008000)?0:MODE_SCREEN_OPENED; 37 mode |= (physw_status[2] & 0x00004000)?0:MODE_SCREEN_ROTATED; 38 39 _GetPropertyCase(0, &t, 4); 40 for (i=0; i<MODESCNT; ++i) { 41 if (modemap[i].canonmode == t) { 42 return (mode | (modemap[i].hackmode & MODE_SHOOTING_MASK)); 43 } 44 } 45 return (mode); 46 } -
trunk/platform/a710/shooting.c
r106 r127 2 2 3 3 #include "../generic/shooting.c" 4 5 const int dof_tbl[] = {5800, 6420, 7060, 7700, 8340, 9950, 11550, 13160, 14750, 17150, 19570, 22760, 26750, 30750, 34800}; 6 const int dof_tbl_size = sizeof(dof_tbl)/sizeof(dof_tbl[0]); 4 7 5 8 long get_next_photo_dirfile_num() -
trunk/platform/a710/sub/100a/stubs_entry.S
r105 r127 17 17 // Best match: 92% 18 18 NSTUB(FreeMemory, 0xffc01abc) 19 NSTUB(GetCurrentTargetDistance, 0xffeb6234) 19 20 NSTUB(GetParameterData, 0xffd76090) 20 21 NSTUB(GetPropertyCase, 0xffc14dec) … … 34 35 NSTUB(kbd_pwr_on, 0xffc18800) 35 36 NSTUB(kbd_read_keys_r2, 0xffc1829c) 37 NSTUB(_log10, 0xffeef88c) 38 NSTUB(_log, 0xffef34ec) 36 39 NSTUB(lseek, 0xffefdbc4) 37 40 NSTUB(MakeDirectory, 0xffc612d8) … … 39 42 // ALT: NSTUB(memcmp, 0xfff04c80) // 9/0 40 43 NSTUB(memcpy, 0xffef8b18) 44 NSTUB(memPartAlloc, 0xfff00a4c) 45 NSTUB(memPartFindMax, 0xffeff78c) 41 46 NSTUB(memset, 0xffef8b90) 42 47 NSTUB(mkdir, 0xffc6121c) … … 46 51 // Best match: 86% 47 52 NSTUB(PhySw_testgpio, 0xffc1889c) 53 NSTUB(_pow, 0xffeefa14) 48 54 NSTUB(ProtectFile, 0xffc595e0) 49 55 NSTUB(read, 0xffefdae0) … … 53 59 NSTUB(SetPropertyCase, 0xffc14c9c) 54 60 NSTUB(SleepTask, 0xffc119d0) 61 NSTUB(_sqrt, 0xffef18e8) 55 62 NSTUB(strcmp, 0xffef8c00) 56 63 NSTUB(strcpy, 0xffef8d94) -
trunk/platform/generic/main.c
r104 r127 124 124 } 125 125 126 long vbatt_get_min() 127 { 128 return VBATT_DEFAULT_MIN; 129 } 130 131 long vbatt_get_max() 132 { 133 return VBATT_DEFAULT_MAX; 134 } -
trunk/platform/generic/shooting.c
r104 r127 3 3 #include "core.h" 4 4 #include "keyboard.h" 5 #include "math.h" 5 6 6 7 const ApertureSize aperture_sizes_table[] = { … … 146 147 } 147 148 149 int shooting_get_real_av() 150 { 151 #if 1 152 short int avv = 0; 153 _GetPropertyCase(68, &avv, sizeof(avv)); 154 return (int)(((double)pow(1.4142135623730950488016887242097/* sqrt(2) */, ((double)avv)/96.0))*100.0); 155 #else 156 return (int)(((double)pow(1.4142135623730950488016887242097/* sqrt(2) */, ((double)_GetCurrentAvValue())/96.0))*100.0); 157 #endif 158 } 159 148 160 void shooting_set_av(int v) 149 161 { … … 199 211 return v; 200 212 } 213 -
trunk/platform/generic/wrappers.c
r106 r127 132 132 return res; 133 133 } 134 135 double log(double x) { 136 return __log(x); 137 } 138 139 double log10(double x) { 140 return __log10(x); 141 } 142 143 double pow(double x, double y) { 144 return __pow(x, y); 145 } 146 147 double sqrt(double x) { 148 return __sqrt(x); 149 } 150 151 long lens_get_target_distance() 152 { 153 return _GetCurrentTargetDistance(); 154 } -
trunk/platform/s3is/lib.c
r111 r127 30 30 31 31 32 long _GetFocusLensSubjectDistance()33 {34 return -1;35 }36 37 32 void _kbd_pwr_on() 38 33 { -
trunk/platform/s3is/main.c
r111 r127 1 #define VBATT_DEFAULT_MIN (4550) 2 #define VBATT_DEFAULT_MAX (5150) 3 1 4 #include "../generic/main.c" 5 6 static struct { 7 int hackmode; 8 int canonmode; 9 } modemap[] = { 10 { MODE_AUTO, 32768 }, 11 { MODE_P, 32772 }, 12 { MODE_TV, 32771 }, 13 { MODE_AV, 32770 }, 14 { MODE_M, 32769 }, 15 { MODE_PORTRAIT, 32781 }, 16 { MODE_NIGHT, 32782 }, 17 { MODE_LANDSCAPE, 32780 }, 18 { MODE_VIDEO, 2590 }, 19 { MODE_STITCH, 33290 }, 20 { MODE_MY_COLORS, 16921 }, 21 { MODE_SCN_NIGHT, 16395 }, 22 { MODE_SCN_CHILD, 32775 }, 23 { MODE_SCN_PARTY, 16400 }, 24 { MODE_SCN_GRASS, 16401 }, 25 { MODE_SCN_SNOW, 16402 }, 26 { MODE_SCN_BEACH, 16403 }, 27 { MODE_SCN_FIREWORK, 16404 }, 28 { MODE_SCN_COLOR_ACCENT, 16920 } 29 }; 30 #define MODESCNT (sizeof(modemap)/sizeof(modemap[0])) 31 32 long shooting_get_current_mode() { 33 int mode, i, t=0xFF; 34 35 _GetPropertyCase(204, &t, 4); 36 mode = (t==4)?MODE_REC:MODE_PLAY; 37 mode |= (physw_status[1] & 0x00000001)?0:MODE_SCREEN_OPENED; 38 mode |= (physw_status[1] & 0x00000002)?0:MODE_SCREEN_ROTATED; 39 40 t=0xFF; 41 _GetPropertyCase(0, &t, 4); 42 for (i=0; i<MODESCNT; ++i) { 43 if (modemap[i].canonmode == t) { 44 return (mode | (modemap[i].hackmode & MODE_SHOOTING_MASK)); 45 } 46 } 47 return (mode); 48 } -
trunk/platform/s3is/shooting.c
r124 r127 2 2 3 3 #include "../generic/shooting.c" 4 5 const int dof_tbl[] = {0}; 6 const int dof_tbl_size = /*sizeof(dof_tbl)/sizeof(dof_tbl[0])*/ 0; 4 7 5 8 long get_next_photo_dirfile_num() … … 22 25 long get_file_next_counter() 23 26 { 24 return get_file_counter();27 return ((get_file_counter()>>4)+1)<<4; 25 28 } -
trunk/platform/s3is/sub/100a/stubs_entry.S
r111 r127 15 15 NSTUB(ExitTask, 0xff821a18) 16 16 NSTUB(FreeMemory, 0xff811ad0) 17 NSTUB(GetCurrentTargetDistance, 0xffb0c584) 17 18 // Best match: 84% 18 19 NSTUB(GetParameterData, 0xff994b68) … … 40 41 // Best match: 60% 41 42 NSTUB(kbd_read_keys_r2, 0xff827bf0) 43 NSTUB(_log10, 0xffb45a60) 44 NSTUB(_log, 0xffb496c0) 42 45 NSTUB(lseek, 0xffb542dc) 43 46 NSTUB(MakeDirectory, 0xff871668) … … 45 48 // ALT: NSTUB(memcmp, 0xffb5bdb8) // 9/0 46 49 NSTUB(memcpy, 0xffb4f230) 50 NSTUB(memPartAlloc, 0xffb57164) 51 NSTUB(memPartFindMax, 0xffb55ea4) 47 52 NSTUB(memset, 0xffb4f2a8) 48 53 NSTUB(mkdir, 0xff8715ac) … … 54 59 // Best match: 86% 55 60 NSTUB(PhySw_testgpio, 0xff82835c) 61 NSTUB(_pow, 0xffb45be8) 56 62 NSTUB(ProtectFile, 0xff869730) 57 63 NSTUB(read, 0xffb541f8) … … 62 68 NSTUB(SetPropertyCase, 0xff824870) 63 69 NSTUB(SleepTask, 0xff82156c) 70 NSTUB(_sqrt, 0xffb47abc) 64 71 NSTUB(strcmp, 0xffb4f318) 65 72 NSTUB(strcpy, 0xffb4f4ac) -
trunk/platform/s3is/sub/100a/stubs_entry_2.S
r122 r127 4 4 NHSTUB(GetZoomLensCurrentPosition, 0xFFAE8474) 5 5 NHSTUB(GetZoomLensCurrentPoint, 0xFFAE8460) 6 //NHSTUB(GetFocusLensSubjectDistance, 0xFFEA2F3C)6 NHSTUB(GetFocusLensSubjectDistance, 0xFFAF007C) 7 7 8 8 NHSTUB(platformsub_kbd_fetch_data, 0xFF8281C4) -
trunk/tools/sig_ref_1.txt
r105 r127 60 60 Read 0xFFC5C7A0 61 61 Write 0xFFC5C7AC 62 memPartAlloc 0xFFEBEE28 63 memPartFindMax 0xFFEBDB68 64 _pow 0xFFEA8F74 65 _log 0xFFEA83DC 66 _log10 0xFFEA8A84 67 _sqrt 0xFFEAD2C0 68 GetCurrentTargetDistance 0xFFE736BC -
trunk/tools/signatures.h
r105 r127 1472 1472 }; 1473 1473 1474 static FuncSig func_sig_memPartAlloc_1[] = { 1475 { 0, 0xe1100001, 0xfdffffff }, 1476 { 2, 0xe04dd008, 0xfdffffff }, 1477 { 3, 0x0a000000, 0xff000000 }, 1478 { 6, 0xe15b0000, 0xfdffffff }, 1479 { 7, 0x1a000000, 0xff000000 }, 1480 { 8, 0xeb000000, 0xff000000 }, 1481 { 11, 0xe1a00000, 0xfdffffff }, 1482 { 12, 0xea000000, 0xff000000 }, 1483 { 15, 0xe080000c, 0xfdffffff }, 1484 { 16, 0xe1a0e00f, 0xfdffffff }, 1485 { 17, 0xe1a0f00b, 0xfdffffff }, 1486 { 18, 0xea000000, 0xff000000 }, 1487 { 21, 0xeb000000, 0xff000000 }, 1488 { 22, 0xe08dd008, 0xfdffffff }, 1489 { 24, 0xe1a03000, 0xfdffffff }, 1490 { 26, 0xe1a02001, 0xfdffffff }, 1491 { 27, 0xe1a01003, 0xfdffffff }, 1492 { 28, 0xea000000, 0xff000000 }, 1493 { 29, 0xe1a01000, 0xfdffffff }, 1494 { 31, 0xea000000, 0xff000000 }, 1495 { -1, -1, -1 }, 1496 /* 20/32 */ 1497 }; 1498 1499 static FuncSig func_sig_memPartFindMax_1[] = { 1500 { 0, 0xe1100001, 0xfdffffff }, 1501 { 2, 0xe04dd008, 0xfdffffff }, 1502 { 3, 0xe1a0a000, 0xfdffffff }, 1503 { 4, 0xe1a0b000, 0xfdffffff }, 1504 { 5, 0x0a000000, 0xff000000 }, 1505 { 8, 0xe15b0000, 0xfdffffff }, 1506 { 10, 0x0a000000, 0xff000000 }, 1507 { 13, 0xe08a000c, 0xfdffffff }, 1508 { 14, 0xe1a0e00f, 0xfdffffff }, 1509 { 15, 0xe1a0f00b, 0xfdffffff }, 1510 { 16, 0xea000000, 0xff000000 }, 1511 { 20, 0xe1510000, 0xfdffffff }, 1512 { 21, 0x0a000000, 0xff000000 }, 1513 { 22, 0xe1510000, 0xfdffffff }, 1514 { 23, 0x0a000000, 0xff000000 }, 1515 { 25, 0xe15c0001, 0xfdffffff }, 1516 { 26, 0x0a000000, 0xff000000 }, 1517 { 28, 0xeb000000, 0xff000000 }, 1518 { 31, 0xea000000, 0xff000000 }, 1519 { -1, -1, -1 }, 1520 /* 19/32 */ 1521 }; 1522 1523 static FuncSig func_sig__pow_1[] = { 1524 { 0, 0xe04dd010, 0xfdffffff }, 1525 { 2, 0xe04dd0e0, 0xfdffffff }, 1526 { 3, 0xe1a0cf41, 0xfdffffff }, 1527 { 4, 0xe08cc00d, 0xfdffffff }, 1528 { 6, 0xe1a0cf43, 0xfdffffff }, 1529 { 7, 0xe08cc00d, 0xfdffffff }, 1530 { 11, 0xe08d2068, 0xfdffffff }, 1531 { 18, 0xe08d2070, 0xfdffffff }, 1532 { 26, 0xe00cc003, 0xfdffffff }, 1533 { 30, 0xe003c00c, 0xfdffffff }, 1534 { 31, 0xe1a03000, 0xfdffffff }, 1535 { -1, -1, -1 }, 1536 /* 11/32 */ 1537 }; 1538 1539 static FuncSig func_sig__log_1[] = { 1540 { 1, 0xe04dd050, 0xfdffffff }, 1541 { 2, 0xe1a08000, 0xfdffffff }, 1542 { 3, 0xe1a09001, 0xfdffffff }, 1543 { 4, 0xe08d0018, 0xfdffffff }, 1544 { 9, 0xe1a0c000, 0xfdffffff }, 1545 { 11, 0xe1530601, 0xfdffffff }, 1546 { 13, 0xaa000000, 0xff000000 }, 1547 { 16, 0xe0033002, 0xfdffffff }, 1548 { 19, 0x01a00000, 0xfdffffff }, 1549 { 20, 0x0a000000, 0xff000000 }, 1550 { 22, 0xe15c0000, 0xfdffffff }, 1551 { 24, 0xb1a00000, 0xfdffffff }, 1552 { 25, 0xba000000, 0xff000000 }, 1553 { 27, 0xe1a01009, 0xfdffffff }, 1554 { 28, 0xe1a00008, 0xfdffffff }, 1555 { 31, 0xe1a02000, 0xfdffffff }, 1556 { -1, -1, -1 }, 1557 /* 16/32 */ 1558 }; 1559 1560 static FuncSig func_sig__log10_1[] = { 1561 { 1, 0xe04dd020, 0xfdffffff }, 1562 { 2, 0xe1a08000, 0xfdffffff }, 1563 { 3, 0xe1a09001, 0xfdffffff }, 1564 { 4, 0xe08db008, 0xfdffffff }, 1565 { 8, 0xe1a0b000, 0xfdffffff }, 1566 { 9, 0xe15a0601, 0xfdffffff }, 1567 { 10, 0xaa000000, 0xff000000 }, 1568 { 12, 0xe00ac00c, 0xfdffffff }, 1569 { 15, 0x01a00000, 0xfdffffff }, 1570 { 16, 0x0a000000, 0xff000000 }, 1571 { 17, 0xe15a0000, 0xfdffffff }, 1572 { 19, 0xb1a00000, 0xfdffffff }, 1573 { 20, 0xba000000, 0xff000000 }, 1574 { 22, 0xe1a01009, 0xfdffffff }, 1575 { 23, 0xe1a00008, 0xfdffffff }, 1576 { 25, 0xe1a02000, 0xfdffffff }, 1577 { 26, 0xeb000000, 0xff000000 }, 1578 { 27, 0xe1a09001, 0xfdffffff }, 1579 { 28, 0xe1a08000, 0xfdffffff }, 1580 { 31, 0xe1a0a001, 0xfdffffff }, 1581 { -1, -1, -1 }, 1582 /* 20/32 */ 1583 }; 1584 1585 static FuncSig func_sig__sqrt_1[] = { 1586 { 1, 0xe1a0c470, 0xfdffffff }, 1587 { 3, 0xe111000c, 0xfdffffff }, 1588 { 4, 0x0a000000, 0xff000000 }, 1589 { 5, 0xe1dce001, 0xfdffffff }, 1590 { 6, 0x0a000000, 0xff000000 }, 1591 { 7, 0xe1110480, 0xfdffffff }, 1592 { 8, 0x1a000000, 0xff000000 }, 1593 { 9, 0xe1a0ca21, 0xfdffffff }, 1594 { 10, 0xe1c11a0c, 0xfdffffff }, 1595 { 12, 0xe08cc0fd, 0xfdffffff }, 1596 { 13, 0xe1b0c0ac, 0xfdffffff }, 1597 { 14, 0xe08ccf60, 0xfdffffff }, 1598 { 15, 0x3a000000, 0xff000000 }, 1599 { 16, 0xe1b00080, 0xfdffffff }, 1600 { 18, 0xe1a01501, 0xfdffffff }, 1601 { 20, 0xe1a00500, 0xfdffffff }, 1602 { 21, 0xe1a02440, 0xfdffffff }, 1603 { 22, 0xe1a03000, 0xfdffffff }, 1604 { 23, 0xe0411440, 0xfdffffff }, 1605 { 24, 0xe1a0e540, 0xfdffffff }, 1606 { 25, 0xe0514002, 0xfdffffff }, 1607 { 26, 0x2054400e, 0xfdffffff }, 1608 { 27, 0x21a01004, 0xfdffffff }, 1609 { 28, 0x2082208e, 0xfdffffff }, 1610 { 29, 0xe1b00080, 0xfdffffff }, 1611 { 31, 0xe1b0e0ae, 0xfdffffff }, 1612 { -1, -1, -1 }, 1613 /* 26/32 */ 1614 }; 1615 1616 static FuncSig func_sig_GetCurrentTargetDistance_1[] = { 1617 { 1, 0xeb000000, 0xff000000 }, 1618 { 2, 0xe1a00800, 0xfdffffff }, 1619 { 3, 0xe1a00820, 0xfdffffff }, 1620 { 6, 0xe04dd004, 0xfdffffff }, 1621 { 7, 0xe1a03000, 0xfdffffff }, 1622 { 8, 0xe1a04000, 0xfdffffff }, 1623 { 9, 0xe1a05001, 0xfdffffff }, 1624 { 10, 0xe08d0002, 0xfdffffff }, 1625 { 11, 0xe1a0100d, 0xfdffffff }, 1626 { 12, 0xe1cd30b2, 0xfdffffff }, 1627 { 13, 0xe1cd30b0, 0xfdffffff }, 1628 { 14, 0xeb000000, 0xff000000 }, 1629 { 15, 0xe1dd30b2, 0xfdffffff }, 1630 { 16, 0xe1c430b0, 0xfdffffff }, 1631 { 17, 0xe1dd30b0, 0xfdffffff }, 1632 { 18, 0xe1c530b0, 0xfdffffff }, 1633 { 19, 0xe08dd004, 0xfdffffff }, 1634 { 21, 0xe1a0f00e, 0xfdffffff }, 1635 /* RET found, stopping... */ 1636 { -1, -1, -1 }, 1637 /* 18/32 */ 1638 }; 1639 1474 1640 static FuncSig func_sig_GetSystemTime_2[] = { 1475 1641 { 3, 0xe1550000, 0xfdffffff }, … … 1692 1858 { "ExitTask", func_sig_ExitTask_1 }, 1693 1859 { "FreeMemory", func_sig_FreeMemory_1 }, 1860 { "GetCurrentTargetDistance", func_sig_GetCurrentTargetDistance_1 }, 1694 1861 { "GetParameterData", func_sig_GetParameterData_1 }, 1695 1862 { "GetParameterData", func_sig_GetParameterData_2 }, … … 1710 1877 { "kbd_pwr_on", func_sig_kbd_pwr_on_1 }, 1711 1878 { "kbd_read_keys_r2", func_sig_kbd_read_keys_r2_1 }, 1879 { "_log10", func_sig__log10_1 }, 1880 { "_log", func_sig__log_1 }, 1712 1881 { "lseek", func_sig_lseek_1 }, 1713 1882 { "MakeDirectory", func_sig_MakeDirectory_1 }, 1714 1883 { "memcmp", func_sig_memcmp_1 }, 1715 1884 { "memcpy", func_sig_memcpy_1 }, 1885 { "memPartAlloc", func_sig_memPartAlloc_1 }, 1886 { "memPartFindMax", func_sig_memPartFindMax_1 }, 1716 1887 { "memset", func_sig_memset_1 }, 1717 1888 { "mkdir", func_sig_mkdir_1 }, … … 1721 1892 { "Open", func_sig_Open_1 }, 1722 1893 { "PhySw_testgpio", func_sig_PhySw_testgpio_1 }, 1894 { "_pow", func_sig__pow_1 }, 1723 1895 { "ProtectFile", func_sig_ProtectFile_1 }, 1724 1896 { "read", func_sig_read_1 }, … … 1731 1903 { "SetPropertyCase", func_sig_SetPropertyCase_2 }, 1732 1904 { "SleepTask", func_sig_SleepTask_1 }, 1905 { "_sqrt", func_sig__sqrt_1 }, 1733 1906 { "strcmp", func_sig_strcmp_1 }, 1734 1907 { "strcpy", func_sig_strcpy_1 },
Note: See TracChangeset
for help on using the changeset viewer.