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

Revision 1635, 14.6 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.00C
7//   Canon DIGITAL IXUS 860 IS
8
9// Values for makefile.inc
10//   PLATFORMID = 12640 (0x3160) // Found @ 0xfffe0130
11//   MAXRAMADDR = 0x01ffffff
12//   KEYSYS = d3                 // Found @ 0xffff3184
13//   NEED_ENCODED_DISKBOOT = 1   // Found @ 0xffff3164
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(GetCCDTemperature                     ,0xff846ac0) //102        *** != 0xff846c54
18//NSTUB(GetZoomLensCurrentPosition            ,0xffa14b84) //102        *** != 0xff928bb8
19//NSTUB(NewTaskShell                          ,0xff868ef4) //103        *** != 0xffc596b0
20//NSTUB(PutInNdFilter                         ,0xff9262dc) //102        *** != 0xff9e448c
21//NSTUB(PutOutNdFilter                        ,0xff926300) //102        *** != 0xff9e44c4
22//NSTUB(UIFS_WriteFirmInfoToFile              ,0xff981760) //103        *** != 0xffd4a934
23//NSTUB(kbd_pwr_off                           ,0xff84447c) //  2 67%    *** != 0xff84448c
24//NSTUB(kbd_pwr_on                            ,0xff84443c) //  2 86%        == 0xff84443c
25//NSTUB(rename                                ,0xff824840) //  1        *** != 0xff825100
26//NSTUB(write                                 ,0xff8250d8) //101        *** != 0xff81a4a0
27
28// Check of modemap from 'platform/CAMERA/shooting.c':
29// Firmware modemap table found @ff870e5c -> ff86d41c -> ff942670 -> ffa20600 -> ffacfef8
30// No problems found with modemap table.
31
32// Values below can be overridden in 'stubs_min.S':
33//DEF(physw_status                            ,0x000113fc) // Found @0xff8230cc,          stubs_min = 0x000113fc (0x113FC)
34//DEF(physw_run                               ,0x00001ca4) // Found @0xff822d7c,          stubs_min = 0x00001ca4 (0x1ca4)
35//DEF(levent_table                            ,0xffaac8b8) // Found @0xffaac8b8,          stubs_min = 0xffaac8b8 (0xFFAAC8B8)
36//DEF(FlashParamsTable                        ,0xffad00b4) // Found @0xffad00b4,          stubs_min = 0xffad00b4 (0xFFAD00B4)
37//DEF(movie_status                            ,0x0000551c) // Found @0xff857f90,          stubs_min = 0x0000551c (0x551C)
38//DEF(canon_menu_active                       ,0x0000c04c) // Found @0xff98090c,          stubs_min = 0x0000c04c (0xC04C)
39//DEF(canon_shoot_menu_active                 ,0x0000b65d) // Found @0xff951f90,          stubs_min = 0x0000b65d (0xB65D)
40//DEF(playrec_mode                            ,0x000056c8) // Found @0xff85eed0,          stubs_min = 0x000056c8 (0x56C8)
41//DEF(zoom_status                             ,0x0000e560) // Found @0xffa21df8,          stubs_min = 0x0000e560 (0xE560)
42DEF(some_flag_for_af_scan                   ,0x0000e498) // Found @0xffa1a914
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 8 entries in the table - set NUM_FL to 8
46DEF(focus_len_table                         ,0xfffe2990) // Found @0xfffe2990
47//DEF(zoom_busy                               ,0x0000a75c) // Found @0xff927cd4,          stubs_min = 0x0000a75c (0xA75C)
48//DEF(focus_busy                              ,0x0000a658) // Found @0xff922ac0, ** != ** stubs_min = 0x0000a65c (0xA65C)
49//DEF(recreview_hold                          ,0x00006188) // Found @0xff8771cc, ** != ** stubs_min = 0x0000b474 (0xB474)
50
51// Values below go in 'lib.c':
52//void *vid_get_bitmap_fb()        { return (void*)0x10361000; }             // Found @0xff84034c
53//void *vid_get_viewport_fb()      { return (void*)0x1065b4b0; }             // Found @0xff9e8fb0
54//void *vid_get_viewport_fb_d()    { return (void*)(*(int*)(0x5360+0x50)); } // Found @0xff8513b4 & 0xff8513ec
55//char *camera_jpeg_count_str()    { return (char*)0x0005a668; }             // Found @0xff9921b4
56//long hook_raw_size()             { return 0x009dcce0; }                    // Found @0xff9eae94
57//int get_flash_params_count(void) { return 0x72; }                          // Found @0xff94372c
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 @0xffa8fd64, levent 0x90a
61//#define SD_READONLY_IDX     2
62//#define USB_MASK            0x00040000 // Found @0xffa8fd70, 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_SHOOT_FULL      ,0x00000003 }, // Found @0xffa8fcc8, levent 0x01
68//    { 2, KEY_SHOOT_FULL_ONLY ,0x00000002 }, // Found @0xffa8fcc8, levent 0x01
69//    { 2, KEY_SHOOT_HALF      ,0x00000001 }, // Found @0xffa8fcbc, levent 0x00
70//    { 2, KEY_ZOOM_IN         ,0x00000004 }, // Found @0xffa8fcd4, levent 0x02
71//    { 2, KEY_ZOOM_OUT        ,0x00000008 }, // Found @0xffa8fce0, levent 0x03
72//    { 2, KEY_DISPLAY         ,0x00000200 }, // Found @0xffa8fd28, levent 0x0a
73//    { 2, KEY_MENU            ,0x00000400 }, // Found @0xffa8fd34, levent 0x09
74//    { 0, 0, 0 }
75//};
76
77// Values below go in 'platform_camera.h':
78//#define CAM_DRYOS         1
79//#define CAM_RAW_ROWPIX    3336 // Found @0xff9e3310
80//#define CAM_RAW_ROWS      2480 // Found @0xff9e3318
81//#undef  CAM_UNCACHED_BIT
82//#define CAM_UNCACHED_BIT  0x10000000 // Found @0xff829944
83
84// Misc stuff
85DEF(ctypes, 0xffa8f7a6)
86
87// For capt_seq.c
88//static long *nrflag = (long*)(0xaafc);       // Found @ ff9315bc
89
90// Stubs below matched 100%.
91//    Name                                     Address                Comp to stubs_entry_2.S
92NSTUB(AllocateMemory                          ,0xffa1d788) //103
93NSTUB(AllocateUncacheableMemory               ,0xff829908) //112
94NSTUB(Close                                   ,0xff82502c) //101
95NSTUB(CreateTask                              ,0xff81bbb8) //101
96//NSTUB(DebugAssert                           ,0xff81c090) //111            == 0xff81c090
97NSTUB(DeleteDirectory_Fut                     ,0xff824978) //  1
98NSTUB(DeleteFile_Fut                          ,0xff824894) //112
99//NSTUB(DoAFLock                              ,0xff826bb8) //103            == 0xff826bb8
100NSTUB(EnterToCompensationEVF                  ,0xff826f2c) //104
101NSTUB(ExecuteEventProcedure                   ,0xff81c270) //  1
102NSTUB(ExitFromCompensationEVF                 ,0xff826f7c) //104
103NSTUB(ExitTask                                ,0xff81be48) //101
104NSTUB(ExpCtrlTool_StartContiAE                ,0xff834214) //104
105NSTUB(ExpCtrlTool_StopContiAE                 ,0xff8343d4) //104
106NSTUB(Fclose_Fut                              ,0xff824a10) //101
107NSTUB(Feof_Fut                                ,0xff824bfc) //  1
108NSTUB(Fflush_Fut                              ,0xff824c38) //  1
109NSTUB(Fgets_Fut                               ,0xff824b64) //  1
110NSTUB(Fopen_Fut                               ,0xff8249d0) //101
111NSTUB(Fread_Fut                               ,0xff824abc) //101
112NSTUB(FreeMemory                              ,0xffa1d774) //103
113NSTUB(FreeUncacheableMemory                   ,0xff82993c) //112
114NSTUB(Fseek_Fut                               ,0xff824bb0) //101
115NSTUB(Fwrite_Fut                              ,0xff824b10) //101
116//NSTUB(GetBatteryTemperature                 ,0xff846b30) //102            == 0xff846b30
117//NSTUB(GetCurrentAvValue                     ,0xff924f7c) //102            == 0xff924f7c
118NSTUB(GetDrive_ClusterSize                    ,0xff84d8a0) //  1
119NSTUB(GetDrive_FreeClusters                   ,0xff84d940) //  1
120NSTUB(GetDrive_TotalClusters                  ,0xff84d8d4) //  1
121NSTUB(GetFocusLensSubjectDistance             ,0xff923634) //102
122NSTUB(GetFocusLensSubjectDistanceFromLens     ,0xff923940) //  1
123NSTUB(GetKbdState                             ,0xff844408) //109
124NSTUB(GetMemInfo                              ,0xff813c58) //  1
125//NSTUB(GetOpticalTemperature                 ,0xff846ba0) //102            == 0xff846ba0
126NSTUB(GetParameterData                        ,0xff9436ec) //  1
127NSTUB(GetPropertyCase                         ,0xff869470) //101
128NSTUB(GetSystemTime                           ,0xffa1d890) //  1
129NSTUB(GetZoomLensCurrentPoint                 ,0xff928038) //102
130NSTUB(GiveSemaphore                           ,0xff81bb24) //112
131NSTUB(IsStrobeChargeCompleted                 ,0xff8b4cbc) //102
132NSTUB(LEDDrive                                ,0xff8439fc) //103
133NSTUB(LocalTime                               ,0xff865240) //  1
134//NSTUB(LockMainPower                         ,0xff86d04c) //103            == 0xff86d04c
135NSTUB(Lseek                                   ,0xff82516c) //101
136NSTUB(MakeDirectory_Fut                       ,0xff824908) //  1
137NSTUB(MoveFocusLensToDistance                 ,0xff9e5f64) //102
138NSTUB(MoveIrisWithAv                          ,0xff925208) //102
139NSTUB(MoveZoomLensWithPoint                   ,0xff928ae4) //102
140NSTUB(Open                                    ,0xff825004) //101
141//NSTUB(PB2Rec                                ,0xff870204) //104            == 0xff870204
142NSTUB(PT_MoveDigitalZoomToWide                ,0xff8605e8) //103
143NSTUB(PT_MoveOpticalZoomAt                    ,0xff8605b0) //103
144//NSTUB(PT_PlaySound                          ,0xff86015c) //103            == 0xff86015c
145//NSTUB(PostLogicalEventForNotPowerType       ,0xff86ae94) //103            == 0xff86ae94
146//NSTUB(PostLogicalEventToUI                  ,0xff86aee0) //103            == 0xff86aee0
147NSTUB(Read                                    ,0xff81a440) //101
148NSTUB(ReadFastDir                             ,0xffa040d4) //  1
149//NSTUB(Rec2PB                                ,0xff86ebfc) //104            == 0xff86ebfc
150NSTUB(RefreshPhysicalScreen                   ,0xff99e624) //104
151NSTUB(Remove                                  ,0xff825074) //  1
152NSTUB(RenameFile_Fut                          ,0xff824840) //  1
153NSTUB(Restart                                 ,0xff82b964) //106
154NSTUB(SetAE_ShutterSpeed                      ,0xff9e81ac) //102
155NSTUB(SetAutoShutdownTime                     ,0xff86d0c0) //103
156NSTUB(SetCurrentCaptureModeType               ,0xff874b44) //101
157NSTUB(SetFileTimeStamp                        ,0xff825308) //  1
158NSTUB(SetLogicalEventActive                   ,0xff86cc7c) //  1
159NSTUB(SetParameterData                        ,0xff94365c) //101
160NSTUB(SetPropertyCase                         ,0xff869368) //103
161//NSTUB(SetScriptMode                         ,0xff86cccc) //101            == 0xff86cccc
162NSTUB(SleepTask                               ,0xff829790) //101
163//NSTUB(TakeSemaphore                         ,0xff81ba54) //101            == 0xff81ba54
164NSTUB(TurnOffBackLight                        ,0xff87a148) //104
165NSTUB(TurnOnBackLight                         ,0xff87a130) //104
166//NSTUB(UnlockAF                              ,0xff826c08) //103            == 0xff826c08
167NSTUB(UnlockMainPower                         ,0xff86cfa0) //103
168//NSTUB(UnsetZoomForMovie                     ,0xff94a2c4) //104            == 0xff94a2c4
169NSTUB(UpdateMBROnFlash                        ,0xff84d668) //105
170NSTUB(VbattGet                                ,0xff8219a8) //101
171NSTUB(Write                                   ,0xff8250d8) //101
172NSTUB(WriteSDCard                             ,0xff9182fc) //108
173NSTUB(_log                                    ,0xffa8d318) //111
174NSTUB(_log10                                  ,0xffa8c25c) //112
175NSTUB(_pow                                    ,0xffa8c3cc) //114
176NSTUB(_sqrt                                   ,0xffa8e680) //  1
177NSTUB(add_ptp_handler                         ,0xff8caa9c) //  1
178NSTUB(apex2us                                 ,0xff99fadc) //  4
179NSTUB(close                                   ,0xff81a258) //  1
180NSTUB(closedir                                ,0xffa041a4) //  1
181NSTUB(err_init_task                           ,0xff814eb0) //  4
182NSTUB(exmem_alloc                             ,0xff866388) //  1
183NSTUB(free                                    ,0xff813ab0) //112
184NSTUB(kbd_p1_f                                ,0xff8231d0) //109
185NSTUB(kbd_p1_f_cont                           ,0xff8231dc) //109
186NSTUB(kbd_p2_f                                ,0xff822a1c) //109
187//NSTUB(kbd_read_keys                         ,0xff8230cc) //109            == 0xff8230cc
188//NSTUB(kbd_read_keys_r2                      ,0xff843fa8) //109            == 0xff843fa8
189NSTUB(lseek                                   ,0xff82516c) //101
190NSTUB(malloc                                  ,0xff8139dc) //112
191NSTUB(memcmp                                  ,0xff81e8f4) //101
192NSTUB(memcpy                                  ,0xff88fb00) //101
193NSTUB(memset                                  ,0xffa5b468) //101
194NSTUB(mkdir                                   ,0xff8253d0) //  1
195// ALT: NSTUB(mkdir, 0xff825470) // 1 32/0
196NSTUB(mktime_ext                              ,0xff89036c) //  1
197NSTUB(open                                    ,0xff81a1a8) //  1
198NSTUB(opendir                                 ,0xffa04040) //  1
199NSTUB(openfastdir                             ,0xffa04040) //  1
200NSTUB(qsort                                   ,0xff99eeb4) //  1
201NSTUB(rand                                    ,0xff81e9fc) //  1
202NSTUB(read                                    ,0xff81a440) //101
203NSTUB(readfastdir                             ,0xffa040d4) //  1
204NSTUB(reboot_fw_update                        ,0xffa0ba98) //  1
205NSTUB(set_control_event                       ,0xff86c968) //  1
206NSTUB(srand                                   ,0xff81e9f0) //  1
207NSTUB(stat                                    ,0xff825238) //  1
208NSTUB(strcat                                  ,0xff88fa2c) //  1
209NSTUB(strchr                                  ,0xff88fab4) //  1
210NSTUB(strcmp                                  ,0xff81e88c) //101
211NSTUB(strcpy                                  ,0xff81e838) //101
212NSTUB(strftime                                ,0xff88fd74) //  1
213NSTUB(strlen                                  ,0xff81e8d0) //101
214NSTUB(strncmp                                 ,0xff88fa68) //  1
215NSTUB(strncpy                                 ,0xff81e850) //  1
216NSTUB(strrchr                                 ,0xff88fad8) //  1
217NSTUB(strtol                                  ,0xff82ff78) //101
218NSTUB(strtolx                                 ,0xff82fd7c) //109
219  DEF(task_CaptSeq                            ,0xff85bd10) //107
220  DEF(task_ExpDrv                             ,0xff8aebf4) //110
221  DEF(task_InitFileModules                    ,0xff870ce8) //107
222  DEF(task_MovieRecord                        ,0xff85821c) //107
223  DEF(task_PhySw                              ,0xff822d78) //107
224//NSTUB(time                                  ,0xff865744) //  2            == 0xff865744
225NSTUB(vsprintf                                ,0xff81e7b8) //  1
Note: See TracBrowser for help on using the repository browser.