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

Revision 1635, 18.9 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 R47 (DRYOS version 2.3, release #0047)
6//   Firmware Ver GM1.00A
7//   Canon PowerShot SX220 HS
8
9// Values for makefile.inc
10//   PLATFORMID = 12844 (0x322c) // Found @ 0xfff40040
11//   MAXRAMADDR = 0x07ffffff
12//   KEYSYS = d4c                // Found @ 0xffff3610
13//   NEED_ENCODED_DISKBOOT = 6   // Found @ 0xffff3620
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(kbd_pwr_off                           ,0xff0565ac) //  2 60%    *** != 0xff000b24
18// ERROR: kbd_pwr_on is not found.                         //--- ---    *** != 0xff000b24
19//NSTUB(write                                 ,0xff0270d8) //101        *** != 0xff00adb8
20
21// Check of modemap from 'platform/CAMERA/shooting.c':
22// Firmware modemap table found @ff0953cc -> ff091c94 -> ff1b2368 -> ff318d34 -> ff48a450
23// Current modemap entry not found in firmware - MODE_SCN_MONOCHROME       8754
24// Current modemap entry not found in firmware - MODE_SCN_TOY_CAMERA       8751
25// Current modemap entry not found in firmware - MODE_SCN_SUPER_VIVID      8742
26// Current modemap entry not found in firmware - MODE_SCN_MINIATURE        8748
27// Current modemap entry not found in firmware - MODE_SCN_FISHEYE          8747
28// Current modemap entry not found in firmware - MODE_SCN_POSTER_EFFECT    8743
29// Current modemap entry not found in firmware - MODE_SCN_COLOR_SWAP       8734
30// Current modemap entry not found in firmware - MODE_SCN_COLOR_ACCENT     8733
31
32// Values below can be overridden in 'stubs_min.S':
33//DEF(physw_status                            ,0x000357a8) // Found @0xff024960,          stubs_min = 0x000357a8 (0x357A8)
34//DEF(physw_run                               ,0x00001c40) // Found @0xff0244f4,          stubs_min = 0x00001c40 (0x1C40)
35//DEF(levent_table                            ,0xff41646c) // Found @0xff41646c,          stubs_min = 0xff41646c (0xFF41646C)
36//DEF(FlashParamsTable                        ,0xff48a69c) // Found @0xff48a69c,          stubs_min = 0xff48a69c (0xFF48A69C)
37//DEF(movie_status                            ,0x00008594) // Found @0xff187064,          stubs_min = 0x00008594 (0x8550+0x44)
38//DEF(full_screen_refresh                     ,0x0000b35c) // Found @0xff23d628,          stubs_min = 0x0000b35c (0xB35C)
39//DEF(canon_menu_active                       ,0x00004274) // Found @0xff08b3f4,          stubs_min = 0x00004274 (0x4270+4)
40//DEF(canon_shoot_menu_active                 ,0x000098e9) // Found @0xff1ce4f8,          stubs_min = 0x000098e9 (0x98E8+1)
41//DEF(playrec_mode                            ,0x00003fa8) // Found @0xff07d778,          stubs_min = 0x00003fa8 (0x3FA4+0x4)
42//DEF(zoom_status                             ,0x0000f5c4) // Found @0xff31c3ec,          stubs_min = 0x0000f5c4 (0xF5C4)
43//DEF(some_flag_for_af_scan                   ,0x00008998) // Found @0xff18b738,          stubs_min = 0x00008998 (0x8998)
44// focus_len_table contains zoom focus lengths for use in 'get_focal_length' (main.c).
45// each entry contains 3 int value(s), the first is the zoom focus length.
46// there are 126 entries in the table - set NUM_FL to 126
47//DEF(focus_len_table                         ,0xfff4a3dc) // Found @0xfff4a3dc,          stubs_min = 0xfff4a3dc (0xFFF4A3DC)
48//DEF(zoom_busy                               ,0x000084bc) // Found @0xff1821e8,          stubs_min = 0x000084bc (0x84A0+0x1C)
49//DEF(focus_busy                              ,0x00008338) // Found @0xff17c768,          stubs_min = 0x00008338 (0x8330+8)
50//DEF(recreview_hold                          ,0x00004d80) // Found @0xff09e130, ** != ** stubs_min = 0x000094c4 (0x93D4+0xF0)
51
52// Values below go in 'lib.c':
53//void *vid_get_bitmap_fb()        { return (void*)0x40471000; }             // Found @0xff050f20
54//void *vid_get_viewport_fb()      { return (void*)0x405d7980; }             // Found @0xff371e8c
55//void *vid_get_viewport_fb_d()    { return (void*)(*(int*)(0x3c70+0x58)); } // Found @0xff06d2c8 & 0xff06d300
56//char *camera_jpeg_count_str()    { return (char*)0x000ca790; }             // Found @0xff2327fc
57//long hook_raw_size()             { return 0x0123eaf0; }                    // Found @0xff3753a0
58//int get_flash_params_count(void) { return 0xa0; }                          // Found @0xff1b33a0
59
60// Bitmap masks and physw_status index values for SD_READONLY and USB power flags (for kbd.c).
61//#define SD_READONLY_FLAG    0x00020000 // Found @0xff3b189c, levent 0x90a
62//#define SD_READONLY_IDX     2
63//#define USB_MASK            0x04000000 // Found @0xff3b18cc, levent 0x902
64//#define USB_IDX             2
65
66// Keymap values for kbd.c. Additional keys may be present, only common values included here.
67//static KeyMap keymap[] = {
68//    { 0, KEY_DISPLAY         ,0x00000800 }, // Found @0xff3b180c, levent 0x0a
69//    { 0, KEY_UP              ,0x00001000 }, // Found @0xff3b1814, levent 0x04
70//    { 0, KEY_RIGHT           ,0x00004000 }, // Found @0xff3b1824, levent 0x07
71//    { 0, KEY_SET             ,0x00010000 }, // Found @0xff3b1834, levent 0x08
72//    { 0, KEY_DOWN            ,0x00020000 }, // Found @0xff3b183c, levent 0x05
73//    { 0, KEY_MENU            ,0x00040000 }, // Found @0xff3b1844, levent 0x09
74//    { 2, KEY_LEFT            ,0x00000100 }, // Found @0xff3b1874, levent 0x06
75//    { 2, KEY_SHOOT_FULL      ,0x00002002 }, // Found @0xff3b1864, levent 0x01
76//    { 2, KEY_SHOOT_HALF      ,0x00002000 }, // Found @0xff3b1884, levent 0x00
77//    { 2, KEY_SHOOT_FULL_ONLY ,0x00000002 }, // Found @0xff3b1864, levent 0x01
78//    { 0, 0, 0 }
79//};
80
81// Values below go in 'platform_camera.h':
82//#define CAM_DRYOS         1
83//#define CAM_DRYOS_2_3_R39 1 // Defined for cameras with DryOS version R39 or higher
84//#define CAM_DRYOS_2_3_R47 1 // Defined for cameras with DryOS version R47 or higher
85//#define CAM_RAW_ROWPIX    4168 // Found @0xff15290c
86//#define CAM_RAW_ROWS      3060 // Found @0xff152918
87//#undef  CAM_UNCACHED_BIT
88//#define CAM_UNCACHED_BIT  0x40000000 // Found @0xff02b88c
89
90// Misc stuff
91DEF(ctypes, 0xff3aff12)
92
93// For capt_seq.c
94//static long *nrflag = (long*)(0x89d4+0x08);  // Found @ ff1903bc & ff190428
95//#define NR_AUTO (0)                          // have to explictly reset value back to 0 to enable auto
96
97// Stubs below matched 100%.
98//    Name                                     Address                Comp to stubs_entry_2.S
99//NSTUB(AllocateMemory                        ,0xff3075d0) //101            == 0xff3075d0
100//NSTUB(AllocateUncacheableMemory             ,0xff02b844) //112            == 0xff02b844
101//NSTUB(Close                                 ,0xff027084) //101            == 0xff027084
102//NSTUB(CreateTask                            ,0xff00e9b0) //101            == 0xff00e9b0
103//NSTUB(DebugAssert                           ,0xff00ec88) //111            == 0xff00ec88
104NSTUB(DeleteDirectory_Fut                     ,0xff026a80) //  1
105//NSTUB(DeleteFile_Fut                        ,0xff02699c) //112            == 0xff02699c
106//NSTUB(DoAFLock                              ,0xff028bd8) //102            == 0xff028bd8
107//NSTUB(EnterToCompensationEVF                ,0xff028e74) //104            == 0xff028e74
108//NSTUB(ExecuteEventProcedure                 ,0xff086bdc) //  1            == 0xff086bdc
109//NSTUB(ExitFromCompensationEVF               ,0xff028eb8) //104            == 0xff028eb8
110//NSTUB(ExitTask                              ,0xff00ec40) //101            == 0xff00ec40
111//NSTUB(ExpCtrlTool_StartContiAE              ,0xff037fe4) //104            == 0xff037fe4
112//NSTUB(ExpCtrlTool_StopContiAE               ,0xff0380bc) //104            == 0xff0380bc
113//NSTUB(Fclose_Fut                            ,0xff026b18) //101            == 0xff026b18
114//NSTUB(Feof_Fut                              ,0xff026d04) //  1            == 0xff026d04
115//NSTUB(Fflush_Fut                            ,0xff026d40) //  1            == 0xff026d40
116//NSTUB(Fgets_Fut                             ,0xff026c6c) //  6            == 0xff026c6c
117//NSTUB(Fopen_Fut                             ,0xff026ad8) //101            == 0xff026ad8
118//NSTUB(Fread_Fut                             ,0xff026bc4) //101            == 0xff026bc4
119//NSTUB(FreeMemory                            ,0xff3075c8) //101            == 0xff3075c8
120//NSTUB(FreeUncacheableMemory                 ,0xff02b884) //112            == 0xff02b884
121//NSTUB(Fseek_Fut                             ,0xff026cb8) //101            == 0xff026cb8
122//NSTUB(Fwrite_Fut                            ,0xff026c18) //101            == 0xff026c18
123//NSTUB(GetBatteryTemperature                 ,0xff05d010) //102            == 0xff05d010
124//NSTUB(GetCCDTemperature                     ,0xff05cf9c) //102            == 0xff05cf9c
125//NSTUB(GetCurrentAvValue                     ,0xff17f15c) //102            == 0xff17f15c
126//NSTUB(GetDrive_ClusterSize                  ,0xff06adbc) //  6            == 0xff06adbc
127//NSTUB(GetDrive_FreeClusters                 ,0xff06ae14) //  6            == 0xff06ae14
128//NSTUB(GetDrive_TotalClusters                ,0xff06adec) //  6            == 0xff06adec
129//NSTUB(GetFocusLensSubjectDistance           ,0xff17d3ec) //102            == 0xff17d3ec
130//NSTUB(GetFocusLensSubjectDistanceFromLens   ,0xff17d84c) //  3            == 0xff17d84c
131//NSTUB(GetImageFolder                        ,0xff1598b8) //  6            == 0xff1598b8
132//NSTUB(GetKbdState                           ,0xff056474) //109            == 0xff056474
133//NSTUB(GetMemInfo                            ,0xff00a29c) //  3            == 0xff00a29c
134//NSTUB(GetOpticalTemperature                 ,0xff05d084) //102            == 0xff05d084
135//NSTUB(GetParameterData                      ,0xff1b3360) //101            == 0xff1b3360
136//NSTUB(GetPropertyCase                       ,0xff08a944) //102            == 0xff08a944
137//NSTUB(GetSystemTime                         ,0xff307628) //101            == 0xff307628
138//NSTUB(GetZoomLensCurrentPoint               ,0xff182660) //102            == 0xff182660
139//NSTUB(GetZoomLensCurrentPosition            ,0xff2f14cc) //102            == 0xff2f14cc
140//NSTUB(GiveSemaphore                         ,0xff02b23c) //112            == 0xff02b23c
141//NSTUB(IsStrobeChargeCompleted               ,0xff0e0cd0) //102            == 0xff0e0cd0
142//NSTUB(LEDDrive                              ,0xff0557c0) //101            == 0xff0557c0
143//NSTUB(LocalTime                             ,0xff08446c) //  6            == 0xff08446c
144//NSTUB(LockMainPower                         ,0xff091884) //103            == 0xff091884
145//NSTUB(Lseek                                 ,0xff0272a0) //101            == 0xff0272a0
146//NSTUB(MakeDirectory_Fut                     ,0xff026a10) //  6            == 0xff026a10
147//NSTUB(MakeSDCardBootable                    ,0xff06b04c) //105            == 0xff06b04c
148//NSTUB(MoveFocusLensToDistance               ,0xff36e188) //102            == 0xff36e188
149//NSTUB(MoveIrisWithAv                        ,0xff303638) //102            == 0xff303638
150//NSTUB(MoveZoomLensWithPoint                 ,0xff303dfc) //102            == 0xff303dfc
151//NSTUB(NewTaskShell                          ,0xff08a38c) //101            == 0xff08a38c
152//NSTUB(Open                                  ,0xff026fbc) //101            == 0xff026fbc
153//NSTUB(PB2Rec                                ,0xff094a5c) //104            == 0xff094a5c
154//NSTUB(PT_MoveDigitalZoomToWide              ,0xff0746e8) //102            == 0xff0746e8
155//NSTUB(PT_MoveOpticalZoomAt                  ,0xff0746c0) //102            == 0xff0746c0
156//NSTUB(PT_PlaySound                          ,0xff07f848) //  6            == 0xff07f848
157//NSTUB(PostLogicalEventForNotPowerType       ,0xff08f3a8) //103            == 0xff08f3a8
158//NSTUB(PostLogicalEventToUI                  ,0xff08f3f4) //103            == 0xff08f3f4
159//NSTUB(PutInNdFilter                         ,0xff36bdd4) //102            == 0xff36bdd4
160//NSTUB(PutOutNdFilter                        ,0xff36be0c) //102            == 0xff36be0c
161//NSTUB(Read                                  ,0xff00ad58) //101            == 0xff00ad58
162//NSTUB(ReadFastDir                           ,0xff2dd404) //  6            == 0xff2dd404
163//NSTUB(Rec2PB                                ,0xff0931fc) //104            == 0xff0931fc
164//NSTUB(RefreshPhysicalScreen                 ,0xff0aa058) //104            == 0xff0aa058
165//NSTUB(Remove                                ,0xff0271f8) //  6            == 0xff0271f8
166//NSTUB(RenameFile_Fut                        ,0xff026908) //  6            == 0xff026908
167//NSTUB(Restart                               ,0xff02d058) //106            == 0xff02d058
168//NSTUB(ScreenLock                            ,0xff0ab250) //  4            == 0xff0ab250
169//NSTUB(ScreenUnlock                          ,0xff0ab2b4) //  3            == 0xff0ab2b4
170NSTUB(SetAE_ShutterSpeed                      ,0xff371004) //102
171//NSTUB(SetAutoShutdownTime                   ,0xff0918f8) //103            == 0xff0918f8
172//NSTUB(SetCurrentCaptureModeType             ,0xff09ae08) //101            == 0xff09ae08
173//NSTUB(SetFileTimeStamp                      ,0xff027410) //  6            == 0xff027410
174//NSTUB(SetLogicalEventActive                 ,0xff0915c0) //101            == 0xff0915c0
175//NSTUB(SetParameterData                      ,0xff1b32d0) //101            == 0xff1b32d0
176//NSTUB(SetPropertyCase                       ,0xff08a828) //102            == 0xff08a828
177//NSTUB(SetScriptMode                         ,0xff091610) //101            == 0xff091610
178//NSTUB(SleepTask                             ,0xff02b4e8) //101            == 0xff02b4e8
179//NSTUB(TakeSemaphore                         ,0xff02b16c) //101            == 0xff02b16c
180//NSTUB(TurnOffBackLight                      ,0xff0a21b8) //104            == 0xff0a21b8
181//NSTUB(TurnOnBackLight                       ,0xff0a21a0) //104            == 0xff0a21a0
182//NSTUB(UIFS_WriteFirmInfoToFile              ,0xff1a4414) //101            == 0xff1a4414
183//NSTUB(UnlockAF                              ,0xff028c10) //102            == 0xff028c10
184//NSTUB(UnlockMainPower                       ,0xff0917d8) //103            == 0xff0917d8
185//NSTUB(VbattGet                              ,0xff023040) //101            == 0xff023040
186//NSTUB(Write                                 ,0xff0270d8) //101            == 0xff0270d8
187//NSTUB(WriteSDCard                           ,0xff16c828) //108            == 0xff16c828
188//NSTUB(_log                                  ,0xff3ac778) //111            == 0xff3ac778
189//NSTUB(_log10                                ,0xff3accb8) //112            == 0xff3accb8
190//NSTUB(_pow                                  ,0xff3ace30) //114            == 0xff3ace30
191//NSTUB(_sqrt                                 ,0xff3aed14) //  6            == 0xff3aed14
192//NSTUB(add_ptp_handler                       ,0xff28aa1c) //  6            == 0xff28aa1c
193//NSTUB(apex2us                               ,0xff246bec) //  4            == 0xff246bec
194//NSTUB(close                                 ,0xff00abb4) //  6            == 0xff00abb4
195//NSTUB(closedir                              ,0xff2dd260) //  4            == 0xff2dd260
196//NSTUB(err_init_task                         ,0xff005fd4) //  4            == 0xff005fd4
197//NSTUB(exmem_alloc                           ,0xff085434) //101            == 0xff085434
198//NSTUB(free                                  ,0xff004244) //112            == 0xff004244
199//NSTUB(kbd_p1_f                              ,0xff0249dc) //109            == 0xff0249dc
200//NSTUB(kbd_p1_f_cont                         ,0xff0249e8) //109            == 0xff0249e8
201//NSTUB(kbd_p2_f                              ,0xff0241c4) //109            == 0xff0241c4
202//NSTUB(kbd_read_keys                         ,0xff024960) //109            == 0xff024960
203//NSTUB(kbd_read_keys_r2                      ,0xff055c78) //109            == 0xff055c78
204//NSTUB(lseek                                 ,0xff0272a0) //101            == 0xff0272a0
205//NSTUB(malloc                                ,0xff0041ec) //112            == 0xff0041ec
206//NSTUB(memcmp                                ,0xff0108f4) //101            == 0xff0108f4
207//NSTUB(memcpy                                ,0xff030fec) //101            == 0xff030fec
208//NSTUB(memset                                ,0xff245bec) //101            == 0xff245bec
209//NSTUB(mkdir                                 ,0xff027520) //  6            == 0xff027520
210//NSTUB(mktime_ext                            ,0xff0ac0c8) //  1            == 0xff0ac0c8
211//NSTUB(open                                  ,0xff00ab04) //  6            == 0xff00ab04
212//NSTUB(opendir                               ,0xff2dd2b0) //  6            == 0xff2dd2b0
213//NSTUB(openfastdir                           ,0xff2dd2b0) //  6            == 0xff2dd2b0
214//NSTUB(qsort                                 ,0xff359478) //  6            == 0xff359478
215//NSTUB(rand                                  ,0xff245d2c) //  6            == 0xff245d2c
216//NSTUB(read                                  ,0xff00ad58) //101            == 0xff00ad58
217//NSTUB(readfastdir                           ,0xff2dd404) //  6            == 0xff2dd404
218//NSTUB(reboot_fw_update                      ,0xff2e28a0) //  6            == 0xff2e28a0
219//NSTUB(rename                                ,0xff026908) //  6            == 0xff026908
220//NSTUB(set_control_event                     ,0xff0911b8) //111            == 0xff0911b8
221//NSTUB(srand                                 ,0xff245d20) //  6            == 0xff245d20
222//NSTUB(stat                                  ,0xff0272e8) //  3            == 0xff0272e8
223//NSTUB(strcat                                ,0xff0ab880) //  1            == 0xff0ab880
224//NSTUB(strchr                                ,0xff0040b8) //  1            == 0xff0040b8
225//NSTUB(strcmp                                ,0xff0108b0) //101            == 0xff0108b0
226//NSTUB(strcpy                                ,0xff010898) //101            == 0xff010898
227//NSTUB(strftime                              ,0xff0abac8) //113            == 0xff0abac8
228//NSTUB(strlen                                ,0xff004104) //101            == 0xff004104
229//NSTUB(strncmp                               ,0xff00406c) //  1            == 0xff00406c
230//NSTUB(strncpy                               ,0xff004030) //  1            == 0xff004030
231//NSTUB(strrchr                               ,0xff0040dc) //  1            == 0xff0040dc
232//NSTUB(strtol                                ,0xff0312ec) //101            == 0xff0312ec
233//NSTUB(strtolx                               ,0xff0310f0) //109            == 0xff0310f0
234//  DEF(task_CaptSeq                          ,0xff077628) //110            == 0xff077628
235//  DEF(task_ExpDrv                           ,0xff0c3e54) //110            == 0xff0c3e54
236//  DEF(task_InitFileModules                  ,0xff095240) //110            == 0xff095240
237//  DEF(task_MovieRecord                      ,0xff1882f0) //110            == 0xff1882f0
238//  DEF(task_PhySw                            ,0xff0244f0) //110            == 0xff0244f0
239//  DEF(task_RotaryEncoder                    ,0xff05671c) //110            == 0xff05671c
240//NSTUB(time                                  ,0xff084a48) //  6            == 0xff084a48
241//NSTUB(vsprintf                              ,0xff010858) //  6            == 0xff010858
Note: See TracBrowser for help on using the repository browser.