source: branches/release-1_0/platform/ixus85_sd770/sub/100a/stubs_entry.S @ 1635

Revision 1635, 15.0 KB checked in by philmoz, 2 years ago (diff)

Update for finsig_dryos:

  • try and find details for vid_get_viewport_fb_d() function and nrflag variable
  • add error handling to prevent crash if incorrect start address used.
  • Property svn:eol-style set to native
Line 
1// !!! THIS FILE IS GENERATED. DO NOT EDIT. !!!
2#include "stubs_asm.h"
3
4// Camera info:
5//   DRYOS R23 (DRYOS version 2.3, release #0023)
6//   Firmware Ver GM1.00A
7//   Canon PowerShot SD770 IS
8
9// Values for makefile.inc
10//   PLATFORMID = 12661 (0x3175) // Found @ 0xfffe0130
11//   MAXRAMADDR = 0x03ffffff
12//   KEYSYS = d3enc              // Found @ 0xffff33e0
13//   NEED_ENCODED_DISKBOOT = 1   // Found @ 0xffff33c0
14
15// Stubs below should be checked. Stub not matched 100%, or difference found to current 'stubs_entry_2.S'
16//    Name                                     Address      Rule  %  Comp to stubs_entry_2.S
17//NSTUB(DebugAssert                           ,0xff81bcf0) //111        *** != 0xff81bcf8
18//NSTUB(PutInNdFilter                         ,0xffa25968) //102        *** != 0xffa7cbdc
19//NSTUB(PutOutNdFilter                        ,0xffa2598c) //102        *** != 0xffa7cc10
20//NSTUB(rename                                ,0xff8235e4) //  1        *** != 0xff823e60
21//NSTUB(write                                 ,0xff823e38) //101        *** != 0xff81a0f4
22
23// Check of modemap from 'platform/CAMERA/shooting.c':
24// Firmware modemap table found @ff877310 -> ff873cd8 -> ff95b7e4 -> ffa398b0 -> ffaf0bf0
25// Mode 32774 in firmware but not in current modemap
26// Mode 32779 in firmware but not in current modemap
27// Mode 32781 in firmware but not in current modemap
28// Mode 16407 in firmware but not in current modemap
29// Current modemap entry not found in firmware - MODE_PORTRAIT            16397
30// Current modemap entry not found in firmware - MODE_NIGHT_SNAPSHOT      16395
31
32// Values below can be overridden in 'stubs_min.S':
33//DEF(physw_status                            ,0x000104d0) // Found @0xff821e34,          stubs_min = 0x000104d0 (0x104D0)
34//DEF(physw_run                               ,0x00001c00) // Found @0xff821ad0,          stubs_min = 0x00001c00 (0x1BF4+0xC)
35//DEF(levent_table                            ,0xffacd870) // Found @0xffacd870,          stubs_min = 0xffacd870 (0xFFACD870)
36//DEF(FlashParamsTable                        ,0xffaf0db4) // Found @0xffaf0db4,          stubs_min = 0xffaf0db4 (0xFFAF0DB4)
37//DEF(movie_status                            ,0x000053a4) // Found @0xff859b6c,          stubs_min = 0x000053a4 (0x5368+0x3C)
38//DEF(canon_menu_active                       ,0x00009608) // Found @0xff94df84,          stubs_min = 0x00009608 (0x9604+4)
39//DEF(canon_shoot_menu_active                 ,0x00009f4d) // Found @0xff96b2bc,          stubs_min = 0x00009f4d (0x9F4C+1)
40//DEF(playrec_mode                            ,0x00005534) // Found @0xff860f44,          stubs_min = 0x00005534 (0x5530+0x4)
41//DEF(zoom_status                             ,0x0000d328) // Found @0xffa3b0b0,          stubs_min = 0x0000d328 (0xD328)
42//DEF(some_flag_for_af_scan                   ,0x0000d0ac) // Found @0xffa262e0,          stubs_min = 0x0000d0ac (0xD0AC)
43// focus_len_table contains zoom focus lengths for use in 'get_focal_length' (main.c).
44// each entry contains 3 int value(s), the first is the zoom focus length.
45// there are 7 entries in the table - set NUM_FL to 7
46DEF(focus_len_table                         ,0xfffe297c) // Found @0xfffe297c
47//DEF(zoom_busy                               ,0x000086a8) // Found @0xff930200,          stubs_min = 0x000086a8 (0x8694+0x14)
48//DEF(focus_busy                              ,0x000085b4) // Found @0xff92bdac,          stubs_min = 0x000085b4 (0x85AC+0x8)
49//DEF(recreview_hold                          ,0x00005dc4) // Found @0xff87cd54, ** != ** stubs_min = 0x00009d2c (0x9C80+0xAC)
50
51// Values below go in 'lib.c':
52//void *vid_get_bitmap_fb()        { return (void*)0x10361000; }             // Found @0xff83e868
53//void *vid_get_viewport_fb()      { return (void*)0x1065adc0; }             // Found @0xffa81ed0
54//void *vid_get_viewport_fb_d()    { return (void*)(*(int*)(0x51d4+0x50)); } // Found @0xff852e38 & 0xff852e70
55//char *camera_jpeg_count_str()    { return (char*)0x0004c73c; }             // Found @0xff9a22a0
56//long hook_raw_size()             { return 0x00ec04f0; }                    // Found @0xffa84154
57//int get_flash_params_count(void) { return 0x73; }                          // Found @0xff95c8a0
58
59// Bitmap masks and physw_status index values for SD_READONLY and USB power flags (for kbd.c).
60//#define SD_READONLY_FLAG    0x00020000 // Found @0xffaaacbc, levent 0x90a
61//#define SD_READONLY_IDX     2
62//#define USB_MASK            0x00040000 // Found @0xffaaacc8, levent 0x902
63//#define USB_IDX             2
64
65// Keymap values for kbd.c. Additional keys may be present, only common values included here.
66//static KeyMap keymap[] = {
67//    { 2, KEY_ZOOM_IN         ,0x00000004 }, // Found @0xffaaac2c, levent 0x02
68//    { 2, KEY_ZOOM_OUT        ,0x00000008 }, // Found @0xffaaac38, levent 0x03
69//    { 2, KEY_LEFT            ,0x00000010 }, // Found @0xffaaac44, levent 0x06
70//    { 2, KEY_RIGHT           ,0x00000020 }, // Found @0xffaaac50, levent 0x07
71//    { 2, KEY_DOWN            ,0x00000040 }, // Found @0xffaaac5c, levent 0x05
72//    { 2, KEY_UP              ,0x00000080 }, // Found @0xffaaac68, levent 0x04
73//    { 2, KEY_SET             ,0x00000100 }, // Found @0xffaaac74, levent 0x08
74//    { 2, KEY_DISPLAY         ,0x00000200 }, // Found @0xffaaac80, levent 0x0a
75//    { 2, KEY_SHOOT_FULL      ,0x00000003 }, // Found @0xffaaac20, levent 0x01
76//    { 2, KEY_SHOOT_FULL_ONLY ,0x00000002 }, // Found @0xffaaac20, levent 0x01
77//    { 2, KEY_MENU            ,0x00000400 }, // Found @0xffaaac8c, levent 0x09
78//    { 2, KEY_SHOOT_HALF      ,0x00000001 }, // Found @0xffaaac14, levent 0x00
79//    { 0, 0, 0 }
80//};
81
82// Values below go in 'platform_camera.h':
83//#define CAM_DRYOS         1
84//#define CAM_RAW_ROWPIX    3720 // Found @0xffa7b800
85//#define CAM_RAW_ROWS      2772 // Found @0xffa7b808
86//#undef  CAM_UNCACHED_BIT
87//#define CAM_UNCACHED_BIT  0x10000000 // Found @0xff8285a4
88
89// Misc stuff
90DEF(ctypes, 0xffaaa7ae)
91
92// For capt_seq.c
93//static long *nrflag = (long*)(0x8dcc);       // Found @ ff93b258
94
95// Stubs below matched 100%.
96//    Name                                     Address                Comp to stubs_entry_2.S
97NSTUB(AllocateMemory                          ,0xffa29178) //101
98NSTUB(AllocateUncacheableMemory               ,0xff828568) //112
99NSTUB(Close                                   ,0xff823d8c) //101
100NSTUB(CreateTask                              ,0xff81b818) //101
101NSTUB(DeleteDirectory_Fut                     ,0xff82371c) //  1
102NSTUB(DeleteFile_Fut                          ,0xff823638) //112
103//NSTUB(DoAFLock                              ,0xff825b84) //102            == 0xff825b84
104NSTUB(EnterToCompensationEVF                  ,0xff825e80) //104
105NSTUB(ExecuteEventProcedure                   ,0xff8691dc) //  1
106NSTUB(ExitFromCompensationEVF                 ,0xff825ed0) //104
107NSTUB(ExitTask                                ,0xff81baa8) //101
108NSTUB(ExpCtrlTool_StartContiAE                ,0xff8329d0) //104
109NSTUB(ExpCtrlTool_StopContiAE                 ,0xff832b14) //104
110NSTUB(Fclose_Fut                              ,0xff8237b4) //101
111NSTUB(Feof_Fut                                ,0xff8239a0) //  1
112NSTUB(Fflush_Fut                              ,0xff8239dc) //  1
113NSTUB(Fgets_Fut                               ,0xff823908) //  1
114NSTUB(Fopen_Fut                               ,0xff823774) //101
115NSTUB(Fread_Fut                               ,0xff823860) //101
116NSTUB(FreeMemory                              ,0xffa29170) //101
117NSTUB(FreeUncacheableMemory                   ,0xff82859c) //112
118NSTUB(Fseek_Fut                               ,0xff823954) //101
119NSTUB(Fwrite_Fut                              ,0xff8238b4) //101
120NSTUB(GetBatteryTemperature                   ,0xff845160) //102
121NSTUB(GetCCDTemperature                       ,0xff8450f0) //102
122NSTUB(GetCurrentAvValue                       ,0xff92d7c0) //102
123NSTUB(GetDrive_ClusterSize                    ,0xff84f080) //  1
124NSTUB(GetDrive_FreeClusters                   ,0xff84f0e8) //  1
125NSTUB(GetDrive_TotalClusters                  ,0xff84f0b4) //  1
126NSTUB(GetFocusLensSubjectDistance             ,0xff92c8b8) //102
127NSTUB(GetFocusLensSubjectDistanceFromLens     ,0xff92cbc4) //  1
128NSTUB(GetKbdState                             ,0xff842950) //109
129NSTUB(GetMemInfo                              ,0xff813c40) //  1
130NSTUB(GetOpticalTemperature                   ,0xff8451d0) //102
131NSTUB(GetParameterData                        ,0xff95c860) //101
132NSTUB(GetPropertyCase                         ,0xff86cddc) //102
133NSTUB(GetSystemTime                           ,0xffa291d0) //101
134NSTUB(GetZoomLensCurrentPoint                 ,0xff930564) //102
135NSTUB(GetZoomLensCurrentPosition              ,0xffa1f220) //102
136NSTUB(GiveSemaphore                           ,0xff81b77c) //112
137NSTUB(IsStrobeChargeCompleted                 ,0xff8bb92c) //102
138//NSTUB(LEDDrive                              ,0xff842174) //103            == 0xff842174
139NSTUB(LocalTime                               ,0xff8668a0) //  1
140NSTUB(LockMainPower                           ,0xff8738f0) //103
141NSTUB(Lseek                                   ,0xff823ecc) //101
142NSTUB(MakeDirectory_Fut                       ,0xff8236ac) //  1
143NSTUB(MoveFocusLensToDistance                 ,0xffa7ea0c) //102
144NSTUB(MoveIrisWithAv                          ,0xffa25580) //102
145NSTUB(MoveZoomLensWithPoint                   ,0xffa25b04) //102
146NSTUB(NewTaskShell                            ,0xff86c8a0) //103
147NSTUB(Open                                    ,0xff823d64) //101
148NSTUB(PB2Rec                                  ,0xff876594) //104
149NSTUB(PT_MoveDigitalZoomToWide                ,0xff85b9d8) //102
150NSTUB(PT_MoveOpticalZoomAt                    ,0xff85b9b0) //102
151NSTUB(PT_PlaySound                            ,0xff85b034) //102
152//NSTUB(PostLogicalEventForNotPowerType       ,0xff872f60) //103            == 0xff872f60
153//NSTUB(PostLogicalEventToUI                  ,0xff872fac) //103            == 0xff872fac
154NSTUB(Read                                    ,0xff81a094) //101
155NSTUB(ReadFastDir                             ,0xffa0e2a0) //  1
156NSTUB(Rec2PB                                  ,0xff8765c4) //104
157NSTUB(RefreshPhysicalScreen                   ,0xff9ac06c) //104
158NSTUB(Remove                                  ,0xff823dd4) //  1
159NSTUB(RenameFile_Fut                          ,0xff8235e4) //  1
160NSTUB(Restart                                 ,0xff829de0) //106
161NSTUB(SetAE_ShutterSpeed                      ,0xffa810e0) //102
162NSTUB(SetAutoShutdownTime                     ,0xff873964) //103
163NSTUB(SetCurrentCaptureModeType               ,0xff87a50c) //101
164NSTUB(SetFileTimeStamp                        ,0xff824068) //  1
165NSTUB(SetLogicalEventActive                   ,0xff87368c) //  1
166NSTUB(SetParameterData                        ,0xff95c7d0) //101
167NSTUB(SetPropertyCase                         ,0xff86ccdc) //102
168//NSTUB(SetScriptMode                         ,0xff8736dc) //101            == 0xff8736dc
169NSTUB(SleepTask                               ,0xff8283ec) //101
170NSTUB(TakeSemaphore                           ,0xff81b6ac) //101
171NSTUB(TurnOffBackLight                        ,0xff87fdd8) //104
172NSTUB(TurnOnBackLight                         ,0xff87fdc0) //104
173NSTUB(UIFS_WriteFirmInfoToFile                ,0xff94eeec) //103
174//NSTUB(UnlockAF                              ,0xff825bc8) //102            == 0xff825bc8
175NSTUB(UnlockMainPower                         ,0xff873844) //103
176//NSTUB(UnsetZoomForMovie                     ,0xff961ebc) //104            == 0xff961ebc
177NSTUB(UpdateMBROnFlash                        ,0xff84eec0) //105
178NSTUB(VbattGet                                ,0xff82071c) //103
179NSTUB(Write                                   ,0xff823e38) //101
180//NSTUB(WriteSDCard                           ,0xff920458) //108            == 0xff920458
181NSTUB(_log                                    ,0xffaa8268) //111
182NSTUB(_log10                                  ,0xffaa71ac) //112
183NSTUB(_pow                                    ,0xffaa731c) //114
184NSTUB(_sqrt                                   ,0xffaa9688) //  1
185NSTUB(add_ptp_handler                         ,0xff9dc8cc) //  1
186//NSTUB(apex2us                               ,0xff9ad5a8) //  4            == 0xff9ad5a8
187NSTUB(close                                   ,0xff819eac) //  1
188NSTUB(closedir                                ,0xffa0e370) //  1
189NSTUB(err_init_task                           ,0xff814e98) //  4
190NSTUB(exmem_alloc                             ,0xff8679c4) //103
191NSTUB(free                                    ,0xff813a98) //112
192NSTUB(kbd_p1_f                                ,0xff821f38) //109
193NSTUB(kbd_p1_f_cont                           ,0xff821f44) //109
194NSTUB(kbd_p2_f                                ,0xff821770) //109
195NSTUB(kbd_pwr_off                             ,0xff8429d4) //  2
196NSTUB(kbd_pwr_on                              ,0xff842984) //  2
197NSTUB(kbd_read_keys                           ,0xff821e34) //109
198NSTUB(kbd_read_keys_r2                        ,0xff842534) //109
199NSTUB(lseek                                   ,0xff823ecc) //101
200NSTUB(malloc                                  ,0xff8139c4) //112
201NSTUB(memcmp                                  ,0xff81d844) //101
202NSTUB(memcpy                                  ,0xff892290) //101
203NSTUB(memset                                  ,0xff9ac420) //101
204NSTUB(mkdir                                   ,0xff824130) //  1
205// ALT: NSTUB(mkdir, 0xff8241d0) // 1 32/0
206NSTUB(mktime_ext                              ,0xff892afc) //  1
207NSTUB(open                                    ,0xff819dfc) //  1
208NSTUB(opendir                                 ,0xffa0e20c) //  1
209NSTUB(openfastdir                             ,0xffa0e20c) //  1
210NSTUB(qsort                                   ,0xff9ac928) //  1
211NSTUB(rand                                    ,0xff81d94c) //  1
212NSTUB(read                                    ,0xff81a094) //101
213NSTUB(readfastdir                             ,0xffa0e2a0) //  1
214NSTUB(reboot_fw_update                        ,0xffa15ca0) //  5
215NSTUB(set_control_event                       ,0xff8733e0) //  1
216NSTUB(srand                                   ,0xff81d940) //  1
217NSTUB(stat                                    ,0xff823f98) //  1
218NSTUB(strcat                                  ,0xff89207c) //  1
219NSTUB(strchr                                  ,0xff892104) //  1
220NSTUB(strcmp                                  ,0xff81d7dc) //101
221NSTUB(strcpy                                  ,0xff81d7c4) //101
222NSTUB(strftime                                ,0xff892504) //  1
223NSTUB(strlen                                  ,0xff81d820) //101
224NSTUB(strncmp                                 ,0xff8920b8) //  1
225NSTUB(strncpy                                 ,0xff82e0cc) //  1
226//NSTUB(strrchr                               ,0xff892128) //  1            == 0xff892128
227NSTUB(strtol                                  ,0xff82e304) //101
228NSTUB(strtolx                                 ,0xff82e108) //109
229  DEF(task_CaptSeq                            ,0xff85de30) //107
230  DEF(task_ExpDrv                             ,0xff8b478c) //110
231  DEF(task_InitFileModules                    ,0xff87719c) //107
232  DEF(task_MovieRecord                        ,0xff859df8) //107
233  DEF(task_PhySw                              ,0xff821acc) //107
234NSTUB(time                                    ,0xff866da4) //  2
235NSTUB(vsprintf                                ,0xff81d744) //  1
Note: See TracBrowser for help on using the repository browser.