source: trunk/platform/ixus220_elph300hs/sub/101a/stubs_entry.S @ 1444

Revision 1444, 17.4 KB checked in by philmoz, 2 years ago (diff)

Updates for finsig_dryos.c:

  • The 'ctypes' array used in generic/wrappers.c exists in the firmware for dryos cameras. finsig_dryos.c now adds an entry for this to stubs_entry.S so the array is no longer needed in the CHDK code.
  • Values from stubs_min.S that are correctly found by finsig_dryos.c can be removed from stubs_min.S. The entries will then be included in stubs_entry.S (as is done for stubs_entry_2.S). stubs_min.S cleaned up for G12, SX30, SX40 and IXUS310.
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.01A
7//   Canon IXUS 220HS
8
9// Values for makefile.inc
10//   PLATFORMID = 12841 (0x3229) // Found @ 0xfffe0040
11//   MAXRAMADDR = 0x07ffffff
12//   KEYSYS = d4c                // Found @ 0xffff3620
13//   NEED_ENCODED_DISKBOOT = 6   // Found @ 0xffff3630
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                           ,0xff865570) //  2 60%        == 0xff865570
18// ERROR: kbd_pwr_on is not found.                         //--- ---    *** != 0xff865570
19
20// Check of modemap from 'platform/CAMERA/shooting.c':
21// Firmware modemap table found @ff89e7f8 -> ff89b194 -> ff9b139c -> ffb041fc -> ffc4ee58
22// No problems found with modemap table.
23
24// Values below can be overridden in 'stubs_min.S':
25//DEF(physw_status                            ,0x0003418c) // Found @0xff834e18,          stubs_min = 0x0003418c (0x0003418c)
26//DEF(physw_run                               ,0x00001c3c) // Found @0xff8349bc,          stubs_min = 0x00001c3c (0x00001c3c)
27//DEF(levent_table                            ,0xffbeb220) // Found @0xffbeb220,          stubs_min = 0xffbeb220 (0xffbeb220)
28//DEF(FlashParamsTable                        ,0xffc4f098) // Found @0xffc4f098,          stubs_min = 0xffc4f098 (0xffc4f098)
29//DEF(movie_status                            ,0x00006dcc) // Found @0xff984bd0,          stubs_min = 0x00006dcc (0x00006dcc)
30//DEF(full_screen_refresh                     ,0x00009d00) // Found @0xffa32dfc,          stubs_min = 0x00009d00 (0x00009d00)
31//DEF(canon_menu_active                       ,0x00003210) // Found @0xff896910,          stubs_min = 0x00003210 (0x00003210)
32//DEF(canon_shoot_menu_active                 ,0x000083d9) // Found @0xff9c8c1c,          stubs_min = 0x000083d9 (0x000083d9)
33//DEF(playrec_mode                            ,0x00002f38) // Found @0xff888774,          stubs_min = 0x00002f38 (0x00002f38)
34//DEF(zoom_status                             ,0x0000ded8) // Found @0xffb078b8,          stubs_min = 0x0000ded8 (0x0000ded8)
35//DEF(some_flag_for_af_scan                   ,0x000071cc) // Found @0xff989240,          stubs_min = 0x000071cc (0x000071cc)
36
37// Values below go in 'lib.c':
38//void *vid_get_bitmap_fb()        { return (void*)0x40471000; } // Found @0xff85fd1c
39//void *vid_get_viewport_fb()      { return (void*)0x405c6b80; } // Found @0xffb5e134
40//char *camera_jpeg_count_str()    { return (char*)0x000babac; } // Found @0xffa2a298
41//long hook_raw_size()             { return 0x0123eaf0; }        // Found @0xffb6162c
42//int get_flash_params_count(void) { return 0xa0; }              // Found @0xff9b23d4
43
44// Bitmap masks and physw_status index values for SD_READONLY and USB power flags (for kbd.c).
45//#define SD_READONLY_FLAG    0x00020000 // Found @0xffba2bd0, levent 0x90a
46//#define SD_READONLY_IDX     2
47//#define USB_MASK            0x04000000 // Found @0xffba2bf0, levent 0x902
48//#define USB_IDX             2
49
50// Keymap values for kbd.c. Additional keys may be present, only common values included here.
51//static KeyMap keymap[] = {
52//    { 2, KEY_SHOOT_FULL      ,0x00000300 }, // Found @0xffba2b98, levent 0x01
53//    { 2, KEY_SHOOT_FULL_ONLY ,0x00000200 }, // Found @0xffba2b98, levent 0x01
54//    { 2, KEY_SHOOT_HALF      ,0x00000100 }, // Found @0xffba2b90, levent 0x00
55//    { 2, KEY_MENU            ,0x00000001 }, // Found @0xffba2b50, levent 0x09
56//    { 2, KEY_SET             ,0x00000002 }, // Found @0xffba2b58, levent 0x08
57//    { 2, KEY_ZOOM_IN         ,0x00000004 }, // Found @0xffba2b60, levent 0x02
58//    { 2, KEY_ZOOM_OUT        ,0x00000008 }, // Found @0xffba2b68, levent 0x03
59//    { 2, KEY_LEFT            ,0x00000010 }, // Found @0xffba2b70, levent 0x06
60//    { 2, KEY_RIGHT           ,0x00000020 }, // Found @0xffba2b78, levent 0x07
61//    { 2, KEY_DOWN            ,0x00000040 }, // Found @0xffba2b80, levent 0x05
62//    { 2, KEY_UP              ,0x00000080 }, // Found @0xffba2b88, levent 0x04
63//    { 0, 0, 0 }
64//};
65
66// Values below go in 'platform_camera.h':
67//#define CAM_DRYOS         1
68//#define CAM_DRYOS_2_3_R39 1 // Defined for cameras with DryOS version R39 or higher
69//#define CAM_DRYOS_2_3_R47 1 // Defined for cameras with DryOS version R47 or higher
70//#define CAM_RAW_ROWPIX    4168 // Found @0xff952bb4
71//#define CAM_RAW_ROWS      3060 // Found @0xff952bc0
72//#undef  CAM_UNCACHED_BIT
73//#define CAM_UNCACHED_BIT  0x40000000 // Found @0xff83c0f0
74
75// Misc stuff
76DEF(ctypes, 0xffba0102)
77
78// Stubs below matched 100%.
79//    Name                                     Address                Comp to stubs_entry_2.S
80//NSTUB(AllocateMemory                        ,0xffaf24f4) //101            == 0xffaf24f4
81//NSTUB(AllocateUncacheableMemory             ,0xff83c0a8) //112            == 0xff83c0a8
82//NSTUB(Close                                 ,0xff8383e8) //101            == 0xff8383e8
83//NSTUB(CreateTask                            ,0xff81e9b0) //101            == 0xff81e9b0
84//NSTUB(DebugAssert                           ,0xff81ec88) //111            == 0xff81ec88
85//NSTUB(DeleteFile_Fut                        ,0xff837d00) //112            == 0xff837d00
86//NSTUB(DoAFLock                              ,0xff839c28) //102            == 0xff839c28
87//NSTUB(EnterToCompensationEVF                ,0xff839e84) //104            == 0xff839e84
88//NSTUB(ExecuteEventProcedure                 ,0xff8920f8) //  1            == 0xff8920f8
89//NSTUB(ExitFromCompensationEVF               ,0xff839ec8) //104            == 0xff839ec8
90//NSTUB(ExitTask                              ,0xff81ec40) //101            == 0xff81ec40
91//NSTUB(ExpCtrlTool_StartContiAE              ,0xff848730) //104            == 0xff848730
92//NSTUB(ExpCtrlTool_StopContiAE               ,0xff848808) //104            == 0xff848808
93//NSTUB(Fclose_Fut                            ,0xff837e7c) //101            == 0xff837e7c
94//NSTUB(Feof_Fut                              ,0xff838068) //  1            == 0xff838068
95//NSTUB(Fflush_Fut                            ,0xff8380a4) //  1            == 0xff8380a4
96//NSTUB(Fgets_Fut                             ,0xff837fd0) //  6            == 0xff837fd0
97//NSTUB(Fopen_Fut                             ,0xff837e3c) //101            == 0xff837e3c
98//NSTUB(Fread_Fut                             ,0xff837f28) //101            == 0xff837f28
99//NSTUB(FreeMemory                            ,0xffaf24ec) //101            == 0xffaf24ec
100//NSTUB(FreeUncacheableMemory                 ,0xff83c0e8) //112            == 0xff83c0e8
101//NSTUB(Fseek_Fut                             ,0xff83801c) //101            == 0xff83801c
102//NSTUB(Fwrite_Fut                            ,0xff837f7c) //101            == 0xff837f7c
103//NSTUB(GetBatteryTemperature                 ,0xff868d7c) //102            == 0xff868d7c
104//NSTUB(GetCCDTemperature                     ,0xff868d08) //102            == 0xff868d08
105//NSTUB(GetCurrentAvValue                     ,0xff97cb48) //102            == 0xff97cb48
106//NSTUB(GetDrive_ClusterSize                  ,0xff87630c) //  6            == 0xff87630c
107//NSTUB(GetDrive_FreeClusters                 ,0xff876364) //  6            == 0xff876364
108//NSTUB(GetDrive_TotalClusters                ,0xff87633c) //  6            == 0xff87633c
109//NSTUB(GetFocusLensSubjectDistance           ,0xff97bbe4) //102            == 0xff97bbe4
110//NSTUB(GetFocusLensSubjectDistanceFromLens   ,0xff97c044) //  3            == 0xff97c044
111//NSTUB(GetImageFolder                        ,0xff959b4c) //  6            == 0xff959b4c
112//NSTUB(GetKbdState                           ,0xff865558) //109            == 0xff865558
113//NSTUB(GetMemInfo                            ,0xff81a29c) //  3            == 0xff81a29c
114//NSTUB(GetOpticalTemperature                 ,0xff868df0) //102            == 0xff868df0
115//NSTUB(GetParameterData                      ,0xff9b2394) //101            == 0xff9b2394
116//NSTUB(GetPropertyCase                       ,0xff895e60) //102            == 0xff895e60
117//NSTUB(GetSystemTime                         ,0xffaf254c) //101            == 0xffaf254c
118//NSTUB(GetZoomLensCurrentPoint               ,0xff9801ec) //102            == 0xff9801ec
119//NSTUB(GetZoomLensCurrentPosition            ,0xffadcc9c) //102            == 0xffadcc9c
120//NSTUB(GiveSemaphore                         ,0xff83baa0) //112            == 0xff83baa0
121//NSTUB(IsStrobeChargeCompleted               ,0xff8e8b94) //102            == 0xff8e8b94
122//NSTUB(LEDDrive                              ,0xff864a7c) //101            == 0xff864a7c
123//NSTUB(LocalTime                             ,0xff88f988) //  6            == 0xff88f988
124//NSTUB(LockMainPower                         ,0xff89ad84) //103            == 0xff89ad84
125//NSTUB(Lseek                                 ,0xff838604) //101            == 0xff838604
126//NSTUB(MakeDirectory_Fut                     ,0xff837d74) //  6            == 0xff837d74
127//NSTUB(MakeSDCardBootable                    ,0xff87659c) //105            == 0xff87659c
128//NSTUB(MoveFocusLensToDistance               ,0xffb5a430) //102            == 0xffb5a430
129//NSTUB(MoveIrisWithAv                        ,0xffaeecc4) //102            == 0xffaeecc4
130//NSTUB(MoveZoomLensWithPoint                 ,0xffaef37c) //102            == 0xffaef37c
131//NSTUB(NewTaskShell                          ,0xff8958a8) //101            == 0xff8958a8
132//NSTUB(Open                                  ,0xff838320) //101            == 0xff838320
133//NSTUB(PB2Rec                                ,0xff89dd28) //104            == 0xff89dd28
134//NSTUB(PT_MoveDigitalZoomToWide              ,0xff87fbcc) //102            == 0xff87fbcc
135//NSTUB(PT_MoveOpticalZoomAt                  ,0xff87fba4) //102            == 0xff87fba4
136//NSTUB(PT_PlaySound                          ,0xff88a774) //  6            == 0xff88a774
137//NSTUB(PostLogicalEventForNotPowerType       ,0xff89a540) //103            == 0xff89a540
138//NSTUB(PostLogicalEventToUI                  ,0xff89a58c) //103            == 0xff89a58c
139//NSTUB(PutInNdFilter                         ,0xffaef1c4) //102            == 0xffaef1c4
140//NSTUB(PutOutNdFilter                        ,0xffaef1e8) //102            == 0xffaef1e8
141//NSTUB(Read                                  ,0xff81ad58) //101            == 0xff81ad58
142//NSTUB(ReadFastDir                           ,0xffaca2bc) //  6            == 0xffaca2bc
143//NSTUB(Rec2PB                                ,0xff89dd68) //104            == 0xff89dd68
144//NSTUB(RefreshPhysicalScreen                 ,0xff8b1da0) //104            == 0xff8b1da0
145//NSTUB(Remove                                ,0xff83855c) //  6            == 0xff83855c
146//NSTUB(RenameFile_Fut                        ,0xff837c6c) //  6            == 0xff837c6c
147//NSTUB(Restart                               ,0xff83d8bc) //106            == 0xff83d8bc
148//NSTUB(ScreenLock                            ,0xff8b2f98) //  4            == 0xff8b2f98
149//NSTUB(ScreenUnlock                          ,0xff8b2ffc) //  3            == 0xff8b2ffc
150NSTUB(SetAE_ShutterSpeed                      ,0xffb5d2ac) //102
151//NSTUB(SetAutoShutdownTime                   ,0xff89adf8) //103            == 0xff89adf8
152//NSTUB(SetCurrentCaptureModeType             ,0xff8a3510) //101            == 0xff8a3510
153//NSTUB(SetFileTimeStamp                      ,0xff838774) //  6            == 0xff838774
154//NSTUB(SetLogicalEventActive                 ,0xff89aaec) //101            == 0xff89aaec
155//NSTUB(SetParameterData                      ,0xff9b2304) //101            == 0xff9b2304
156//NSTUB(SetPropertyCase                       ,0xff895d44) //102            == 0xff895d44
157//NSTUB(SetScriptMode                         ,0xff89ab3c) //101            == 0xff89ab3c
158//NSTUB(SleepTask                             ,0xff83bd4c) //101            == 0xff83bd4c
159//NSTUB(TakeSemaphore                         ,0xff83b9d0) //101            == 0xff83b9d0
160//NSTUB(TurnOffBackLight                      ,0xff8aa31c) //104            == 0xff8aa31c
161//NSTUB(TurnOnBackLight                       ,0xff8aa304) //104            == 0xff8aa304
162//NSTUB(UIFS_WriteFirmInfoToFile              ,0xff9a2184) //101            == 0xff9a2184
163//NSTUB(UnlockAF                              ,0xff839c60) //102            == 0xff839c60
164//NSTUB(UnlockMainPower                       ,0xff89acd8) //103            == 0xff89acd8
165//NSTUB(VbattGet                              ,0xff833050) //101            == 0xff833050
166//NSTUB(Write                                 ,0xff83843c) //101            == 0xff83843c
167//NSTUB(WriteSDCard                           ,0xff96b024) //108            == 0xff96b024
168//NSTUB(_log                                  ,0xffb9cc28) //111            == 0xffb9cc28
169//NSTUB(_log10                                ,0xffb9d168) //112            == 0xffb9d168
170//NSTUB(_pow                                  ,0xffb9d2e0) //114            == 0xffb9d2e0
171//NSTUB(_sqrt                                 ,0xffb9ef04) //  6            == 0xffb9ef04
172//NSTUB(add_ptp_handler                       ,0xffa7be20) //  6            == 0xffa7be20
173//NSTUB(apex2us                               ,0xffa3b18c) //  4            == 0xffa3b18c
174//NSTUB(close                                 ,0xff81abb4) //  6            == 0xff81abb4
175//NSTUB(closedir                              ,0xffaca118) //  4            == 0xffaca118
176//NSTUB(err_init_task                         ,0xff815fd4) //  4            == 0xff815fd4
177//NSTUB(exmem_alloc                           ,0xff890950) //101            == 0xff890950
178//NSTUB(free                                  ,0xff814244) //112            == 0xff814244
179//NSTUB(kbd_p1_f                              ,0xff834e94) //109            == 0xff834e94
180//NSTUB(kbd_p1_f_cont                         ,0xff834ea0) //109            == 0xff834ea0
181//NSTUB(kbd_p2_f                              ,0xff83468c) //109            == 0xff83468c
182//NSTUB(kbd_read_keys                         ,0xff834e18) //109            == 0xff834e18
183//NSTUB(kbd_read_keys_r2                      ,0xff864f74) //109            == 0xff864f74
184//NSTUB(lseek                                 ,0xff838604) //101            == 0xff838604
185//NSTUB(malloc                                ,0xff8141ec) //112            == 0xff8141ec
186//NSTUB(memcmp                                ,0xff820934) //101            == 0xff820934
187//NSTUB(memcpy                                ,0xff84179c) //101            == 0xff84179c
188//NSTUB(memset                                ,0xffa3a18c) //101            == 0xffa3a18c
189//NSTUB(mkdir                                 ,0xff838884) //  6            == 0xff838884
190//NSTUB(mktime_ext                            ,0xff8b3e10) //  1            == 0xff8b3e10
191//NSTUB(open                                  ,0xff81ab04) //  6            == 0xff81ab04
192//NSTUB(opendir                               ,0xffaca168) //  6            == 0xffaca168
193//NSTUB(openfastdir                           ,0xffaca168) //  6            == 0xffaca168
194//NSTUB(qsort                                 ,0xffb3d684) //  6            == 0xffb3d684
195//NSTUB(rand                                  ,0xffa3a2cc) //  6            == 0xffa3a2cc
196//NSTUB(read                                  ,0xff81ad58) //101            == 0xff81ad58
197//NSTUB(readfastdir                           ,0xffaca2bc) //  6            == 0xffaca2bc
198//NSTUB(reboot_fw_update                      ,0xffacf758) //  6            == 0xffacf758
199//NSTUB(rename                                ,0xff837c6c) //  6            == 0xff837c6c
200//NSTUB(set_control_event                     ,0xff89a7b0) //111            == 0xff89a7b0
201//NSTUB(srand                                 ,0xffa3a2c0) //  6            == 0xffa3a2c0
202//NSTUB(stat                                  ,0xff83864c) //  3            == 0xff83864c
203//NSTUB(strcat                                ,0xff8b35c8) //  1            == 0xff8b35c8
204//NSTUB(strchr                                ,0xff8140b8) //  1            == 0xff8140b8
205//NSTUB(strcmp                                ,0xff8208f0) //101            == 0xff8208f0
206//NSTUB(strcpy                                ,0xff8208d8) //101            == 0xff8208d8
207//NSTUB(strftime                              ,0xff8b3810) //113            == 0xff8b3810
208//NSTUB(strlen                                ,0xff814104) //101            == 0xff814104
209//NSTUB(strncmp                               ,0xff81406c) //  1            == 0xff81406c
210//NSTUB(strncpy                               ,0xff814030) //  1            == 0xff814030
211//NSTUB(strrchr                               ,0xff8140dc) //  1            == 0xff8140dc
212//NSTUB(strtol                                ,0xff841a9c) //101            == 0xff841a9c
213//NSTUB(strtolx                               ,0xff8418a0) //109            == 0xff8418a0
214//  DEF(task_CaptSeq                          ,0xff882920) //110            == 0xff882920
215//  DEF(task_ExpDrv                           ,0xff8cbcbc) //110            == 0xff8cbcbc
216//  DEF(task_InitFileModules                  ,0xff89e66c) //110            == 0xff89e66c
217//  DEF(task_MovieRecord                      ,0xff985e5c) //110            == 0xff985e5c
218//  DEF(task_PhySw                            ,0xff8349b8) //110            == 0xff8349b8
219//NSTUB(time                                  ,0xff88ff64) //  6            == 0xff88ff64
220//NSTUB(vsprintf                              ,0xff820898) //  6            == 0xff820898
221//NSTUB(write                                 ,0xff83843c) //101            == 0xff83843c
Note: See TracBrowser for help on using the repository browser.