source: trunk/platform/s90/sub/101a/stubs_entry.S @ 1291

Revision 1291, 14.3 KB checked in by philmoz, 22 months ago (diff)

Replacement for gensig/finsig for DryOS based cameras - see http://chdk.setepontos.com/index.php?topic=6560.0

  • 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 R39 (DRYOS version 2.3, release #0039)
6// Firmware Ver GM1.01A
7// Possible corrupt firmware dump - file size to small for start address 0xff810000
8//   file size = 7.0MB, should be 7.9MB
9
10// Stubs below should be checked. Stub not matched 100%, or difference found to current 'stubs_entry_2.S'
11//    Name                                     Address      Rule  %  Comp to stubs_entry_2.S
12//NSTUB(SetScriptMode                         ,0xff894448) //101        *** != 0xff810f4c
13//NSTUB(kbd_pwr_off                           ,0xff85e3a4) //  2 60%    *** != 0xff833350
14// ERROR: kbd_pwr_on is not found.                         //--- ---    *** != 0xff810b04
15//NSTUB(rename                                ,0xff834d0c) //  4        *** != 0xff8354f0
16//NSTUB(write                                 ,0xff8354a4) //101        *** != 0xff81abd8
17
18// Check of modemap from 'platform/CAMERA/shooting.c':
19// Firmware modemap table found @ff898488 -> ff894a8c -> ff993510 -> ffaae8d4 -> ffbef9d4
20// No problems found with modemap table.
21
22// Values below go in 'stubs_min.S':
23//DEF(physw_status                            ,0x000330d8) // Found @0xff8335b4,          stubs_min = 0x000330d8 (0x330d8)
24//DEF(physw_run                               ,0x00001c44) // Found @0xff83320c,          stubs_min = 0x00001c44 (0x1C38+0x0C)
25//DEF(levent_table                            ,0xffb8b4c4) // Found @0xffb8b4c4,          stubs_min = 0xffb8b4c4 (0xFFB8B4C4)
26//DEF(FlashParamsTable                        ,0xffbefbc4) // Found @0xffbefbc4,          stubs_min = 0xffbefbc4 (0xFFBEFBC4)
27//DEF(movie_status                            ,0x00007ae8) // Found @0xff96149c,          stubs_min = 0x00007ae8 (0x7ab0+0x38)
28//DEF(full_screen_refresh                     ,0x0000a36c) // Found @0xffa07dc8
29//DEF(canon_menu_active                       ,0x00003038) // Found @0xff88d65c,          stubs_min = 0x00003038 (0x3034+4)
30//DEF(canon_shoot_menu_active                 ,0x00008dd1) // Found @0xff9ab7a0,          stubs_min = 0x00008dd1 (0x8DD0+1)
31//DEF(playrec_mode                            ,0x00002d64) // Found @0xff87fa14,          stubs_min = 0x00002d64 (0x2d60+0x4)
32//DEF(zoom_status                             ,0x00008aa4) // Found @0xff99bb74,          stubs_min = 0x00008aa4 (0x8AA4)
33//DEF(some_flag_for_af_scan                   ,0x00007ff4) // Found @0xff96452c,          stubs_min = 0x00007ff4 (0x7FF4)
34
35// Values below go in 'lib.c':
36//void *vid_get_bitmap_fb()        { return (void*)0x40471000; } // Found @0xff858728
37//void *vid_get_viewport_fb()      { return (void*)0x407e8a00; } // Found @0xffaff330
38//char *camera_jpeg_count_str()    { return (char*)0x0009792c; } // Found @0xff9fbf8c
39//long hook_raw_size()             { return 0x00ee9200; }        // Found @0xffb025fc
40//int get_flash_params_count(void) { return 0x85; }              // Found @0xff994b10
41
42// Bitmap masks and physw_status index values for SD_READONLY and USB power flags (for kbd.c).
43//#define SD_READONLY_FLAG    0x00020000 // Found @0xffb3aaa4, levent 0x90a
44//#define SD_READONLY_IDX     2
45//#define USB_FLAG            0x00200000 // Found @0xffb3aabc, levent 0x902
46//#define USB_IDX             2
47
48// Keymap values for kbd.c. Additional keys may be present, only common values included here.
49//static KeyMap keymap[] = {
50//    { 0, KEY_SHOOT_HALF  ,0x00000100 }, // Found @0xffb3a984, levent 0x00
51//    { 0, KEY_SHOOT_FULL  ,0x00000300 }, // Found @0xffb3a990, levent 0x01
52//    { 1, KEY_ZOOM_IN     ,0x00000010 }, // Found @0xffb3aa08, levent 0x02
53//    { 1, KEY_ZOOM_OUT    ,0x00000020 }, // Found @0xffb3aa14, levent 0x03
54//    { 1, KEY_LEFT        ,0x00000100 }, // Found @0xffb3aa38, levent 0x06
55//    { 1, KEY_RIGHT       ,0x00000200 }, // Found @0xffb3aa44, levent 0x07
56//    { 1, KEY_DOWN        ,0x00000400 }, // Found @0xffb3aa50, levent 0x05
57//    { 1, KEY_DISPLAY     ,0x00001000 }, // Found @0xffb3aa68, levent 0x0a
58//    { 1, KEY_MENU        ,0x00002000 }, // Found @0xffb3aa74, levent 0x09
59//    { 1, KEY_UP          ,0x00004000 }, // Found @0xffb3aa80, levent 0x04
60//    { 1, KEY_SET         ,0x00008000 }, // Found @0xffb3aa8c, levent 0x08
61//    { 0, 0, 0 }
62//};
63
64// Values below go in 'platform_camera.h':
65//#define CAM_DRYOS         1
66//#define CAM_DRYOS_2_3_R39 1 // Defined for cameras with DryOS version R39 or higher
67//#define CAM_RAW_ROWPIX    3744 // Found @0xff9345f8
68//#define CAM_RAW_ROWS      2784 // Found @0xff934600
69//#undef  CAM_UNCACHED_BIT
70//#define CAM_UNCACHED_BIT  0x40000000 // Found @0xff838e10
71
72// Stubs below matched 100%.
73//    Name                                     Address                Comp to stubs_entry_2.S
74NSTUB(AllocateMemory                          ,0xffa9d1bc) //101
75NSTUB(AllocateUncacheableMemory               ,0xff838dcc) //112
76NSTUB(Close                                   ,0xff835414) //101
77NSTUB(CreateTask                              ,0xff81e5b4) //101
78NSTUB(DebugAssert                             ,0xff81e88c) //111
79NSTUB(DeleteFile_Fut                          ,0xff834da0) //112
80//NSTUB(DoAFLock                              ,0xff836b98) //102            == 0xff836b98
81//NSTUB(EnterToCompensationEVF                ,0xff836d3c) //104            == 0xff836d3c
82NSTUB(ExecuteEventProcedure                   ,0xff888d28) //  1
83//NSTUB(ExitFromCompensationEVF               ,0xff836d80) //104            == 0xff836d80
84NSTUB(ExitTask                                ,0xff81e844) //101
85//NSTUB(ExpCtrlTool_StartContiAE              ,0xff844700) //104            == 0xff844700
86//NSTUB(ExpCtrlTool_StopContiAE               ,0xff8447d8) //104            == 0xff8447d8
87NSTUB(Fclose_Fut                              ,0xff834f1c) //101
88NSTUB(Feof_Fut                                ,0xff835108) //  1
89NSTUB(Fflush_Fut                              ,0xff835144) //  1
90NSTUB(Fgets_Fut                               ,0xff835070) //  1
91NSTUB(Fopen_Fut                               ,0xff834edc) //101
92NSTUB(Fread_Fut                               ,0xff834fc8) //101
93NSTUB(FreeMemory                              ,0xffa9d1b4) //101
94NSTUB(FreeUncacheableMemory                   ,0xff838e0c) //112
95NSTUB(Fseek_Fut                               ,0xff8350bc) //101
96NSTUB(Fwrite_Fut                              ,0xff83501c) //101
97NSTUB(GetBatteryTemperature                   ,0xff8615f0) //102
98NSTUB(GetCCDTemperature                       ,0xff86157c) //102
99NSTUB(GetCurrentAvValue                       ,0xff95a380) //102
100NSTUB(GetDrive_ClusterSize                    ,0xff86e380) //  3
101NSTUB(GetDrive_FreeClusters                   ,0xff86e3e0) //  3
102NSTUB(GetDrive_TotalClusters                  ,0xff86e3b4) //  3
103NSTUB(GetFocusLensSubjectDistance             ,0xff958954) //102
104NSTUB(GetFocusLensSubjectDistanceFromLens     ,0xff958d9c) //  3
105NSTUB(GetImageFolder                          ,0xff93c484) //106
106//NSTUB(GetKbdState                           ,0xff85e258) //109            == 0xff85e258
107NSTUB(GetMemInfo                              ,0xff81a070) //  3
108NSTUB(GetOpticalTemperature                   ,0xff861664) //102
109NSTUB(GetParameterData                        ,0xff994ad0) //101
110NSTUB(GetPropertyCase                         ,0xff88ca90) //102
111NSTUB(GetSystemTime                           ,0xffa9d214) //101
112NSTUB(GetZoomLensCurrentPoint                 ,0xff95da40) //102
113NSTUB(GetZoomLensCurrentPosition              ,0xffa90e60) //102
114//NSTUB(GiveSemaphore                         ,0xff8387e8) //112            == 0xff8387e8
115NSTUB(IsStrobeChargeCompleted                 ,0xff8d873c) //102
116//NSTUB(LEDDrive                              ,0xff85d648) //103            == 0xff85d648
117NSTUB(LocalTime                               ,0xff88669c) //  1
118NSTUB(LockMainPower                           ,0xff8946a8) //103
119//NSTUB(Lseek                                 ,0xff835530) //101            == 0xff835530
120NSTUB(MakeDirectory_Fut                       ,0xff834e14) //  1
121NSTUB(MoveFocusLensToDistance                 ,0xffafbd44) //102
122NSTUB(MoveIrisWithAv                          ,0xffa9ab88) //102
123NSTUB(MoveZoomLensWithPoint                   ,0xffa9b1fc) //102
124NSTUB(NewTaskShell                            ,0xff88c53c) //103
125NSTUB(Open                                    ,0xff8353bc) //101
126NSTUB(PB2Rec                                  ,0xff8977f0) //104
127NSTUB(PT_MoveDigitalZoomToWide                ,0xff8776dc) //102
128NSTUB(PT_MoveOpticalZoomAt                    ,0xff8776b4) //102
129//NSTUB(PT_PlaySound                          ,0xff881838) //102            == 0xff881838
130NSTUB(PostLogicalEventForNotPowerType         ,0xff8924d4) //103
131NSTUB(PostLogicalEventToUI                    ,0xff892520) //103
132NSTUB(PutInNdFilter                           ,0xffaf9a94) //102
133NSTUB(PutOutNdFilter                          ,0xffaf9acc) //102
134NSTUB(Read                                    ,0xff81ab78) //101
135NSTUB(ReadFastDir                             ,0xffa7d79c) //  3
136NSTUB(Rec2PB                                  ,0xff897830) //104
137//NSTUB(RefreshPhysicalScreen                 ,0xffa08f40) //104            == 0xffa08f40
138//NSTUB(Remove                                ,0xff835448) //  4            == 0xff835448
139//NSTUB(RenameFile_Fut                        ,0xff834d0c) //  4            == 0xff834d0c
140NSTUB(Restart                                 ,0xff83a520) //106
141//NSTUB(ScreenLock                            ,0xffa0a160) //  3            == 0xffa0a160
142//NSTUB(ScreenUnlock                          ,0xffa0a188) //  3            == 0xffa0a188
143NSTUB(SetAE_ShutterSpeed                      ,0xffafe4f0) //102
144NSTUB(SetAutoShutdownTime                     ,0xff89471c) //103
145NSTUB(SetCurrentCaptureModeType               ,0xff89b7e0) //101
146//NSTUB(SetFileTimeStamp                      ,0xff8356a0) //  3            == 0xff8356a0
147NSTUB(SetLogicalEventActive                   ,0xff8943f8) //101
148NSTUB(SetParameterData                        ,0xff9949ac) //101
149NSTUB(SetPropertyCase                         ,0xff88c98c) //102
150NSTUB(SleepTask                               ,0xff838a50) //101
151NSTUB(TakeSemaphore                           ,0xff838718) //101
152//NSTUB(TurnOffBackLight                      ,0xff8a4978) //104            == 0xff8a4978
153//NSTUB(TurnOnBackLight                       ,0xff8a4960) //104            == 0xff8a4960
154//NSTUB(UIFS_WriteFirmInfoToFile              ,0xff97ea54) //105            == 0xff97ea54
155//NSTUB(UnlockAF                              ,0xff836bd0) //102            == 0xff836bd0
156NSTUB(UnlockMainPower                         ,0xff8945fc) //103
157//NSTUB(UnsetZoomForMovie                     ,0xff8a0ee0) //104            == 0xff8a0ee0
158NSTUB(UpdateMBROnFlash                        ,0xff86e200) //  3
159NSTUB(VbattGet                                ,0xff831e04) //103
160NSTUB(Write                                   ,0xff8354a4) //101
161//NSTUB(WriteSDCard                           ,0xff94a588) //108            == 0xff94a588
162NSTUB(_log                                    ,0xffb3664c) //111
163NSTUB(_log10                                  ,0xffb352d8) //112
164NSTUB(_pow                                    ,0xffb35448) //114
165NSTUB(_sqrt                                   ,0xffb381f0) //  1
166NSTUB(add_ptp_handler                         ,0xffa47014) //  3
167//NSTUB(apex2us                               ,0xffa0d7fc) //  4            == 0xffa0d7fc
168NSTUB(close                                   ,0xff81a990) //  1
169NSTUB(closedir                                ,0xffa7d624) //  3
170NSTUB(err_init_task                           ,0xff815f28) //  4
171NSTUB(exmem_alloc                             ,0xff88755c) //103
172NSTUB(free                                    ,0xff814138) //112
173NSTUB(kbd_p1_f                                ,0xff833630) //109
174NSTUB(kbd_p1_f_cont                           ,0xff83363c) //109
175NSTUB(kbd_p2_f                                ,0xff832ed8) //109
176NSTUB(kbd_read_keys                           ,0xff8335b4) //109
177NSTUB(kbd_read_keys_r2                        ,0xff85db5c) //109
178NSTUB(lseek                                   ,0xff835530) //101
179NSTUB(malloc                                  ,0xff8140dc) //112
180NSTUB(memcmp                                  ,0xff8203e8) //101
181NSTUB(memcpy                                  ,0xff83e43c) //101
182NSTUB(memset                                  ,0xffa0c84c) //101
183NSTUB(mkdir                                   ,0xff835888) //  3
184NSTUB(mktime_ext                              ,0xff8ac330) //  1
185NSTUB(open                                    ,0xff81a8e0) //  1
186NSTUB(opendir                                 ,0xffa7d668) //  3
187//NSTUB(openfastdir                           ,0xffa7d668) //  3            == 0xffa7d668
188NSTUB(qsort                                   ,0xffaec42c) //  1
189NSTUB(rand                                    ,0xff8204f0) //  1
190NSTUB(read                                    ,0xff81ab78) //101
191//NSTUB(readfastdir                           ,0xffa7d79c) //  3            == 0xffa7d79c
192NSTUB(reboot_fw_update                        ,0xffa82cac) //  1
193NSTUB(set_control_event                       ,0xff89404c) //111
194NSTUB(srand                                   ,0xff8204e4) //  1
195NSTUB(stat                                    ,0xff83556c) //  3
196// ALT: NSTUB(stat, 0xff86b7c4) // 3 31/0
197//NSTUB(strcat                                ,0xff8abaec) //  1            == 0xff8abaec
198NSTUB(strchr                                  ,0xff813fc0) //  1
199NSTUB(strcmp                                  ,0xff8203a4) //101
200NSTUB(strcpy                                  ,0xff82038c) //101
201NSTUB(strftime                                ,0xff8abd38) //  1
202NSTUB(strlen                                  ,0xff81400c) //101
203NSTUB(strncmp                                 ,0xff813f74) //  1
204//NSTUB(strncpy                               ,0xff813f38) //  1            == 0xff813f38
205//NSTUB(strrchr                               ,0xff813fe4) //  1            == 0xff813fe4
206NSTUB(strtol                                  ,0xff83e71c) //101
207NSTUB(strtolx                                 ,0xff83e520) //109
208  DEF(task_CaptSeq                            ,0xff87a208) //107
209  DEF(task_ExpDrv                             ,0xff8c0e80) //110
210  DEF(task_InitFileModules                    ,0xff898314) //107
211  DEF(task_MovieRecord                        ,0xff961780) //107
212  DEF(task_PhySw                              ,0xff833208) //107
213  DEF(task_RotaryEncoder                      ,0xff85e508) //107
214NSTUB(time                                    ,0xff886c14) //  2
215NSTUB(vsprintf                                ,0xff820350) //  1
Note: See TracBrowser for help on using the repository browser.