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

Revision 1635, 17.1 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 R45 (DRYOS version 2.3, release #0045)
6//   Firmware Ver GM1.00E
7//   Canon PowerShot S95
8
9// Values for makefile.inc
10//   PLATFORMID = 12818 (0x3212) // Found @ 0xfffe0130
11//   MAXRAMADDR = 0x07ffffff
12//   KEYSYS = d4b                // Found @ 0xffff3624
13//   NEED_ENCODED_DISKBOOT = 5   // Found @ 0xffff3634
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                           ,0xff865728) //  2 60%    *** != 0x00000000
18// ERROR: kbd_pwr_on is not found.                         //--- ---    *** != 0x00000000
19
20// Check of modemap from 'platform/CAMERA/shooting.c':
21// Firmware modemap table found @ff8a0c14 -> ff89d474 -> ff9ba93c -> ffb0f180 -> ffc7210c
22// No problems found with modemap table.
23
24// Values below can be overridden in 'stubs_min.S':
25//DEF(physw_status                            ,0x00034cb4) // Found @0xff83498c,          stubs_min = 0x00034cb4 (0x34CB4)
26//DEF(physw_run                               ,0x00001c3c) // Found @0xff834580,          stubs_min = 0x00001c3c (0x1C30+0x0C)
27//DEF(levent_table                            ,0xffbf5c5c) // Found @0xffbf5c5c,          stubs_min = 0xffbf5c5c (0xFFBF5C5C)
28//DEF(FlashParamsTable                        ,0xffc72314) // Found @0xffc72314,          stubs_min = 0xffc72314 (0xFFC72314)
29//DEF(movie_status                            ,0x0000716c) // Found @0xff98612c,          stubs_min = 0x0000716c (0x7128+0x44)
30DEF(full_screen_refresh                     ,0x0000a0d4) // Found @0xffa47614
31//DEF(canon_menu_active                       ,0x00003250) // Found @0xff896fc0,          stubs_min = 0x00003250 (0x324c+4)
32//DEF(canon_shoot_menu_active                 ,0x00008759) // Found @0xff9d7df8,          stubs_min = 0x00008759 (0x8758+1)
33//DEF(playrec_mode                            ,0x00002f78) // Found @0xff88910c,          stubs_min = 0x00002f78 (0x2f74+0x4)
34//DEF(zoom_status                             ,0x0000835c) // Found @0xff9c3384,          stubs_min = 0x0000835c (0x835C)
35//DEF(some_flag_for_af_scan                   ,0x00007534) // Found @0xff9894b4,          stubs_min = 0x00007534 (0x7534)
36// focus_len_table contains zoom focus lengths for use in 'get_focal_length' (main.c).
37// each entry contains 3 int value(s), the first is the zoom focus length.
38// there are 10 entries in the table - set NUM_FL to 10
39DEF(focus_len_table                         ,0xfffe2d2c) // Found @0xfffe2d2c
40//DEF(zoom_busy                               ,0x00007084) // Found @0xff9809c4,          stubs_min = 0x00007084 (0x7070+0x14)
41//DEF(focus_busy                              ,0x00006f30) // Found @0xff97bec4,          stubs_min = 0x00006f30 (0x6f28+8)
42//DEF(recreview_hold                          ,0x00003e14) // Found @0xff8a8648, ** != ** stubs_min = 0x0000828c (0x81f8+0x94)
43
44// Values below go in 'lib.c':
45//void *vid_get_bitmap_fb()        { return (void*)0x40471000; }             // Found @0xff85e704
46//void *vid_get_viewport_fb()      { return (void*)0x40587700; }             // Found @0xffb619c4
47//void *vid_get_viewport_fb_d()    { return (void*)(*(int*)(0x2c20+0x58)); } // Found @0xff87822c & 0xff878264
48//char *camera_jpeg_count_str()    { return (char*)0x000bbc9c; }             // Found @0xffa3acc4
49//long hook_raw_size()             { return 0x00ee9200; }                    // Found @0xffb64e84
50//int get_flash_params_count(void) { return 0x9a; }                          // Found @0xff9bbed4
51
52// Bitmap masks and physw_status index values for SD_READONLY and USB power flags (for kbd.c).
53//#define SD_READONLY_FLAG    0x00020000 // Found @0xffba524c, levent 0x90a
54//#define SD_READONLY_IDX     2
55//#define USB_MASK            0x04000000 // Found @0xffba5274, levent 0x902
56//#define USB_IDX             2
57
58// Keymap values for kbd.c. Additional keys may be present, only common values included here.
59//static KeyMap keymap[] = {
60//    { 1, KEY_ZOOM_IN         ,0x00000010 }, // Found @0xffba51b4, levent 0x02
61//    { 1, KEY_ZOOM_OUT        ,0x00000020 }, // Found @0xffba51bc, levent 0x03
62//    { 1, KEY_LEFT            ,0x00000100 }, // Found @0xffba51d4, levent 0x06
63//    { 1, KEY_RIGHT           ,0x00000200 }, // Found @0xffba51dc, levent 0x07
64//    { 1, KEY_DOWN            ,0x00000400 }, // Found @0xffba51e4, levent 0x05
65//    { 1, KEY_DISPLAY         ,0x00001000 }, // Found @0xffba51f4, levent 0x0a
66//    { 1, KEY_MENU            ,0x00002000 }, // Found @0xffba51fc, levent 0x09
67//    { 1, KEY_UP              ,0x00004000 }, // Found @0xffba5204, levent 0x04
68//    { 1, KEY_SET             ,0x00008000 }, // Found @0xffba520c, levent 0x08
69//    { 2, KEY_SHOOT_FULL      ,0x00000300 }, // Found @0xffba521c, levent 0x01
70//    { 2, KEY_SHOOT_FULL_ONLY ,0x00000200 }, // Found @0xffba521c, levent 0x01
71//    { 2, KEY_SHOOT_HALF      ,0x00000100 }, // Found @0xffba5214, levent 0x00
72//    { 0, 0, 0 }
73//};
74
75// Values below go in 'platform_camera.h':
76//#define CAM_DRYOS         1
77//#define CAM_DRYOS_2_3_R39 1 // Defined for cameras with DryOS version R39 or higher
78//#define CAM_RAW_ROWPIX    3744 // Found @0xff956f20
79//#define CAM_RAW_ROWS      2784 // Found @0xff956f28
80//#undef  CAM_UNCACHED_BIT
81//#define CAM_UNCACHED_BIT  0x40000000 // Found @0xff83ae0c
82
83// Misc stuff
84DEF(ctypes, 0xffba399e)
85
86// For capt_seq.c
87//static long *nrflag = (long*)(0x757c+0x08);  // Found @ ff98e1fc & ff98e214
88//#define NR_AUTO (0)                          // have to explictly reset value back to 0 to enable auto
89
90// Stubs below matched 100%.
91//    Name                                     Address                Comp to stubs_entry_2.S
92NSTUB(AllocateMemory                          ,0xffafacdc) //101
93NSTUB(AllocateUncacheableMemory               ,0xff83adc8) //112
94//NSTUB(Close                                 ,0xff837030) //101            == 0xff837030
95NSTUB(CreateTask                              ,0xff81e8a0) //101
96NSTUB(DebugAssert                             ,0xff81eb78) //111
97NSTUB(DeleteDirectory_Fut                     ,0xff836a8c) //  1
98NSTUB(DeleteFile_Fut                          ,0xff8369a8) //112
99//NSTUB(DoAFLock                              ,0xff8388a0) //102            == 0xff8388a0
100//NSTUB(EnterToCompensationEVF                ,0xff838b40) //104            == 0xff838b40
101NSTUB(ExecuteEventProcedure                   ,0xff89270c) //  1
102//NSTUB(ExitFromCompensationEVF               ,0xff838be4) //104            == 0xff838be4
103//NSTUB(ExitTask                              ,0xff81eb30) //101            == 0xff81eb30
104//NSTUB(ExpCtrlTool_StartContiAE              ,0xff84734c) //104            == 0xff84734c
105NSTUB(ExpCtrlTool_StopContiAE                 ,0xff8474e4) //104
106NSTUB(Fclose_Fut                              ,0xff836b24) //101
107NSTUB(Feof_Fut                                ,0xff836d10) //  1
108NSTUB(Fflush_Fut                              ,0xff836d4c) //  1
109NSTUB(Fgets_Fut                               ,0xff836c78) //  1
110NSTUB(Fopen_Fut                               ,0xff836ae4) //101
111NSTUB(Fread_Fut                               ,0xff836bd0) //101
112NSTUB(FreeMemory                              ,0xffafacd4) //101
113//NSTUB(FreeUncacheableMemory                 ,0xff83ae08) //112            == 0xff83ae08
114NSTUB(Fseek_Fut                               ,0xff836cc4) //101
115NSTUB(Fwrite_Fut                              ,0xff836c24) //101
116//NSTUB(GetBatteryTemperature                 ,0xff869038) //102            == 0xff869038
117//NSTUB(GetCCDTemperature                     ,0xff868fc4) //102            == 0xff868fc4
118//NSTUB(GetCurrentAvValue                     ,0xff97e4b4) //102            == 0xff97e4b4
119//NSTUB(GetDrive_ClusterSize                  ,0xff8769c8) //  4            == 0xff8769c8
120//NSTUB(GetDrive_FreeClusters                 ,0xff876a28) //  4            == 0xff876a28
121//NSTUB(GetDrive_TotalClusters                ,0xff8769fc) //  3            == 0xff8769fc
122//NSTUB(GetFocusLensSubjectDistance           ,0xff97cb44) //102            == 0xff97cb44
123//NSTUB(GetFocusLensSubjectDistanceFromLens   ,0xff97cf90) //  3            == 0xff97cf90
124//NSTUB(GetImageFolder                        ,0xff95e84c) //106            == 0xff95e84c
125//NSTUB(GetKbdState                           ,0xff8655f0) //109            == 0xff8655f0
126//NSTUB(GetMemInfo                            ,0xff81a264) //  3            == 0xff81a264
127//NSTUB(GetOpticalTemperature                 ,0xff8690ac) //102            == 0xff8690ac
128//NSTUB(GetParameterData                      ,0xff9bbe98) //101            == 0xff9bbe98
129//NSTUB(GetPropertyCase                       ,0xff896414) //102            == 0xff896414
130//NSTUB(GetSystemTime                         ,0xffafad34) //101            == 0xffafad34
131//NSTUB(GetZoomLensCurrentPoint               ,0xff980d38) //102            == 0xff980d38
132//NSTUB(GetZoomLensCurrentPosition            ,0xffae90e8) //102            == 0xffae90e8
133NSTUB(GiveSemaphore                           ,0xff83a7e4) //112
134//NSTUB(IsStrobeChargeCompleted               ,0xff8eae58) //102            == 0xff8eae58
135//NSTUB(LEDDrive                              ,0xff86491c) //103            == 0xff86491c
136NSTUB(LocalTime                               ,0xff88fff4) //  1
137//NSTUB(LockMainPower                         ,0xff89d078) //103            == 0xff89d078
138//NSTUB(Lseek                                 ,0xff83714c) //101            == 0xff83714c
139//NSTUB(MakeDirectory_Fut                     ,0xff836a1c) //  1            == 0xff836a1c
140//NSTUB(MoveFocusLensToDistance               ,0xffb5e3ec) //102            == 0xffb5e3ec
141NSTUB(MoveIrisWithAv                          ,0xffaf7268) //102
142//NSTUB(MoveZoomLensWithPoint                 ,0xffaf7954) //102            == 0xffaf7954
143//NSTUB(NewTaskShell                          ,0xff895e30) //103            == 0xff895e30
144//NSTUB(Open                                  ,0xff836fc4) //101            == 0xff836fc4
145//NSTUB(PB2Rec                                ,0xff8a0008) //104            == 0xff8a0008
146NSTUB(PT_MoveDigitalZoomToWide                ,0xff8806a4) //102
147NSTUB(PT_MoveOpticalZoomAt                    ,0xff88067c) //102
148//NSTUB(PT_PlaySound                          ,0xff88b0a8) //  4            == 0xff88b0a8
149//NSTUB(PostLogicalEventForNotPowerType       ,0xff89aa88) //103            == 0xff89aa88
150//NSTUB(PostLogicalEventToUI                  ,0xff89aad4) //103            == 0xff89aad4
151NSTUB(PutInNdFilter                           ,0xffb5c10c) //102
152NSTUB(PutOutNdFilter                          ,0xffb5c144) //102
153NSTUB(Read                                    ,0xff81ad74) //101
154//NSTUB(ReadFastDir                           ,0xffad4130) //  4            == 0xffad4130
155//NSTUB(Rec2PB                                ,0xff8a0048) //104            == 0xff8a0048
156//NSTUB(RefreshPhysicalScreen                 ,0xff8b6c8c) //104            == 0xff8b6c8c
157//NSTUB(Remove                                ,0xff837064) //  4            == 0xff837064
158//NSTUB(RenameFile_Fut                        ,0xff836914) //  4            == 0xff836914
159//NSTUB(Restart                               ,0xff83c5b8) //106            == 0xff83c5b8
160//NSTUB(ScreenLock                            ,0xff8b7e50) //  4            == 0xff8b7e50
161//NSTUB(ScreenUnlock                          ,0xff8b7eb4) //  9            == 0xff8b7eb4
162NSTUB(SetAE_ShutterSpeed                      ,0xffb60b3c) //102
163//NSTUB(SetAutoShutdownTime                   ,0xff89d0ec) //103            == 0xff89d0ec
164//NSTUB(SetCurrentCaptureModeType             ,0xff8a5444) //101            == 0xff8a5444
165//NSTUB(SetFileTimeStamp                      ,0xff8372cc) //  4            == 0xff8372cc
166//NSTUB(SetLogicalEventActive                 ,0xff89cdb4) //101            == 0xff89cdb4
167//NSTUB(SetParameterData                      ,0xff9bbd70) //101            == 0xff9bbd70
168//NSTUB(SetPropertyCase                       ,0xff8962ec) //102            == 0xff8962ec
169//NSTUB(SetScriptMode                         ,0xff89ce04) //101            == 0xff89ce04
170//NSTUB(SleepTask                             ,0xff83aa4c) //101            == 0xff83aa4c
171//NSTUB(TakeSemaphore                         ,0xff83a714) //101            == 0xff83a714
172//NSTUB(TurnOffBackLight                      ,0xff8af278) //104            == 0xff8af278
173//NSTUB(TurnOnBackLight                       ,0xff8af260) //104            == 0xff8af260
174//NSTUB(UIFS_WriteFirmInfoToFile              ,0xff9a7d60) //101            == 0xff9a7d60
175//NSTUB(UnlockAF                              ,0xff8388d8) //102            == 0xff8388d8
176//NSTUB(UnlockMainPower                       ,0xff89cfcc) //103            == 0xff89cfcc
177//NSTUB(UnsetZoomForMovie                     ,0xff8ab114) //104            == 0xff8ab114
178NSTUB(UpdateMBROnFlash                        ,0xff876848) //105
179//NSTUB(VbattGet                              ,0xff833188) //103            == 0xff833188
180NSTUB(Write                                   ,0xff8370c0) //101
181//NSTUB(WriteSDCard                           ,0xff96dd64) //108            == 0xff96dd64
182NSTUB(_log                                    ,0xffba0aac) //111
183NSTUB(_log10                                  ,0xffb9f738) //112
184NSTUB(_pow                                    ,0xffb9f8a8) //114
185NSTUB(_sqrt                                   ,0xffba26b4) //  1
186//NSTUB(add_ptp_handler                       ,0xffa8e7f4) //  3            == 0xffa8e7f4
187//NSTUB(apex2us                               ,0xffa50d88) //  4            == 0xffa50d88
188NSTUB(close                                   ,0xff81ab8c) //  1
189//NSTUB(closedir                              ,0xffad3f8c) //  4            == 0xffad3f8c
190NSTUB(err_init_task                           ,0xff815fd4) //  4
191NSTUB(exmem_alloc                             ,0xff890f40) //103
192//NSTUB(free                                  ,0xff814244) //112            == 0xff814244
193//NSTUB(kbd_p1_f                              ,0xff834a04) //109            == 0xff834a04
194//NSTUB(kbd_p1_f_cont                         ,0xff834a10) //109            == 0xff834a10
195//NSTUB(kbd_p2_f                              ,0xff83424c) //109            == 0xff83424c
196//NSTUB(kbd_read_keys                         ,0xff83498c) //109            == 0xff83498c
197//NSTUB(kbd_read_keys_r2                      ,0xff864ee8) //109            == 0xff864ee8
198//NSTUB(lseek                                 ,0xff83714c) //101            == 0xff83714c
199NSTUB(malloc                                  ,0xff8141e8) //112
200NSTUB(memcmp                                  ,0xff8206e0) //101
201NSTUB(memcpy                                  ,0xff840588) //101
202NSTUB(memset                                  ,0xffa4fd70) //101
203//NSTUB(mkdir                                 ,0xff8374cc) //  4            == 0xff8374cc
204NSTUB(mktime_ext                              ,0xff8b8c58) //  1
205NSTUB(open                                    ,0xff81aadc) //  1
206//NSTUB(opendir                               ,0xffad3fdc) //  4            == 0xffad3fdc
207//NSTUB(openfastdir                           ,0xffad3fdc) //  4            == 0xffad3fdc
208//NSTUB(qsort                                 ,0xffb4be88) //  4            == 0xffb4be88
209//NSTUB(rand                                  ,0xffa4feb0) //  4            == 0xffa4feb0
210NSTUB(read                                    ,0xff81ad74) //101
211//NSTUB(readfastdir                           ,0xffad4130) //  4            == 0xffad4130
212//NSTUB(reboot_fw_update                      ,0xffad9550) //  4            == 0xffad9550
213//NSTUB(rename                                ,0xff836914) //  4            == 0xff836914
214//NSTUB(set_control_event                     ,0xff89c9a4) //111            == 0xff89c9a4
215//NSTUB(srand                                 ,0xffa4fea4) //  4            == 0xffa4fea4
216NSTUB(stat                                    ,0xff837194) //  3
217//NSTUB(strcat                                ,0xff8b8414) //  1            == 0xff8b8414
218//NSTUB(strchr                                ,0xff8140b4) //  1            == 0xff8140b4
219NSTUB(strcmp                                  ,0xff82069c) //101
220NSTUB(strcpy                                  ,0xff820684) //101
221NSTUB(strftime                                ,0xff8b8660) //113
222//NSTUB(strlen                                ,0xff814100) //101            == 0xff814100
223NSTUB(strncmp                                 ,0xff814068) //  1
224//NSTUB(strncpy                               ,0xff81402c) //  1            == 0xff81402c
225//NSTUB(strrchr                               ,0xff8140d8) //  1            == 0xff8140d8
226//NSTUB(strtol                                ,0xff840868) //101            == 0xff840868
227NSTUB(strtolx                                 ,0xff84066c) //109
228  DEF(task_CaptSeq                            ,0xff88322c) //107
229  DEF(task_ExpDrv                             ,0xff8cf1a8) //110
230  DEF(task_InitFileModules                    ,0xff8a0aa0) //107
231  DEF(task_MovieRecord                        ,0xff986420) //107
232  DEF(task_PhySw                              ,0xff83457c) //107
233  DEF(task_RotaryEncoder                      ,0xff865894) //107
234//NSTUB(time                                  ,0xff8905d4) //  2            == 0xff8905d4
235NSTUB(vsprintf                                ,0xff820648) //  4
236//NSTUB(write                                 ,0xff8370c0) //101            == 0xff8370c0
Note: See TracBrowser for help on using the repository browser.