source: branches/release-1_0/platform/sx1/sub/200h/stubs_entry.S @ 1635

Revision 1635, 14.5 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 R31 (DRYOS version 2.3, release #0031)
6//   Firmware Ver GM2.00H
7//   Canon PowerShot SX1 IS
8
9// Values for makefile.inc
10//   PLATFORMID = 12693 (0x3195) // Found @ 0xfffe0130
11//   MAXRAMADDR = 0x07ffffff
12//   KEYSYS = d4                 // Found @ 0xffff3674
13//   NEED_ENCODED_DISKBOOT = 1   // Found @ 0xffff3684
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(ExitFromCompensationEVF               ,0xff825b88) //104        *** != 0xff825bac
18//NSTUB(kbd_pwr_off                           ,0xff84da28) //  2 60%    *** != 0xff81093c
19// ERROR: kbd_pwr_on is not found.                         //--- ---    *** != 0xff81093c
20//NSTUB(rename                                ,0xff82329c) //  1        *** != 0xff823b18
21//NSTUB(write                                 ,0xff823af0) //101        *** != 0xff819aac
22
23// Check of modemap from 'platform/CAMERA/shooting.c':
24// Firmware modemap table found @ff889430 -> ff885968 -> ff98bf94 -> ffaa2ff8 -> ffbbb0cc
25// Current modemap entry not found in firmware - MODE_VIDEO_STD            3622
26
27// Values below can be overridden in 'stubs_min.S':
28//DEF(physw_status                            ,0x00012da4) // Found @0xff821af4,          stubs_min = 0x00012da4 (0x12DA4)
29//DEF(physw_run                               ,0x00001c30) // Found @0xff821768,          stubs_min = 0x00001c30 (0x1C24+0x0C)
30//DEF(levent_table                            ,0xffb89f4c) // Found @0xffb89f4c,          stubs_min = 0xffb89f4c (0xFFB89F4C)
31//DEF(FlashParamsTable                        ,0xffbbb2a4) // Found @0xffbbb2a4,          stubs_min = 0xffbbb2a4 (0xFFBBB2A4)
32//DEF(movie_status                            ,0x000055a8) // Found @0xff867b10,          stubs_min = 0x000055a8 (0x5570+0x38)
33//DEF(canon_menu_active                       ,0x00005a5c) // Found @0xff87e710,          stubs_min = 0x00005a5c (0x5A58+4)
34//DEF(canon_shoot_menu_active                 ,0x0000b819) // Found @0xff9a688c,          stubs_min = 0x0000b819 (0xB818+1)
35//DEF(playrec_mode                            ,0x000057c4) // Found @0xff8716c8,          stubs_min = 0x000057c4 (0x57C0+0x4)
36//DEF(zoom_status                             ,0x0000f2a0) // Found @0xffaa4d24,          stubs_min = 0x0000f2a0 (0xF2A0)
37DEF(some_flag_for_af_scan                   ,0x0000a5e8) // Found @0xff95e58c
38//DEF(zoom_busy                               ,0x00009ae8) // Found @0xff953f40,          stubs_min = 0x00009ae8 (0x9ACC+0x1C)
39//DEF(focus_busy                              ,0x00009974) // Found @0xff94cf54,          stubs_min = 0x00009974 (0x996C+0x08)
40//DEF(recreview_hold                          ,0x0000678c) // Found @0xff89020c, ** != ** stubs_min = 0x0000b400 (0xB31C+0xE4)
41
42// Values below go in 'lib.c':
43//void *vid_get_bitmap_fb()        { return (void*)0x40471000; }             // Found @0xff84807c
44//void *vid_get_viewport_fb()      { return (void*)0x4133bb10; }             // Found @0xffafc454
45//void *vid_get_viewport_fb_d()    { return (void*)(*(int*)(0x53c8+0x58)); } // Found @0xff85fbb0 & 0xff85fbdc
46//char *camera_jpeg_count_str()    { return (char*)0x0005ced4; }             // Found @0xff9ed730
47//long hook_raw_size()             { return 0x01076d90; }                    // Found @0xffafe94c
48//int get_flash_params_count(void) { return 0x79; }                          // Found @0xff98d594
49
50// Bitmap masks and physw_status index values for SD_READONLY and USB power flags (for kbd.c).
51//#define SD_READONLY_FLAG    0x00020000 // Found @0xffb36734, levent 0x90a
52//#define SD_READONLY_IDX     2
53//#define USB_MASK            0x00040000 // Found @0xffb36740, levent 0x902
54//#define USB_IDX             2
55
56// Keymap values for kbd.c. Additional keys may be present, only common values included here.
57//static KeyMap keymap[] = {
58//    { 0, KEY_SHOOT_FULL      ,0x00000003 }, // Found @0xffb365cc, levent 0x01
59//    { 0, KEY_SHOOT_FULL_ONLY ,0x00000002 }, // Found @0xffb365cc, levent 0x01
60//    { 0, KEY_SHOOT_HALF      ,0x00000001 }, // Found @0xffb365c0, levent 0x00
61//    { 1, KEY_SET             ,0x00000100 }, // Found @0xffb3665c, levent 0x08
62//    { 1, KEY_DISPLAY         ,0x00000200 }, // Found @0xffb36668, levent 0x0a
63//    { 1, KEY_UP              ,0x00000400 }, // Found @0xffb36674, levent 0x04
64//    { 1, KEY_DOWN            ,0x00000800 }, // Found @0xffb36680, levent 0x05
65//    { 1, KEY_RIGHT           ,0x00001000 }, // Found @0xffb3668c, levent 0x07
66//    { 1, KEY_LEFT            ,0x00002000 }, // Found @0xffb36698, levent 0x06
67//    { 1, KEY_MENU            ,0x00004000 }, // Found @0xffb366a4, levent 0x09
68//    { 0, 0, 0 }
69//};
70
71// Values below go in 'platform_camera.h':
72//#define CAM_DRYOS         1
73//#define CAM_RAW_ROWPIX    4152 // Found @0xffaf52d8
74//#define CAM_RAW_ROWS      2772 // Found @0xffaf52dc
75//#undef  CAM_UNCACHED_BIT
76//#define CAM_UNCACHED_BIT  0x40000000 // Found @0xff8280b0
77
78// Misc stuff
79DEF(ctypes, 0xffb2b0c6)
80
81// For capt_seq.c
82//static long *nrflag = (long*)(0xa5d0-0x04);  // Found @ ff960d5c & ff960d74
83
84// Stubs below matched 100%.
85//    Name                                     Address                Comp to stubs_entry_2.S
86NSTUB(AllocateMemory                          ,0xffa91b9c) //101
87NSTUB(AllocateUncacheableMemory               ,0xff82806c) //112
88NSTUB(Close                                   ,0xff823a44) //101
89NSTUB(CreateTask                              ,0xff81aef4) //101
90NSTUB(DebugAssert                             ,0xff81b1cc) //111
91NSTUB(DeleteDirectory_Fut                     ,0xff8233d4) //  1
92NSTUB(DeleteFile_Fut                          ,0xff8232f0) //112
93//NSTUB(DoAFLock                              ,0xff825898) //102            == 0xff825898
94//NSTUB(EnterToCompensationEVF                ,0xff825b44) //104            == 0xff825b44
95NSTUB(ExecuteEventProcedure                   ,0xff879ea0) //  1
96NSTUB(ExitTask                                ,0xff81b184) //101
97NSTUB(ExpCtrlTool_StartContiAE                ,0xff8312a4) //104
98NSTUB(ExpCtrlTool_StopContiAE                 ,0xff8313e8) //104
99NSTUB(Fclose_Fut                              ,0xff82346c) //101
100NSTUB(Feof_Fut                                ,0xff823658) //  1
101NSTUB(Fflush_Fut                              ,0xff823694) //  1
102NSTUB(Fgets_Fut                               ,0xff8235c0) //  1
103NSTUB(Fopen_Fut                               ,0xff82342c) //101
104NSTUB(Fread_Fut                               ,0xff823518) //101
105NSTUB(FreeMemory                              ,0xffa91b94) //101
106NSTUB(FreeUncacheableMemory                   ,0xff8280ac) //112
107NSTUB(Fseek_Fut                               ,0xff82360c) //101
108NSTUB(Fwrite_Fut                              ,0xff82356c) //101
109NSTUB(GetBatteryTemperature                   ,0xff850b00) //102
110NSTUB(GetCCDTemperature                       ,0xff850a90) //102
111NSTUB(GetCurrentAvValue                       ,0xff94f5d4) //102
112//NSTUB(GetDrive_ClusterSize                  ,0xff85e284) //  1            == 0xff85e284
113//NSTUB(GetDrive_FreeClusters                 ,0xff85e2ec) //  1            == 0xff85e2ec
114//NSTUB(GetDrive_TotalClusters                ,0xff85e2b8) //  1            == 0xff85e2b8
115NSTUB(GetFocusLensSubjectDistance             ,0xff94da5c) //102
116NSTUB(GetFocusLensSubjectDistanceFromLens     ,0xff94dd68) //  3
117NSTUB(GetKbdState                             ,0xff84d880) //109
118NSTUB(GetMemInfo                              ,0xff813c24) //  1
119NSTUB(GetOpticalTemperature                   ,0xff850b70) //102
120NSTUB(GetParameterData                        ,0xff98d554) //101
121NSTUB(GetPropertyCase                         ,0xff87dbcc) //102
122NSTUB(GetSystemTime                           ,0xffa91bf4) //101
123//NSTUB(GetZoomLensCurrentPoint               ,0xff9548a8) //102            == 0xff9548a8
124//NSTUB(GetZoomLensCurrentPosition            ,0xffa820f8) //102            == 0xffa820f8
125NSTUB(GiveSemaphore                           ,0xff827a88) //112
126NSTUB(IsStrobeChargeCompleted                 ,0xff8bdbdc) //102
127//NSTUB(LEDDrive                              ,0xff84cc34) //103            == 0xff84cc34
128NSTUB(LocalTime                               ,0xff87763c) //  1
129NSTUB(LockMainPower                           ,0xff885580) //103
130NSTUB(Lseek                                   ,0xff823b84) //101
131NSTUB(MakeDirectory_Fut                       ,0xff823364) //  1
132NSTUB(MoveFocusLensToDistance                 ,0xffaf8794) //102
133NSTUB(MoveIrisWithAv                          ,0xffa8c384) //102
134NSTUB(MoveZoomLensWithPoint                   ,0xffa8caac) //102
135NSTUB(NewTaskShell                            ,0xff87d674) //103
136NSTUB(Open                                    ,0xff823a1c) //101
137//NSTUB(PB2Rec                                ,0xff888840) //104            == 0xff888840
138NSTUB(PT_MoveDigitalZoomToWide                ,0xff8697c0) //102
139NSTUB(PT_MoveOpticalZoomAt                    ,0xff869798) //102
140NSTUB(PT_PlaySound                            ,0xff869110) //102
141//NSTUB(PostLogicalEventForNotPowerType       ,0xff88328c) //103            == 0xff88328c
142NSTUB(PostLogicalEventToUI                    ,0xff8832d8) //103
143NSTUB(PutInNdFilter                           ,0xffa8c930) //102
144NSTUB(PutOutNdFilter                          ,0xffa8c954) //102
145NSTUB(Read                                    ,0xff819a4c) //101
146NSTUB(ReadFastDir                             ,0xffa6fe64) //  1
147//NSTUB(Rec2PB                                ,0xff8871b8) //104            == 0xff8871b8
148//NSTUB(RefreshPhysicalScreen                 ,0xff9fa6fc) //104            == 0xff9fa6fc
149NSTUB(Remove                                  ,0xff823a8c) //  1
150NSTUB(RenameFile_Fut                          ,0xff82329c) //  1
151//NSTUB(Restart                               ,0xff8298f0) //106            == 0xff8298f0
152NSTUB(SetAE_ShutterSpeed                      ,0xffafb614) //102
153NSTUB(SetAutoShutdownTime                     ,0xff8855f4) //103
154NSTUB(SetCurrentCaptureModeType               ,0xff88d348) //101
155NSTUB(SetFileTimeStamp                        ,0xff823d20) //  1
156NSTUB(SetLogicalEventActive                   ,0xff885240) //101
157NSTUB(SetParameterData                        ,0xff98d430) //101
158NSTUB(SetPropertyCase                         ,0xff87dac4) //102
159//NSTUB(SetScriptMode                         ,0xff885290) //101            == 0xff885290
160NSTUB(SleepTask                               ,0xff827cf0) //101
161NSTUB(TakeSemaphore                           ,0xff8279b8) //101
162//NSTUB(TurnOffBackLight                      ,0xff893fc8) //104            == 0xff893fc8
163NSTUB(TurnOnBackLight                         ,0xff893fb0) //104
164NSTUB(UIFS_WriteFirmInfoToFile                ,0xff978be0) //103
165//NSTUB(UnlockAF                              ,0xff8258d0) //102            == 0xff8258d0
166NSTUB(UnlockMainPower                         ,0xff8854d4) //103
167NSTUB(UpdateMBROnFlash                        ,0xff85e0c4) //105
168//NSTUB(VbattGet                              ,0xff82046c) //103            == 0xff82046c
169NSTUB(Write                                   ,0xff823af0) //101
170//NSTUB(WriteSDCard                           ,0xff93dd0c) //108            == 0xff93dd0c
171NSTUB(_log                                    ,0xffb28344) //111
172NSTUB(_log10                                  ,0xffb26fd0) //112
173NSTUB(_pow                                    ,0xffb27140) //114
174NSTUB(_sqrt                                   ,0xffb29fa0) //  1
175NSTUB(add_ptp_handler                         ,0xffa3afbc) //  3
176//NSTUB(apex2us                               ,0xff9fdbc8) //  4            == 0xff9fdbc8
177NSTUB(close                                   ,0xff819864) //  1
178NSTUB(closedir                                ,0xffa6ff34) //  1
179NSTUB(err_init_task                           ,0xff814e80) //  4
180NSTUB(exmem_alloc                             ,0xff87857c) //103
181NSTUB(free                                    ,0xff813a7c) //112
182NSTUB(kbd_p1_f                                ,0xff821bf0) //109
183NSTUB(kbd_p1_f_cont                           ,0xff821bfc) //109
184NSTUB(kbd_p2_f                                ,0xff821408) //109
185NSTUB(kbd_read_keys                           ,0xff821af4) //109
186NSTUB(kbd_read_keys_r2                        ,0xff84d130) //109
187NSTUB(lseek                                   ,0xff823b84) //101
188NSTUB(malloc                                  ,0xff8139a8) //112
189NSTUB(memcmp                                  ,0xff81cba4) //101
190NSTUB(memcpy                                  ,0xff8a0984) //101
191NSTUB(memset                                  ,0xff9fcf00) //101
192NSTUB(mkdir                                   ,0xff823de8) //  1
193// ALT: NSTUB(mkdir, 0xff823e88) // 1 32/0
194NSTUB(mktime_ext                              ,0xff8a11f0) //  1
195NSTUB(open                                    ,0xff8197b4) //  1
196NSTUB(opendir                                 ,0xffa6fdd0) //  1
197NSTUB(openfastdir                             ,0xffa6fdd0) //  1
198//NSTUB(qsort                                 ,0xffae3d50) //  1            == 0xffae3d50
199NSTUB(rand                                    ,0xff81ccac) //  1
200NSTUB(read                                    ,0xff819a4c) //101
201NSTUB(readfastdir                             ,0xffa6fe64) //  1
202NSTUB(reboot_fw_update                        ,0xffa77864) //  5
203NSTUB(set_control_event                       ,0xff884e9c) //111
204NSTUB(srand                                   ,0xff81cca0) //  1
205NSTUB(stat                                    ,0xff823c50) //  1
206NSTUB(strcat                                  ,0xff8a0798) //  1
207//NSTUB(strchr                                ,0xff8a0820) //  1            == 0xff8a0820
208NSTUB(strcmp                                  ,0xff81cb3c) //101
209NSTUB(strcpy                                  ,0xff81cb24) //101
210NSTUB(strftime                                ,0xff8a0bf8) //  1
211NSTUB(strlen                                  ,0xff81cb80) //101
212NSTUB(strncmp                                 ,0xff8a07d4) //  1
213NSTUB(strncpy                                 ,0xff82dbf8) //  1
214//NSTUB(strrchr                               ,0xff9fced8) //  1            == 0xff9fced8
215NSTUB(strtol                                  ,0xff82de30) //101
216NSTUB(strtolx                                 ,0xff82dc34) //109
217  DEF(task_CaptSeq                            ,0xff86cb80) //110
218  DEF(task_ExpDrv                             ,0xff8b3e4c) //110
219  DEF(task_InitFileModules                    ,0xff8892bc) //107
220  DEF(task_MovieRecord                        ,0xff867d90) //107
221  DEF(task_PhySw                              ,0xff821764) //107
222NSTUB(time                                    ,0xff877c1c) //  2
223NSTUB(vsprintf                                ,0xff81cae8) //  1
Note: See TracBrowser for help on using the repository browser.