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

Revision 1635, 14.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 R49 (DRYOS version 2.3, release #0049)
6//   Firmware Ver GM1.00F
7//   Canon PowerShot SX40 HS
8
9// Values for makefile.inc
10//   PLATFORMID = 12856 (0x3238) // Found @ 0xfff40040
11//   MAXRAMADDR = 0x0fffffff
12//   KEYSYS = d4c                // Found @ 0xffff3b48
13//   NEED_ENCODED_DISKBOOT = 7   // Found @ 0xffff3b58
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// ERROR: kbd_pwr_off is not found.                        //--- ---    *** != 0x00000000
18// ERROR: kbd_pwr_on is not found.                         //--- ---    *** != 0x00000000
19NSTUB(reboot_fw_update                        ,0xff33ee24) //  6 96%
20
21// Check of modemap from 'platform/CAMERA/shooting.c':
22// Firmware modemap table found @ff09bd3c -> ff0985bc -> ff2047c4 -> ff36a8ec -> ff607d14
23// No problems found with modemap table.
24
25// Values below can be overridden in 'stubs_min.S':
26DEF(physw_status                            ,0x00037548) // Found @0xff024dd8
27DEF(physw_run                               ,0x00001c10) // Found @0xff024968
28DEF(levent_table                            ,0xff593a0c) // Found @0xff593a0c
29DEF(FlashParamsTable                        ,0xff607f74) // Found @0xff607f74
30DEF(movie_status                            ,0x00002f1c) // Found @0xff0772a8
31DEF(full_screen_refresh                     ,0x0000c2d8) // Found @0xff2917e4
32DEF(canon_menu_active                       ,0x000034f0) // Found @0xff091b6c
33DEF(canon_shoot_menu_active                 ,0x0000ab6d) // Found @0xff22a708
34DEF(playrec_mode                            ,0x00003214) // Found @0xff083504
35DEF(zoom_status                             ,0x000111f8) // Found @0xff36e6dc
36// focus_len_table contains zoom focus lengths for use in 'get_focal_length' (main.c).
37// each entry contains 1 int value, which is the the zoom focus length.
38// there are 201 entries in the table - set NUM_FL to 201
39DEF(focus_len_table                         ,0xfff4a7b4) // Found @0xfff4a7b4
40DEF(zoom_busy                               ,0x00002e2c) // Found @0xff071c6c
41DEF(focus_busy                              ,0x00008d08) // Found @0xff1bbe84
42DEF(recreview_hold                          ,0x000041e4) // Found @0xff0a443c
43
44// Values below go in 'lib.c':
45//void *vid_get_bitmap_fb()        { return (void*)0x40685000; }             // Found @0xff0515dc
46//void *vid_get_viewport_fb()      { return (void*)0x407dab80; }             // Found @0xff3e0b3c
47//void *vid_get_viewport_fb_d()    { return (void*)(*(int*)(0x2ca0+0x58)); } // Found @0xff06bfac & 0xff06bfe4
48//char *camera_jpeg_count_str()    { return (char*)0x000df0e8; }             // Found @0xff28543c
49//long hook_raw_size()             { return 0x01247a60; }                    // Found @0xff3e3940
50//int get_flash_params_count(void) { return 0x9f; }                          // Found @0xff205db8
51
52// Bitmap masks and physw_status index values for SD_READONLY and USB power flags (for kbd.c).
53//#define SD_READONLY_FLAG    0x00000002 // Found @0xff434b6c, levent 0x20a
54//#define SD_READONLY_IDX     1
55//#define USB_MASK            0x40000000 // Found @0xff434be4, levent 0x202
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//    { 0, KEY_UP              ,0x00000400 }, // Found @0xff434aec, levent 0x04
61//    { 0, KEY_DOWN            ,0x00000800 }, // Found @0xff434af4, levent 0x05
62//    { 0, KEY_LEFT            ,0x00001000 }, // Found @0xff434afc, levent 0x06
63//    { 0, KEY_RIGHT           ,0x00002000 }, // Found @0xff434b04, levent 0x07
64//    { 0, KEY_SET             ,0x00004000 }, // Found @0xff434b0c, levent 0x08
65//    { 0, KEY_DISPLAY         ,0x00020000 }, // Found @0xff434b24, levent 0x0a
66//    { 0, KEY_MENU            ,0x00040000 }, // Found @0xff434b2c, levent 0x09
67//    { 2, KEY_SHOOT_FULL      ,0x0000c000 }, // Found @0xff434bac, levent 0x01
68//    { 2, KEY_SHOOT_FULL_ONLY ,0x00008000 }, // Found @0xff434bac, levent 0x01
69//    { 2, KEY_SHOOT_HALF      ,0x00004000 }, // Found @0xff434ba4, levent 0x00
70//    { 0, 0, 0 }
71//};
72
73// Values below go in 'platform_camera.h':
74//#define CAM_DRYOS         1
75//#define CAM_DRYOS_2_3_R39 1 // Defined for cameras with DryOS version R39 or higher
76//#define CAM_DRYOS_2_3_R47 1 // Defined for cameras with DryOS version R47 or higher
77//#define CAM_RAW_ROWPIX    4176 // Found @0xff18e050
78//#define CAM_RAW_ROWS      3060 // Found @0xff18e05c
79//#undef  CAM_UNCACHED_BIT
80//#define CAM_UNCACHED_BIT  0x40000000 // Found @0xff02bea8
81
82// Misc stuff
83DEF(ctypes, 0xff43381a)
84
85// For capt_seq.c
86//static long *nrflag = (long*)(0xc3f8+0x00);  // Found @ ff29e270 & ff29e2f8
87//#define NR_AUTO (0)                          // have to explictly reset value back to 0 to enable auto
88
89// Stubs below matched 100%.
90//    Name                                     Address                Comp to stubs_entry_2.S
91NSTUB(AllocateMemory                          ,0xff359768) //101
92NSTUB(AllocateUncacheableMemory               ,0xff02be60) //112
93NSTUB(Close                                   ,0xff0275e4) //101
94NSTUB(CreateTask                              ,0xff00eaf0) //101
95NSTUB(DebugAssert                             ,0xff00edc8) //111
96NSTUB(DeleteDirectory_Fut                     ,0xff026fe0) //  1
97NSTUB(DeleteFile_Fut                          ,0xff026efc) //112
98NSTUB(DoAFLock                                ,0xff029330) //102
99NSTUB(EnterToCompensationEVF                  ,0xff029704) //104
100NSTUB(ExecuteEventProcedure                   ,0xff08d004) //  1
101NSTUB(ExitFromCompensationEVF                 ,0xff029748) //104
102NSTUB(ExitTask                                ,0xff00ed80) //101
103NSTUB(ExpCtrlTool_StartContiAE                ,0xff037bf0) //104
104NSTUB(ExpCtrlTool_StopContiAE                 ,0xff037cd0) //104
105NSTUB(Fclose_Fut                              ,0xff027078) //101
106NSTUB(Feof_Fut                                ,0xff027264) //  1
107NSTUB(Fflush_Fut                              ,0xff0272a0) //  1
108NSTUB(Fgets_Fut                               ,0xff0271cc) //  6
109NSTUB(Fopen_Fut                               ,0xff027038) //101
110NSTUB(Fread_Fut                               ,0xff027124) //101
111NSTUB(FreeMemory                              ,0xff359760) //101
112NSTUB(FreeUncacheableMemory                   ,0xff02bea0) //112
113NSTUB(Fseek_Fut                               ,0xff027218) //101
114NSTUB(Fwrite_Fut                              ,0xff027178) //101
115NSTUB(GetBatteryTemperature                   ,0xff05bbe8) //102
116NSTUB(GetCCDTemperature                       ,0xff05bb74) //102
117NSTUB(GetCurrentAvValue                       ,0xff1bebc0) //102
118NSTUB(GetDrive_ClusterSize                    ,0xff06a60c) //  6
119NSTUB(GetDrive_FreeClusters                   ,0xff06a664) //  6
120NSTUB(GetDrive_TotalClusters                  ,0xff06a63c) //  6
121NSTUB(GetFocusLensSubjectDistance             ,0xff1bca7c) //102
122NSTUB(GetFocusLensSubjectDistanceFromLens     ,0xff1bcde8) //  3
123NSTUB(GetImageFolder                          ,0xff197660) //  6
124NSTUB(GetKbdState                             ,0xff057c04) //109
125NSTUB(GetMemInfo                              ,0xff00a2b8) //  3
126NSTUB(GetOpticalTemperature                   ,0xff05bc5c) //102
127NSTUB(GetParameterData                        ,0xff205d78) //101
128NSTUB(GetPropertyCase                         ,0xff0910a4) //102
129NSTUB(GetSystemTime                           ,0xff3597c0) //101
130NSTUB(GetZoomLensCurrentPoint                 ,0xff071ffc) //102
131NSTUB(GetZoomLensCurrentPosition              ,0xff1c4fb8) //102
132NSTUB(GiveSemaphore                           ,0xff02b5e0) //112
133NSTUB(IsStrobeChargeCompleted                 ,0xff0efe04) //102
134NSTUB(LEDDrive                                ,0xff056e58) //101
135NSTUB(LocalTime                               ,0xff08a9c8) //  6
136NSTUB(LockMainPower                           ,0xff0981b4) //103
137NSTUB(Lseek                                   ,0xff027800) //101
138NSTUB(MakeDirectory_Fut                       ,0xff026f70) //  6
139NSTUB(MakeSDCardBootable                      ,0xff06a89c) //105
140NSTUB(MoveFocusLensToDistance                 ,0xff3dc670) //102
141NSTUB(MoveIrisWithAv                          ,0xff355078) //102
142NSTUB(MoveZoomLensWithPoint                   ,0xff3558d4) //102
143NSTUB(NewTaskShell                            ,0xff090a24) //101
144NSTUB(Open                                    ,0xff02751c) //101
145NSTUB(PB2Rec                                  ,0xff09b3ac) //104
146NSTUB(PT_MoveDigitalZoomToWide                ,0xff0790a8) //102
147NSTUB(PT_MoveOpticalZoomAt                    ,0xff079080) //102
148NSTUB(PT_PlaySound                            ,0xff085438) //  6
149NSTUB(PostLogicalEventForNotPowerType         ,0xff095b98) //103
150NSTUB(PostLogicalEventToUI                    ,0xff095be4) //103
151NSTUB(PutInNdFilter                           ,0xff3da154) //102
152NSTUB(PutOutNdFilter                          ,0xff3da18c) //102
153NSTUB(Read                                    ,0xff00ad74) //101
154NSTUB(ReadFastDir                             ,0xff3396d0) //  6
155NSTUB(Rec2PB                                  ,0xff099b1c) //104
156NSTUB(RefreshPhysicalScreen                   ,0xff0b1a24) //104
157NSTUB(Remove                                  ,0xff027758) //  6
158NSTUB(RenameFile_Fut                          ,0xff026e68) //  6
159NSTUB(Restart                                 ,0xff02d6a0) //106
160NSTUB(ScreenLock                              ,0xff0b2c50) //  4
161NSTUB(ScreenUnlock                            ,0xff0b2cb4) //  3
162NSTUB(SetAE_ShutterSpeed                      ,0xff3dfcb4) //102
163NSTUB(SetAutoShutdownTime                     ,0xff098228) //103
164NSTUB(SetCurrentCaptureModeType               ,0xff0a1650) //101
165NSTUB(SetFileTimeStamp                        ,0xff027970) //  6
166NSTUB(SetLogicalEventActive                   ,0xff097ef0) //101
167NSTUB(SetParameterData                        ,0xff205c54) //101
168NSTUB(SetPropertyCase                         ,0xff090f1c) //102
169NSTUB(SetScriptMode                           ,0xff097f8c) //101
170NSTUB(SleepTask                               ,0xff02b88c) //101
171NSTUB(TakeSemaphore                           ,0xff02b510) //101
172NSTUB(TurnOffBackLight                        ,0xff0a96b0) //104
173NSTUB(TurnOnBackLight                         ,0xff0a9698) //104
174NSTUB(UIFS_WriteFirmInfoToFile                ,0xff1f15b8) //101
175NSTUB(UnlockAF                                ,0xff029368) //102
176NSTUB(UnlockMainPower                         ,0xff098108) //103
177NSTUB(VbattGet                                ,0xff022364) //101
178NSTUB(Write                                   ,0xff027638) //101
179NSTUB(WriteSDCard                             ,0xff1ab470) //108
180NSTUB(_log                                    ,0xff430340) //111
181NSTUB(_log10                                  ,0xff430880) //112
182NSTUB(_pow                                    ,0xff4309f8) //114
183NSTUB(_sqrt                                   ,0xff43261c) //  6
184NSTUB(add_ptp_handler                         ,0xff2dfff4) //  6
185NSTUB(apex2us                                 ,0xff297c28) //  4
186NSTUB(close                                   ,0xff00abd0) //  6
187NSTUB(closedir                                ,0xff33952c) //  4
188NSTUB(err_init_task                           ,0xff00602c) //  4
189NSTUB(exmem_alloc                             ,0xff08b988) //101
190NSTUB(free                                    ,0xff004264) //112
191NSTUB(kbd_p1_f                                ,0xff024e28) //109
192NSTUB(kbd_p1_f_cont                           ,0xff024e34) //109
193NSTUB(kbd_p2_f                                ,0xff024600) //109
194NSTUB(kbd_read_keys                           ,0xff024dd8) //109
195NSTUB(kbd_read_keys_r2                        ,0xff05730c) //109
196NSTUB(lseek                                   ,0xff027800) //101
197NSTUB(malloc                                  ,0xff00420c) //112
198NSTUB(memcmp                                  ,0xff010a48) //101
199NSTUB(memcpy                                  ,0xff03169c) //101
200NSTUB(memset                                  ,0xff295c60) //101
201NSTUB(mkdir                                   ,0xff027a80) //  6
202NSTUB(mktime_ext                              ,0xff0b3bc0) //  1
203NSTUB(open                                    ,0xff00ab20) //  6
204NSTUB(opendir                                 ,0xff33957c) //  6
205NSTUB(openfastdir                             ,0xff33957c) //  6
206NSTUB(qsort                                   ,0xff3ae9d4) //  6
207NSTUB(rand                                    ,0xff295d9c) //  6
208NSTUB(read                                    ,0xff00ad74) //101
209NSTUB(readfastdir                             ,0xff3396d0) //  6
210NSTUB(rename                                  ,0xff026e68) //  6
211NSTUB(set_control_event                       ,0xff097a94) //111
212NSTUB(srand                                   ,0xff295d90) //  6
213NSTUB(stat                                    ,0xff027848) //  3
214NSTUB(strcat                                  ,0xff0b3378) //  1
215NSTUB(strchr                                  ,0xff0040d8) //  1
216NSTUB(strcmp                                  ,0xff010a04) //101
217NSTUB(strcpy                                  ,0xff0109ec) //101
218NSTUB(strftime                                ,0xff0b35c0) //113
219NSTUB(strlen                                  ,0xff004124) //101
220NSTUB(strncmp                                 ,0xff00408c) //  1
221NSTUB(strncpy                                 ,0xff004050) //  1
222NSTUB(strrchr                                 ,0xff0040fc) //  1
223NSTUB(strtol                                  ,0xff03199c) //101
224NSTUB(strtolx                                 ,0xff0317a0) //109
225  DEF(task_CaptSeq                            ,0xff07c46c) //110
226  DEF(task_ExpDrv                             ,0xff0cc430) //110
227  DEF(task_InitFileModules                    ,0xff09bbb0) //110
228  DEF(task_MovieRecord                        ,0xff07854c) //110
229  DEF(task_PhySw                              ,0xff024964) //110
230  DEF(task_RotaryEncoder                      ,0xff057f64) //110
231NSTUB(time                                    ,0xff08afa4) //  6
232NSTUB(vsprintf                                ,0xff0109ac) //  6
233NSTUB(write                                   ,0xff027638) //101
Note: See TracBrowser for help on using the repository browser.