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

Revision 1635, 15.0 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 GM1.00B
7//   Canon PowerShot A480
8
9// Values for makefile.inc
10//   PLATFORMID = 12735 (0x31bf) // Found @ 0xfffe0130
11//   MAXRAMADDR = 0x01ffffff
12//   KEYSYS = d4                 // Found @ 0xffff1a44
13//   NEED_ENCODED_DISKBOOT = 2   // Found @ 0xffff1a54
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(GetBatteryTemperature                 ,0xffc2e964) //102        *** != 0xffc2eb38
18//NSTUB(GetCCDTemperature                     ,0xffc2e8f0) //102        *** != 0xffc2eb38
19//NSTUB(PutInNdFilter                         ,0xffdc22b8) //102        *** != 0xffe01e0c
20//NSTUB(PutOutNdFilter                        ,0xffdc22dc) //102        *** != 0xffe01e44
21NSTUB(kbd_pwr_off                             ,0xffc2c8c4) //  2 64%
22// ERROR: kbd_pwr_on is not found.                         //--- ---    *** != 0xffc00954
23//NSTUB(kbd_read_keys_r2                      ,0xffc2c384) //109        *** != 0xffc1138c
24//NSTUB(rename                                ,0xffc12a84) //  1        *** != 0xffc13300
25//NSTUB(write                                 ,0xffc132d8) //101        *** != 0xffc0a27c
26
27// Check of modemap from 'platform/CAMERA/shooting.c':
28// Firmware modemap table found @ffc58b40 -> ffc555f8 -> ffd07cb4 -> ffdcd6ec -> ffe71f6c
29// No problems found with modemap table.
30
31// Values below can be overridden in 'stubs_min.S':
32//DEF(physw_status                            ,0x0000cef8) // Found @0xffc11360,          stubs_min = 0x0000cef8 (0xCEF8)
33//DEF(physw_run                               ,0x00001bec) // Found @0xffc10fd4,          stubs_min = 0x00001bec (0x1BE0+0x0C)
34//DEF(levent_table                            ,0xffe57a18) // Found @0xffe57a18,          stubs_min = 0xffe57a18 (0xFFE57A18)
35//DEF(FlashParamsTable                        ,0xffe72138) // Found @0xffe72138,          stubs_min = 0xffe72138 (0xFFE72138)
36//DEF(movie_status                            ,0x00005700) // Found @0xffce5478,          stubs_min = 0x00005700 (0x56C8+0x38)
37//DEF(canon_menu_active                       ,0x00002a00) // Found @0xffc52450,          stubs_min = 0x00002a00 (0x29FC+4)
38//DEF(canon_shoot_menu_active                 ,0x00006861) // Found @0xffd16804, ** != ** stubs_min = 0xffc00414 (0xFFC00414)
39//DEF(playrec_mode                            ,0x00002798) // Found @0xffc46f04,          stubs_min = 0x00002798 (0x2794+0x4)
40//DEF(zoom_status                             ,0x0000a2d4) // Found @0xffdcf93c,          stubs_min = 0x0000a2d4 (0xA2D4)
41//DEF(some_flag_for_af_scan                   ,0x00005bbc) // Found @0xffce7b58,          stubs_min = 0x00005bbc (0x5BBC)
42// focus_len_table contains zoom focus lengths for use in 'get_focal_length' (main.c).
43// each entry contains 3 int value(s), the first is the zoom focus length.
44// there are 7 entries in the table - set NUM_FL to 7
45DEF(focus_len_table                         ,0xfffe297c) // Found @0xfffe297c
46//DEF(zoom_busy                               ,0x00005698) // Found @0xffce3a34,          stubs_min = 0x00005698 (0x5684+0x14)
47//DEF(focus_busy                              ,0x000055a0) // Found @0xffcdf584,          stubs_min = 0x000055a0 (0x5598+8)
48//DEF(recreview_hold                          ,0x00002f60) // Found @0xffc5da24, ** != ** stubs_min = 0xffc00414 (0xFFC00414)
49
50// Values below go in 'lib.c':
51//void *vid_get_bitmap_fb()        { return (void*)0x10361000; }             // Found @0xffc2845c
52//void *vid_get_viewport_fb()      { return (void*)0x10659ec0; }             // Found @0xffe07650
53//void *vid_get_viewport_fb_d()    { return (void*)(*(int*)(0x2554+0x54)); } // Found @0xffc3c058 & 0xffc3c098
54//char *camera_jpeg_count_str()    { return (char*)0x0002cff8; }             // Found @0xffd41b24
55//long hook_raw_size()             { return 0x00ec04f0; }                    // Found @0xffe09bc4
56//int get_flash_params_count(void) { return 0x7a; }                          // Found @0xffd08d70
57
58// Bitmap masks and physw_status index values for SD_READONLY and USB power flags (for kbd.c).
59//#define SD_READONLY_FLAG    0x00040000 // Found @0xffe34fec, levent 0x90a
60//#define SD_READONLY_IDX     2
61//#define USB_MASK            0x00080000 // Found @0xffe34ff8, levent 0x902
62//#define USB_IDX             2
63
64// Keymap values for kbd.c. Additional keys may be present, only common values included here.
65//static KeyMap keymap[] = {
66//    { 2, KEY_MENU            ,0x00000400 }, // Found @0xffe34fbc, levent 0x09
67//    { 2, KEY_SHOOT_FULL      ,0x00000030 }, // Found @0xffe34f8c, levent 0x01
68//    { 2, KEY_SHOOT_FULL_ONLY ,0x00000020 }, // Found @0xffe34f8c, levent 0x01
69//    { 2, KEY_UP              ,0x00000001 }, // Found @0xffe34f50, levent 0x04
70//    { 2, KEY_DOWN            ,0x00000002 }, // Found @0xffe34f5c, levent 0x05
71//    { 2, KEY_RIGHT           ,0x00000004 }, // Found @0xffe34f68, levent 0x07
72//    { 2, KEY_LEFT            ,0x00000008 }, // Found @0xffe34f74, levent 0x06
73//    { 2, KEY_ZOOM_OUT        ,0x00000040 }, // Found @0xffe34f98, levent 0x03
74//    { 2, KEY_ZOOM_IN         ,0x00000080 }, // Found @0xffe34fa4, levent 0x02
75//    { 2, KEY_SET             ,0x00000100 }, // Found @0xffe34fb0, levent 0x08
76//    { 2, KEY_SHOOT_HALF      ,0x00000010 }, // Found @0xffe34f80, levent 0x00
77//    { 0, 0, 0 }
78//};
79
80// Values below go in 'platform_camera.h':
81//#define CAM_DRYOS         1
82//#define CAM_RAW_ROWPIX    3720 // Found @0xffcb8f20
83//#define CAM_RAW_ROWS      2772 // Found @0xffcb8f28
84//#undef  CAM_UNCACHED_BIT
85//#define CAM_UNCACHED_BIT  0x10000000 // Found @0xffc16738
86
87// Misc stuff
88DEF(ctypes, 0xffe34a9e)
89
90// For capt_seq.c
91//static long *nrflag = (long*)(0x5ba8-0x08);  // Found @ ffce987c & ffce9898
92
93// Stubs below matched 100%.
94//    Name                                     Address                Comp to stubs_entry_2.S
95NSTUB(AllocateMemory                          ,0xffdc45b0) //101
96NSTUB(AllocateUncacheableMemory               ,0xffc166f4) //112
97NSTUB(Close                                   ,0xffc1322c) //101
98NSTUB(CreateTask                              ,0xffc0b9c4) //101
99NSTUB(DebugAssert                             ,0xffc0be9c) //111
100NSTUB(DeleteDirectory_Fut                     ,0xffc12bbc) //  1
101NSTUB(DeleteFile_Fut                          ,0xffc12ad8) //112
102//NSTUB(DoAFLock                              ,0xffc14830) //102            == 0xffc14830
103//NSTUB(EnterToCompensationEVF                ,0xffc148e0) //104            == 0xffc148e0
104NSTUB(ExecuteEventProcedure                   ,0xffc4dbd8) //  1
105//NSTUB(ExitFromCompensationEVF               ,0xffc14924) //104            == 0xffc14924
106NSTUB(ExitTask                                ,0xffc0bc54) //101
107//NSTUB(ExpCtrlTool_StartContiAE              ,0xffc1eee4) //104            == 0xffc1eee4
108//NSTUB(ExpCtrlTool_StopContiAE               ,0xffc1f028) //104            == 0xffc1f028
109NSTUB(Fclose_Fut                              ,0xffc12c54) //101
110NSTUB(Feof_Fut                                ,0xffc12e40) //  1
111NSTUB(Fflush_Fut                              ,0xffc12e7c) //  1
112NSTUB(Fgets_Fut                               ,0xffc12da8) //  1
113NSTUB(Fopen_Fut                               ,0xffc12c14) //101
114NSTUB(Fread_Fut                               ,0xffc12d00) //101
115NSTUB(FreeMemory                              ,0xffdc45a8) //101
116NSTUB(FreeUncacheableMemory                   ,0xffc16734) //112
117NSTUB(Fseek_Fut                               ,0xffc12df4) //101
118NSTUB(Fwrite_Fut                              ,0xffc12d54) //101
119NSTUB(GetCurrentAvValue                       ,0xffce0fe8) //102
120//NSTUB(GetDrive_ClusterSize                  ,0xffc3a924) //  5            == 0xffc3a924
121//NSTUB(GetDrive_FreeClusters                 ,0xffc3a97c) //  5            == 0xffc3a97c
122//NSTUB(GetDrive_TotalClusters                ,0xffc3a950) //  5            == 0xffc3a950
123NSTUB(GetFocusLensSubjectDistance             ,0xffce00c8) //102
124NSTUB(GetFocusLensSubjectDistanceFromLens     ,0xffce03d4) //  3
125NSTUB(GetKbdState                             ,0xffc2c8ac) //109
126NSTUB(GetMemInfo                              ,0xffc03be8) //  1
127NSTUB(GetOpticalTemperature                   ,0xffc2e9dc) //102
128NSTUB(GetParameterData                        ,0xffd08d30) //101
129NSTUB(GetPropertyCase                         ,0xffc51944) //102
130NSTUB(GetSystemTime                           ,0xffdc4608) //101
131NSTUB(GetZoomLensCurrentPoint                 ,0xffce3dac) //102
132NSTUB(GetZoomLensCurrentPosition              ,0xffdbcdf4) //102
133NSTUB(GiveSemaphore                           ,0xffc0b920) //112
134NSTUB(IsStrobeChargeCompleted                 ,0xffc7ccc4) //102
135//NSTUB(LEDDrive                              ,0xffc2c020) //103            == 0xffc2c020
136NSTUB(LocalTime                               ,0xffc4b954) //  1
137NSTUB(LockMainPower                           ,0xffc55210) //103
138NSTUB(Lseek                                   ,0xffc1336c) //101
139NSTUB(MakeDirectory_Fut                       ,0xffc12b4c) //  1
140NSTUB(MoveFocusLensToDistance                 ,0xffe04080) //102
141NSTUB(MoveIrisWithAv                          ,0xffdc1ec8) //102
142NSTUB(MoveZoomLensWithPoint                   ,0xffdc2454) //102
143NSTUB(NewTaskShell                            ,0xffc513e8) //103
144NSTUB(Open                                    ,0xffc13204) //101
145NSTUB(PB2Rec                                  ,0xffc57ebc) //104
146NSTUB(PT_MoveDigitalZoomToWide                ,0xffc40e3c) //102
147NSTUB(PT_MoveOpticalZoomAt                    ,0xffc40e14) //102
148NSTUB(PT_PlaySound                            ,0xffc40a50) //102
149NSTUB(PostLogicalEventForNotPowerType         ,0xffc54838) //103
150NSTUB(PostLogicalEventToUI                    ,0xffc54884) //103
151NSTUB(Read                                    ,0xffc0a21c) //101
152NSTUB(ReadFastDir                             ,0xffdb0044) //  1
153NSTUB(Rec2PB                                  ,0xffc57efc) //104
154//NSTUB(RefreshPhysicalScreen                 ,0xffd4be50) //104            == 0xffd4be50
155NSTUB(Remove                                  ,0xffc13274) //  1
156NSTUB(RenameFile_Fut                          ,0xffc12a84) //  1
157NSTUB(Restart                                 ,0xffc17e44) //106
158//NSTUB(SetAE_ShutterSpeed                    ,0xffe06860) //102            == 0xffe06860
159NSTUB(SetAutoShutdownTime                     ,0xffc55284) //103
160NSTUB(SetCurrentCaptureModeType               ,0xffc5b514) //101
161NSTUB(SetFileTimeStamp                        ,0xffc13508) //  1
162NSTUB(SetLogicalEventActive                   ,0xffc54f8c) //101
163NSTUB(SetParameterData                        ,0xffd08ca0) //101
164NSTUB(SetPropertyCase                         ,0xffc5183c) //102
165//NSTUB(SetScriptMode                         ,0xffc54fdc) //101            == 0xffc54fdc
166NSTUB(SleepTask                               ,0xffc16578) //101
167NSTUB(TakeSemaphore                           ,0xffc0b850) //101
168//NSTUB(TurnOffBackLight                      ,0xffc5fcec) //104            == 0xffc5fcec
169NSTUB(TurnOnBackLight                         ,0xffc5fcd4) //104
170NSTUB(UIFS_WriteFirmInfoToFile                ,0xffcfa8ec) //101
171//NSTUB(UnlockAF                              ,0xffc14868) //102            == 0xffc14868
172NSTUB(UnlockMainPower                         ,0xffc55164) //103
173//NSTUB(UnsetZoomForMovie                     ,0xffd0e960) //104            == 0xffd0e960
174//NSTUB(UpdateMBROnFlash                      ,0xffc3a77c) //105            == 0xffc3a77c
175NSTUB(VbattGet                                ,0xffc10294) //103
176NSTUB(Write                                   ,0xffc132d8) //101
177//NSTUB(WriteSDCard                           ,0xffcd598c) //108            == 0xffcd598c
178NSTUB(_log                                    ,0xffe328a4) //111
179NSTUB(_log10                                  ,0xffe317e8) //112
180NSTUB(_pow                                    ,0xffe31958) //114
181NSTUB(_sqrt                                   ,0xffe33c0c) //  1
182NSTUB(add_ptp_handler                         ,0xffd8a108) //  3
183//NSTUB(apex2us                               ,0xffd4cf08) //  4            == 0xffd4cf08
184NSTUB(close                                   ,0xffc0a034) //  1
185NSTUB(closedir                                ,0xffdb0114) //  1
186NSTUB(err_init_task                           ,0xffc04e30) //  4
187NSTUB(exmem_alloc                             ,0xffc4c588) //103
188NSTUB(free                                    ,0xffc03a40) //112
189NSTUB(kbd_p1_f                                ,0xffc113dc) //109
190NSTUB(kbd_p1_f_cont                           ,0xffc113e8) //109
191NSTUB(kbd_p2_f                                ,0xffc10ca0) //109
192NSTUB(kbd_read_keys                           ,0xffc11360) //109
193NSTUB(lseek                                   ,0xffc1336c) //101
194NSTUB(malloc                                  ,0xffc0396c) //112
195NSTUB(memcmp                                  ,0xffc0d9b4) //101
196NSTUB(memcpy                                  ,0xffc63638) //101
197NSTUB(memset                                  ,0xffd4c1f0) //101
198NSTUB(mkdir                                   ,0xffc135d0) //  1
199// ALT: NSTUB(mkdir, 0xffc13670) // 1 32/0
200NSTUB(mktime_ext                              ,0xffc63ea4) //  1
201NSTUB(open                                    ,0xffc09f84) //  1
202NSTUB(opendir                                 ,0xffdaffb0) //  1
203NSTUB(openfastdir                             ,0xffdaffb0) //  1
204//NSTUB(qsort                                 ,0xffdf2a18) //  1            == 0xffdf2a18
205NSTUB(rand                                    ,0xffc0dabc) //  1
206NSTUB(read                                    ,0xffc0a21c) //101
207NSTUB(readfastdir                             ,0xffdb0044) //  1
208NSTUB(reboot_fw_update                        ,0xffdb3b28) //  5
209NSTUB(set_control_event                       ,0xffc54cc0) //111
210NSTUB(srand                                   ,0xffc0dab0) //  1
211NSTUB(stat                                    ,0xffc13438) //  1
212NSTUB(strcat                                  ,0xffc6344c) //  1
213//NSTUB(strchr                                ,0xffc634d4) //  1            == 0xffc634d4
214NSTUB(strcmp                                  ,0xffc0d94c) //101
215NSTUB(strcpy                                  ,0xffc0d934) //101
216NSTUB(strftime                                ,0xffc638ac) //  1
217NSTUB(strlen                                  ,0xffc0d990) //101
218NSTUB(strncmp                                 ,0xffc63488) //  1
219NSTUB(strncpy                                 ,0xffc1bf08) //  1
220//NSTUB(strrchr                               ,0xffd4c1c8) //  1            == 0xffd4c1c8
221NSTUB(strtol                                  ,0xffc1c140) //101
222NSTUB(strtolx                                 ,0xffc1bf44) //109
223  DEF(task_CaptSeq                            ,0xffc42f34) //107
224  DEF(task_ExpDrv                             ,0xffc74cb0) //110
225  DEF(task_InitFileModules                    ,0xffc589cc) //107
226  DEF(task_MovieRecord                        ,0xffce56dc) //107
227  DEF(task_PhySw                              ,0xffc10fd0) //107
228NSTUB(time                                    ,0xffc4b808) //  1
229NSTUB(vsprintf                                ,0xffc0d8f8) //  1
Note: See TracBrowser for help on using the repository browser.