source: branches/release-1_0/platform/a580/sub/101b/stubs_entry.S @ 1635

Revision 1635, 14.3 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 R23 (DRYOS version 2.3, release #0023)
6//   Firmware Ver GM1.01B
7//   Canon PowerShot A580
8
9// Values for makefile.inc
10//   PLATFORMID = 12663 (0x3177) // Found @ 0xfffe0130
11//   MAXRAMADDR = 0x01ffffff
12//   KEYSYS = d3enc              // Found @ 0xffff1ac0
13//   NEED_ENCODED_DISKBOOT = 1   // Found @ 0xffff1aa0
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                           ,0xffc3193c) //  2 67%    *** != 0x00000000
18NSTUB(kbd_pwr_on                              ,0xffc318fc) //  2 86%
19
20// Check of modemap from 'platform/CAMERA/shooting.c':
21// Firmware modemap table found @ffc60014 -> ffc5cbf0 -> ffd2bdd4 -> ffdf11e0 -> ffe9ed50
22// No problems found with modemap table.
23
24// Values below can be overridden in 'stubs_min.S':
25//DEF(physw_status                            ,0x0000ebdc) // Found @0xffc11c24,          stubs_min = 0x0000ebdc (0x0EBDC)
26//DEF(physw_run                               ,0x00001bf0) // Found @0xffc118c0,          stubs_min = 0x00001bf0 (0x1BF0)
27//DEF(levent_table                            ,0xffe7fb40) // Found @0xffe7fb40,          stubs_min = 0xffe7fb40 (0xFFE7fB40)
28//DEF(FlashParamsTable                        ,0xffe9ef08) // Found @0xffe9ef08,          stubs_min = 0xffe9ef08 (0xFFE9EF08)
29//DEF(movie_status                            ,0x000051b0) // Found @0xffc46414,          stubs_min = 0x000051b0 (0x51B0)
30//DEF(canon_menu_active                       ,0x00008bdc) // Found @0xffd2170c,          stubs_min = 0x00008bdc (0x8BDC)
31//DEF(canon_shoot_menu_active                 ,0x000094b9) // Found @0xffd3a7e0,          stubs_min = 0x000094b9 (0x94B9)
32//DEF(playrec_mode                            ,0x00005320) // Found @0xffc4c9f4,          stubs_min = 0x00005320 (0x5320)
33//DEF(zoom_status                             ,0x0000ba7c) // Found @0xffdf29e0,          stubs_min = 0x0000ba7c (0xBA7C)
34//DEF(some_flag_for_af_scan                   ,0x0000b808) // Found @0xffde1ab8,          stubs_min = 0x0000b808 (0xB808)
35// focus_len_table contains zoom focus lengths for use in 'get_focal_length' (main.c).
36// each entry contains 3 int value(s), the first is the zoom focus length.
37// there are 8 entries in the table - set NUM_FL to 8
38DEF(focus_len_table                         ,0xfffe297c) // Found @0xfffe297c
39//DEF(zoom_busy                               ,0x00007f4c) // Found @0xffd085dc,          stubs_min = 0x00007f4c (0x7F4C)
40//DEF(focus_busy                              ,0x00007e58) // Found @0xffd04170, ** != ** stubs_min = 0x00009d50 (0x9D50)
41//DEF(recreview_hold                          ,0x00005b14) // Found @0xffc64f18, ** != ** stubs_min = 0x0000abe8 (0xABE8)
42
43// Values below go in 'lib.c':
44//void *vid_get_bitmap_fb()        { return (void*)0x10361000; }             // Found @0xffc2d5c4
45//void *vid_get_viewport_fb()      { return (void*)0x10659e80; }             // Found @0xffe3658c
46//void *vid_get_viewport_fb_d()    { return (void*)(*(int*)(0x5050+0x4c)); } // Found @0xffc415bc & 0xffc415f4
47//char *camera_jpeg_count_str()    { return (char*)0x00048ae0; }             // Found @0xffd67320
48//long hook_raw_size()             { return 0x009e6fc4; }                    // Found @0xffe38818
49//int get_flash_params_count(void) { return 0x73; }                          // Found @0xffd2ce90
50
51// Bitmap masks and physw_status index values for SD_READONLY and USB power flags (for kbd.c).
52//#define SD_READONLY_FLAG    0x00020000 // Found @0xffe5c764, levent 0x90a
53//#define SD_READONLY_IDX     2
54//#define USB_MASK            0x00040000 // Found @0xffe5c770, levent 0x902
55//#define USB_IDX             2
56
57// Keymap values for kbd.c. Additional keys may be present, only common values included here.
58//static KeyMap keymap[] = {
59//    { 1, KEY_SHOOT_FULL      ,0xc0000000 }, // Found @0xffe5c68c, levent 0x01
60//    { 1, KEY_SHOOT_FULL_ONLY ,0x80000000 }, // Found @0xffe5c68c, levent 0x01
61//    { 1, KEY_SHOOT_HALF      ,0x40000000 }, // Found @0xffe5c680, levent 0x00
62//    { 2, KEY_ZOOM_IN         ,0x00000004 }, // Found @0xffe5c6b0, levent 0x02
63//    { 2, KEY_ZOOM_OUT        ,0x00000008 }, // Found @0xffe5c6bc, levent 0x03
64//    { 2, KEY_UP              ,0x00000010 }, // Found @0xffe5c6c8, levent 0x04
65//    { 2, KEY_DOWN            ,0x00000020 }, // Found @0xffe5c6d4, levent 0x05
66//    { 2, KEY_RIGHT           ,0x00000040 }, // Found @0xffe5c6e0, levent 0x07
67//    { 2, KEY_LEFT            ,0x00000080 }, // Found @0xffe5c6ec, levent 0x06
68//    { 2, KEY_SET             ,0x00000100 }, // Found @0xffe5c6f8, levent 0x08
69//    { 2, KEY_MENU            ,0x00000200 }, // Found @0xffe5c704, levent 0x09
70//    { 2, KEY_DISPLAY         ,0x00000400 }, // Found @0xffe5c710, levent 0x0a
71//    { 0, 0, 0 }
72//};
73
74// Values below go in 'platform_camera.h':
75//#define CAM_DRYOS         1
76//#define CAM_RAW_ROWPIX    3336 // Found @0xffe2ff7c
77//#define CAM_RAW_ROWS      2490 // Found @0xffe2ff80
78//#undef  CAM_UNCACHED_BIT
79//#define CAM_UNCACHED_BIT  0x10000000 // Found @0xffc17e64
80
81// Misc stuff
82DEF(ctypes, 0xffe5c21e)
83
84// For capt_seq.c
85//static long *nrflag = (long*)(0x8450);       // Found @ ffd0f424
86
87// Stubs below matched 100%.
88//    Name                                     Address                Comp to stubs_entry_2.S
89NSTUB(AllocateMemory                          ,0xffde4fd0) //101
90NSTUB(AllocateUncacheableMemory               ,0xffc17e28) //112
91NSTUB(Close                                   ,0xffc13b7c) //101
92NSTUB(CreateTask                              ,0xffc0b8e0) //101
93NSTUB(DebugAssert                             ,0xffc0bdb8) //111
94NSTUB(DeleteDirectory_Fut                     ,0xffc1350c) //  1
95NSTUB(DeleteFile_Fut                          ,0xffc13428) //112
96NSTUB(DoAFLock                                ,0xffc157b4) //102
97NSTUB(EnterToCompensationEVF                  ,0xffc15aa4) //104
98NSTUB(ExecuteEventProcedure                   ,0xffc5459c) //  1
99NSTUB(ExitFromCompensationEVF                 ,0xffc15bf0) //104
100NSTUB(ExitTask                                ,0xffc0bb70) //101
101NSTUB(ExpCtrlTool_StartContiAE                ,0xffc218b8) //104
102NSTUB(ExpCtrlTool_StopContiAE                 ,0xffc219fc) //104
103NSTUB(Fclose_Fut                              ,0xffc135a4) //101
104NSTUB(Feof_Fut                                ,0xffc13790) //  1
105NSTUB(Fflush_Fut                              ,0xffc137cc) //  1
106NSTUB(Fgets_Fut                               ,0xffc136f8) //  1
107NSTUB(Fopen_Fut                               ,0xffc13564) //101
108NSTUB(Fread_Fut                               ,0xffc13650) //101
109NSTUB(FreeMemory                              ,0xffde4fc8) //101
110NSTUB(FreeUncacheableMemory                   ,0xffc17e5c) //112
111NSTUB(Fseek_Fut                               ,0xffc13744) //101
112NSTUB(Fwrite_Fut                              ,0xffc136a4) //101
113NSTUB(GetBatteryTemperature                   ,0xffc33a38) //102
114NSTUB(GetCCDTemperature                       ,0xffc339c8) //102
115NSTUB(GetCurrentAvValue                       ,0xffd05b84) //102
116NSTUB(GetDrive_ClusterSize                    ,0xffc3d914) //  1
117NSTUB(GetDrive_FreeClusters                   ,0xffc3d97c) //  1
118NSTUB(GetDrive_TotalClusters                  ,0xffc3d948) //  1
119NSTUB(GetFocusLensSubjectDistance             ,0xffd04c7c) //102
120NSTUB(GetFocusLensSubjectDistanceFromLens     ,0xffd04f88) //  1
121NSTUB(GetKbdState                             ,0xffc318c8) //109
122NSTUB(GetMemInfo                              ,0xffc03c40) //  1
123NSTUB(GetOpticalTemperature                   ,0xffc33aa8) //102
124NSTUB(GetParameterData                        ,0xffd2ce50) //101
125NSTUB(GetPropertyCase                         ,0xffc5819c) //102
126NSTUB(GetSystemTime                           ,0xffde5028) //101
127NSTUB(GetZoomLensCurrentPoint                 ,0xffd08940) //102
128NSTUB(GetZoomLensCurrentPosition              ,0xffddc3a8) //102
129NSTUB(GiveSemaphore                           ,0xffc0b844) //112
130NSTUB(IsStrobeChargeCompleted                 ,0xffc981b0) //102
131NSTUB(LEDDrive                                ,0xffc30f6c) //103
132NSTUB(LocalTime                               ,0xffc522bc) //  1
133NSTUB(LockMainPower                           ,0xffc5c808) //103
134NSTUB(Lseek                                   ,0xffc13cbc) //101
135NSTUB(MakeDirectory_Fut                       ,0xffc1349c) //  1
136NSTUB(MoveFocusLensToDistance                 ,0xffe330b8) //102
137NSTUB(MoveIrisWithAv                          ,0xffde12ec) //102
138NSTUB(MoveZoomLensWithPoint                   ,0xffde1870) //102
139NSTUB(NewTaskShell                            ,0xffc57c60) //103
140NSTUB(Open                                    ,0xffc13b54) //101
141NSTUB(PB2Rec                                  ,0xffc5f428) //104
142NSTUB(PT_MoveDigitalZoomToWide                ,0xffc47a88) //102
143NSTUB(PT_MoveOpticalZoomAt                    ,0xffc47a60) //102
144NSTUB(PT_PlaySound                            ,0xffc47374) //102
145NSTUB(PostLogicalEventForNotPowerType         ,0xffc5be78) //103
146NSTUB(PostLogicalEventToUI                    ,0xffc5bec4) //103
147NSTUB(PutInNdFilter                           ,0xffde16d4) //102
148NSTUB(PutOutNdFilter                          ,0xffde16f8) //102
149NSTUB(Read                                    ,0xffc0a15c) //101
150NSTUB(ReadFastDir                             ,0xffdce860) //  1
151NSTUB(Rec2PB                                  ,0xffc5f458) //104
152NSTUB(RefreshPhysicalScreen                   ,0xffd70a80) //104
153NSTUB(Remove                                  ,0xffc13bc4) //  1
154NSTUB(RenameFile_Fut                          ,0xffc133d4) //  1
155NSTUB(Restart                                 ,0xffc196a0) //106
156NSTUB(SetAE_ShutterSpeed                      ,0xffe3579c) //102
157NSTUB(SetAutoShutdownTime                     ,0xffc5c87c) //103
158NSTUB(SetCurrentCaptureModeType               ,0xffc62ac4) //101
159NSTUB(SetFileTimeStamp                        ,0xffc13e58) //  1
160NSTUB(SetLogicalEventActive                   ,0xffc5c5a4) //  1
161NSTUB(SetParameterData                        ,0xffd2cdc0) //101
162NSTUB(SetPropertyCase                         ,0xffc5809c) //102
163NSTUB(SetScriptMode                           ,0xffc5c5f4) //101
164NSTUB(SleepTask                               ,0xffc17cac) //101
165NSTUB(TakeSemaphore                           ,0xffc0b774) //101
166NSTUB(TurnOffBackLight                        ,0xffc66d58) //104
167NSTUB(TurnOnBackLight                         ,0xffc66d40) //104
168NSTUB(UIFS_WriteFirmInfoToFile                ,0xffd220a8) //103
169NSTUB(UnlockAF                                ,0xffc158cc) //102
170NSTUB(UnlockMainPower                         ,0xffc5c75c) //103
171NSTUB(UnsetZoomForMovie                       ,0xffd31f0c) //104
172NSTUB(UpdateMBROnFlash                        ,0xffc3d754) //105
173NSTUB(VbattGet                                ,0xffc105e8) //103
174NSTUB(Write                                   ,0xffc13c28) //101
175NSTUB(WriteSDCard                             ,0xffcfaf54) //108
176NSTUB(_log                                    ,0xffe5a024) //111
177NSTUB(_log10                                  ,0xffe58f68) //112
178NSTUB(_pow                                    ,0xffe590d8) //114
179NSTUB(_sqrt                                   ,0xffe5b38c) //  1
180NSTUB(add_ptp_handler                         ,0xffd9fb18) //  1
181NSTUB(apex2us                                 ,0xffd71fbc) //  4
182NSTUB(close                                   ,0xffc09f74) //  1
183NSTUB(closedir                                ,0xffdce930) //  1
184NSTUB(err_init_task                           ,0xffc04e98) //  4
185NSTUB(exmem_alloc                             ,0xffc52d84) //103
186NSTUB(free                                    ,0xffc03a98) //112
187NSTUB(kbd_p1_f                                ,0xffc11d28) //109
188NSTUB(kbd_p1_f_cont                           ,0xffc11d34) //109
189NSTUB(kbd_p2_f                                ,0xffc11560) //109
190NSTUB(kbd_read_keys                           ,0xffc11c24) //109
191NSTUB(kbd_read_keys_r2                        ,0xffc3138c) //109
192NSTUB(lseek                                   ,0xffc13cbc) //101
193NSTUB(malloc                                  ,0xffc039c4) //112
194NSTUB(memcmp                                  ,0xffc0d90c) //101
195NSTUB(memcpy                                  ,0xffc6f708) //101
196NSTUB(memset                                  ,0xffd70e34) //101
197NSTUB(mkdir                                   ,0xffc13f20) //  1
198// ALT: NSTUB(mkdir, 0xffc13fc0) // 1 32/0
199NSTUB(mktime_ext                              ,0xffc6ff74) //  1
200NSTUB(open                                    ,0xffc09ec4) //  1
201NSTUB(opendir                                 ,0xffdce7cc) //  1
202NSTUB(openfastdir                             ,0xffdce7cc) //  1
203NSTUB(qsort                                   ,0xffd7133c) //  1
204NSTUB(rand                                    ,0xffc0da14) //  1
205NSTUB(read                                    ,0xffc0a15c) //101
206NSTUB(readfastdir                             ,0xffdce860) //  1
207NSTUB(reboot_fw_update                        ,0xffdd3134) //  5
208NSTUB(rename                                  ,0xffc133d4) //  1
209NSTUB(set_control_event                       ,0xffc5c2f8) //  1
210NSTUB(srand                                   ,0xffc0da08) //  1
211NSTUB(stat                                    ,0xffc13d88) //  1
212NSTUB(strcat                                  ,0xffc6f4f4) //  1
213NSTUB(strchr                                  ,0xffc6f57c) //  1
214NSTUB(strcmp                                  ,0xffc0d8a4) //101
215NSTUB(strcpy                                  ,0xffc0d88c) //101
216NSTUB(strftime                                ,0xffc6f97c) //  1
217NSTUB(strlen                                  ,0xffc0d8e8) //101
218NSTUB(strncmp                                 ,0xffc6f530) //  1
219NSTUB(strncpy                                 ,0xffc1d80c) //  1
220NSTUB(strrchr                                 ,0xffc6f5a0) //  1
221NSTUB(strtol                                  ,0xffc1da44) //101
222NSTUB(strtolx                                 ,0xffc1d848) //109
223  DEF(task_CaptSeq                            ,0xffc49b38) //107
224  DEF(task_ExpDrv                             ,0xffc91194) //110
225  DEF(task_InitFileModules                    ,0xffc5fea0) //107
226  DEF(task_MovieRecord                        ,0xffc46678) //107
227  DEF(task_PhySw                              ,0xffc118bc) //107
228NSTUB(time                                    ,0xffc52170) //  1
229NSTUB(vsprintf                                ,0xffc0d80c) //  1
230NSTUB(write                                   ,0xffc13c28) //101
Note: See TracBrowser for help on using the repository browser.