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

Revision 1635, 16.8 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.00C
7//   Canon PowerShot A720 IS
8
9// Values for makefile.inc
10//   PLATFORMID = 12637 (0x315d) // Found @ 0xfffe0130
11//   MAXRAMADDR = 0x01ffffff
12//   KEYSYS = d3                 // Found @ 0xffff1aa4
13//   NEED_ENCODED_DISKBOOT = 1   // Found @ 0xffff1a84
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(GetZoomLensCurrentPosition            ,0xffdd0040) //102        *** != 0xffd03b5c
18//NSTUB(SetPropertyCase                       ,0xffc59b24) //103        *** != 0xffc50cc8
19//NSTUB(rename                                ,0xffc14840) //  1        *** != 0xffc15100
20//NSTUB(write                                 ,0xffc150d8) //101        *** != 0xffc0a4a8
21
22// Check of modemap from 'platform/CAMERA/shooting.c':
23// Firmware modemap table found @ffc5f8c8 -> ffc5c33c -> ffd1b53c -> ffddc128 -> ffe7cffc
24// No problems found with modemap table.
25
26// Values below can be overridden in 'stubs_min.S':
27//DEF(physw_status                            ,0x0001061c) // Found @0xffc130cc,          stubs_min = 0x0001061c (0x01061c)
28//DEF(physw_run                               ,0x00001ca4) // Found @0xffc12d7c,          stubs_min = 0x00001ca4 (0x1ca4)
29//DEF(levent_table                            ,0xffe60474) // Found @0xffe60474,          stubs_min = 0xffe60474 (0xFFE60474)
30//DEF(FlashParamsTable                        ,0xffe7d1b4) // Found @0xffe7d1b4,          stubs_min = 0xffe7d1b4 (0xFFE7D1B4)
31//DEF(movie_status                            ,0x00005570) // Found @0xffc498b4,          stubs_min = 0x00005570 (0x5570)
32//DEF(canon_menu_active                       ,0x0000b55c) // Found @0xffd49f2c,          stubs_min = 0x0000b55c (0xB55C)
33//DEF(canon_shoot_menu_active                 ,0x0000ae15) // Found @0xffd2b690,          stubs_min = 0x0000ae15 (0xAE15)
34//DEF(playrec_mode                            ,0x00005704) // Found @0xffc4fcb4,          stubs_min = 0x00005704 (0x5704)
35//DEF(zoom_status                             ,0x0000d7c4) // Found @0xffddd920,          stubs_min = 0x0000d7c4 (0xD7C4)
36//DEF(some_flag_for_af_scan                   ,0x0000d688) // Found @0xffdd48c0,          stubs_min = 0x0000d688 (0xD688)
37// focus_len_table contains zoom focus lengths for use in 'get_focal_length' (main.c).
38// each entry contains 3 int value(s), the first is the zoom focus length.
39// there are 15 entries in the table - set NUM_FL to 15
40DEF(focus_len_table                         ,0xfffe299c) // Found @0xfffe299c
41//DEF(zoom_busy                               ,0x00009dc0) // Found @0xffd02c78,          stubs_min = 0x00009dc0 (0x9DC0)
42//DEF(focus_busy                              ,0x00009cb8) // Found @0xffcfcffc, ** != ** stubs_min = 0x00009d50 (0x9D50)
43//DEF(recreview_hold                          ,0x00005dc0) // Found @0xffc64708, ** != ** stubs_min = 0x0000abe8 (0xABE8)
44
45// Values below go in 'lib.c':
46//void *vid_get_bitmap_fb()        { return (void*)0x10361000; }             // Found @0xffc32c24
47//void *vid_get_viewport_fb()      { return (void*)0x1065a4d0; }             // Found @0xffda95c4
48//void *vid_get_viewport_fb_d()    { return (void*)(*(int*)(0x53c4+0x4c)); } // Found @0xffc42ec8 & 0xffc42f00
49//char *camera_jpeg_count_str()    { return (char*)0x000580cc; }             // Found @0xffd55dcc
50//long hook_raw_size()             { return 0x009dcce0; }                    // Found @0xffdab2b4
51//int get_flash_params_count(void) { return 0x72; }                          // Found @0xffd1c5f8
52
53// Bitmap masks and physw_status index values for SD_READONLY and USB power flags (for kbd.c).
54//#define SD_READONLY_FLAG    0x00020000 // Found @0xffe44040, levent 0x90a
55//#define SD_READONLY_IDX     2
56//#define USB_MASK            0x00040000 // Found @0xffe44048, levent 0x902
57//#define USB_IDX             2
58
59// Keymap values for kbd.c. Additional keys may be present, only common values included here.
60//static KeyMap keymap[] = {
61//    { 1, KEY_SHOOT_FULL      ,0xc0000000 }, // Found @0xffe43fb0, levent 0x01
62//    { 1, KEY_SHOOT_FULL_ONLY ,0x80000000 }, // Found @0xffe43fb0, levent 0x01
63//    { 1, KEY_SHOOT_HALF      ,0x40000000 }, // Found @0xffe43fa8, levent 0x00
64//    { 2, KEY_ZOOM_IN         ,0x00000004 }, // Found @0xffe43fc8, levent 0x02
65//    { 2, KEY_ZOOM_OUT        ,0x00000008 }, // Found @0xffe43fd0, levent 0x03
66//    { 2, KEY_UP              ,0x00000010 }, // Found @0xffe43fd8, levent 0x04
67//    { 2, KEY_DOWN            ,0x00000020 }, // Found @0xffe43fe0, levent 0x05
68//    { 2, KEY_RIGHT           ,0x00000040 }, // Found @0xffe43fe8, levent 0x07
69//    { 2, KEY_LEFT            ,0x00000080 }, // Found @0xffe43ff0, levent 0x06
70//    { 2, KEY_SET             ,0x00000100 }, // Found @0xffe43ff8, levent 0x08
71//    { 2, KEY_DISPLAY         ,0x00000200 }, // Found @0xffe44000, levent 0x0a
72//    { 2, KEY_MENU            ,0x00000400 }, // Found @0xffe44008, levent 0x09
73//    { 0, 0, 0 }
74//};
75
76// Values below go in 'platform_camera.h':
77//#define CAM_DRYOS         1
78//#define CAM_RAW_ROWPIX    3336 // Found @0xffda3720
79//#define CAM_RAW_ROWS      2480 // Found @0xffda3728
80//#undef  CAM_UNCACHED_BIT
81//#define CAM_UNCACHED_BIT  0x10000000 // Found @0xffc19884
82
83// Misc stuff
84DEF(ctypes, 0xffe3ead6)
85
86// For capt_seq.c
87//static long *nrflag = (long*)(0x9f90);       // Found @ ffd0a438
88
89// Stubs below matched 100%.
90//    Name                                     Address                Comp to stubs_entry_2.S
91//NSTUB(AllocateMemory                        ,0xffdd7df4) //103            == 0xffdd7df4
92//NSTUB(AllocateUncacheableMemory             ,0xffc19848) //112            == 0xffc19848
93//NSTUB(Close                                 ,0xffc1502c) //101            == 0xffc1502c
94//NSTUB(CreateTask                            ,0xffc0bbc0) //101            == 0xffc0bbc0
95NSTUB(DebugAssert                             ,0xffc0c098) //111
96NSTUB(DeleteDirectory_Fut                     ,0xffc14978) //  1
97NSTUB(DeleteFile_Fut                          ,0xffc14894) //112
98//NSTUB(DoAFLock                              ,0xffc16d2c) //103            == 0xffc16d2c
99//NSTUB(EnterToCompensationEVF                ,0xffc170a4) //104            == 0xffc170a4
100//NSTUB(ExecuteEventProcedure                 ,0xffc0c278) //  1            == 0xffc0c278
101//NSTUB(ExitFromCompensationEVF               ,0xffc170f4) //104            == 0xffc170f4
102//NSTUB(ExitTask                              ,0xffc0be50) //101            == 0xffc0be50
103//NSTUB(ExpCtrlTool_StartContiAE              ,0xffc23930) //104            == 0xffc23930
104//NSTUB(ExpCtrlTool_StopContiAE               ,0xffc23a2c) //104            == 0xffc23a2c
105//NSTUB(Fclose_Fut                            ,0xffc14a10) //101            == 0xffc14a10
106NSTUB(Feof_Fut                                ,0xffc14bfc) //  1
107NSTUB(Fflush_Fut                              ,0xffc14c38) //  1
108NSTUB(Fgets_Fut                               ,0xffc14b64) //  1
109//NSTUB(Fopen_Fut                             ,0xffc149d0) //101            == 0xffc149d0
110//NSTUB(Fread_Fut                             ,0xffc14abc) //101            == 0xffc14abc
111//NSTUB(FreeMemory                            ,0xffdd7de0) //103            == 0xffdd7de0
112//NSTUB(FreeUncacheableMemory                 ,0xffc1987c) //112            == 0xffc1987c
113//NSTUB(Fseek_Fut                             ,0xffc14bb0) //101            == 0xffc14bb0
114//NSTUB(Fwrite_Fut                            ,0xffc14b10) //101            == 0xffc14b10
115//NSTUB(GetBatteryTemperature                 ,0xffc39178) //102            == 0xffc39178
116//NSTUB(GetCCDTemperature                     ,0xffc39108) //102            == 0xffc39108
117//NSTUB(GetCurrentAvValue                     ,0xffcffca8) //102            == 0xffcffca8
118//NSTUB(GetDrive_ClusterSize                  ,0xffc3f4c4) //  1            == 0xffc3f4c4
119//NSTUB(GetDrive_FreeClusters                 ,0xffc3f564) //  1            == 0xffc3f564
120//NSTUB(GetDrive_TotalClusters                ,0xffc3f4f8) //  1            == 0xffc3f4f8
121NSTUB(GetFocusLensSubjectDistance             ,0xffcfdb3c) //102
122NSTUB(GetFocusLensSubjectDistanceFromLens     ,0xffcfde48) //  1
123NSTUB(GetKbdState                             ,0xffc37034) //109
124NSTUB(GetMemInfo                              ,0xffc03c58) //  1
125//NSTUB(GetOpticalTemperature                 ,0xffc391e8) //102            == 0xffc391e8
126//NSTUB(GetParameterData                      ,0xffd1c5b8) //101            == 0xffd1c5b8
127//NSTUB(GetPropertyCase                       ,0xffc59c2c) //101            == 0xffc59c2c
128//NSTUB(GetSystemTime                         ,0xffdd7efc) //  1            == 0xffdd7efc
129//NSTUB(GetZoomLensCurrentPoint               ,0xffd02fdc) //102            == 0xffd02fdc
130NSTUB(GiveSemaphore                           ,0xffc0bb2c) //112
131//NSTUB(IsStrobeChargeCompleted               ,0xffc974e4) //102            == 0xffc974e4
132NSTUB(LEDDrive                                ,0xffc36638) //103
133//NSTUB(LocalTime                             ,0xffc56058) //  1            == 0xffc56058
134//NSTUB(LockMainPower                         ,0xffc5bf6c) //103            == 0xffc5bf6c
135//NSTUB(Lseek                                 ,0xffc1516c) //101            == 0xffc1516c
136NSTUB(MakeDirectory_Fut                       ,0xffc14908) //  1
137//NSTUB(MoveFocusLensToDistance               ,0xffda6578) //102            == 0xffda6578
138NSTUB(MoveIrisWithAv                          ,0xffd00088) //102
139//NSTUB(MoveZoomLensWithPoint                 ,0xffd03a88) //102            == 0xffd03a88
140//NSTUB(NewTaskShell                          ,0xffc596b0) //103            == 0xffc596b0
141//NSTUB(Open                                  ,0xffc15004) //101            == 0xffc15004
142NSTUB(PB2Rec                                  ,0xffc5ecf8) //104
143NSTUB(PT_MoveDigitalZoomToWide                ,0xffc513cc) //103
144NSTUB(PT_MoveOpticalZoomAt                    ,0xffc51394) //103
145//NSTUB(PT_PlaySound                          ,0xffc50f40) //103            == 0xffc50f40
146NSTUB(PostLogicalEventForNotPowerType         ,0xffc5b650) //103
147NSTUB(PostLogicalEventToUI                    ,0xffc5b69c) //103
148NSTUB(PutInNdFilter                           ,0xffda4a98) //102
149NSTUB(PutOutNdFilter                          ,0xffda4ad0) //102
150//NSTUB(Read                                  ,0xffc0a448) //101            == 0xffc0a448
151//NSTUB(ReadFastDir                           ,0xffdc1b98) //  1            == 0xffdc1b98
152NSTUB(Rec2PB                                  ,0xffc5ed28) //104
153//NSTUB(RefreshPhysicalScreen                 ,0xffd62184) //104            == 0xffd62184
154//NSTUB(Remove                                ,0xffc15074) //  1            == 0xffc15074
155NSTUB(RenameFile_Fut                          ,0xffc14840) //  1
156NSTUB(Restart                                 ,0xffc1b8a4) //106
157//NSTUB(SetAE_ShutterSpeed                    ,0xffda87c0) //102            == 0xffda87c0
158NSTUB(SetAutoShutdownTime                     ,0xffc5bfe0) //103
159NSTUB(SetCurrentCaptureModeType               ,0xffc6214c) //101
160NSTUB(SetFileTimeStamp                        ,0xffc15308) //  1
161NSTUB(SetLogicalEventActive                   ,0xffc5bcd0) //  1
162//NSTUB(SetParameterData                      ,0xffd1c528) //101            == 0xffd1c528
163//NSTUB(SetScriptMode                         ,0xffc5bd20) //101            == 0xffc5bd20
164//NSTUB(SleepTask                             ,0xffc196d0) //101            == 0xffc196d0
165//NSTUB(TakeSemaphore                         ,0xffc0ba5c) //101            == 0xffc0ba5c
166NSTUB(TurnOffBackLight                        ,0xffc676f4) //104
167NSTUB(TurnOnBackLight                         ,0xffc676dc) //104
168//NSTUB(UIFS_WriteFirmInfoToFile              ,0xffd4a934) //103            == 0xffd4a934
169//NSTUB(UnlockAF                              ,0xffc16d7c) //103            == 0xffc16d7c
170//NSTUB(UnlockMainPower                       ,0xffc5bec0) //103            == 0xffc5bec0
171//NSTUB(UnsetZoomForMovie                     ,0xffd22418) //104            == 0xffd22418
172//NSTUB(UpdateMBROnFlash                      ,0xffc3f28c) //105            == 0xffc3f28c
173//NSTUB(VbattGet                              ,0xffc119a8) //101            == 0xffc119a8
174//NSTUB(Write                                 ,0xffc150d8) //101            == 0xffc150d8
175//NSTUB(WriteSDCard                           ,0xffcf51b0) //108            == 0xffcf51b0
176//NSTUB(_log                                  ,0xffe3c8dc) //111            == 0xffe3c8dc
177//NSTUB(_log10                                ,0xffe3b820) //112            == 0xffe3b820
178//NSTUB(_pow                                  ,0xffe3b990) //114            == 0xffe3b990
179//NSTUB(_sqrt                                 ,0xffe3dc44) //  1            == 0xffe3dc44
180NSTUB(add_ptp_handler                         ,0xffcad7d0) //  1
181//NSTUB(apex2us                               ,0xffd6363c) //  4            == 0xffd6363c
182//NSTUB(close                                 ,0xffc0a260) //  1            == 0xffc0a260
183//NSTUB(closedir                              ,0xffdc1c68) //  1            == 0xffdc1c68
184NSTUB(err_init_task                           ,0xffc04eb0) //  4
185//NSTUB(exmem_alloc                           ,0xffc56b44) //  1            == 0xffc56b44
186//NSTUB(free                                  ,0xffc03ab0) //112            == 0xffc03ab0
187//NSTUB(kbd_p1_f                              ,0xffc131d0) //109            == 0xffc131d0
188//NSTUB(kbd_p1_f_cont                         ,0xffc131dc) //109            == 0xffc131dc
189//NSTUB(kbd_p2_f                              ,0xffc12a1c) //109            == 0xffc12a1c
190//NSTUB(kbd_pwr_off                           ,0xffc370c0) //  1            == 0xffc370c0
191//NSTUB(kbd_pwr_on                            ,0xffc37068) //  1            == 0xffc37068
192//NSTUB(kbd_read_keys                         ,0xffc130cc) //109            == 0xffc130cc
193//NSTUB(kbd_read_keys_r2                      ,0xffc36b14) //109            == 0xffc36b14
194//NSTUB(lseek                                 ,0xffc1516c) //101            == 0xffc1516c
195//NSTUB(malloc                                ,0xffc039dc) //112            == 0xffc039dc
196//NSTUB(memcmp                                ,0xffc0e8f0) //101            == 0xffc0e8f0
197//NSTUB(memcpy                                ,0xffc71bf4) //101            == 0xffc71bf4
198//NSTUB(memset                                ,0xffe0e37c) //101            == 0xffe0e37c
199//NSTUB(mkdir                                 ,0xffc153d0) //  1            == 0xffc153d0
200// ALT: NSTUB(mkdir, 0xffc15470) // 1 32/0
201NSTUB(mktime_ext                              ,0xffc72460) //  1
202//NSTUB(open                                  ,0xffc0a1b0) //  1            == 0xffc0a1b0
203//NSTUB(opendir                               ,0xffdc1b04) //  1            == 0xffdc1b04
204//NSTUB(openfastdir                           ,0xffdc1b04) //  1            == 0xffdc1b04
205//NSTUB(qsort                                 ,0xffd62a14) //  1            == 0xffd62a14
206//NSTUB(rand                                  ,0xffc0e9f8) //  1            == 0xffc0e9f8
207//NSTUB(read                                  ,0xffc0a448) //101            == 0xffc0a448
208//NSTUB(readfastdir                           ,0xffdc1b98) //  1            == 0xffdc1b98
209NSTUB(reboot_fw_update                        ,0xffdc6538) //  1
210NSTUB(set_control_event                       ,0xffc5baa4) //  1
211//NSTUB(srand                                 ,0xffc0e9ec) //  1            == 0xffc0e9ec
212//NSTUB(stat                                  ,0xffc15238) //  1            == 0xffc15238
213//NSTUB(strcat                                ,0xffc71b20) //  1            == 0xffc71b20
214//NSTUB(strchr                                ,0xffc71ba8) //  1            == 0xffc71ba8
215//NSTUB(strcmp                                ,0xffc0e888) //101            == 0xffc0e888
216//NSTUB(strcpy                                ,0xffc0e834) //101            == 0xffc0e834
217NSTUB(strftime                                ,0xffc71e68) //  1
218//NSTUB(strlen                                ,0xffc0e8cc) //101            == 0xffc0e8cc
219//NSTUB(strncmp                               ,0xffc71b5c) //  1            == 0xffc71b5c
220//NSTUB(strncpy                               ,0xffc0e84c) //  1            == 0xffc0e84c
221//NSTUB(strrchr                               ,0xffc71bcc) //  1            == 0xffc71bcc
222//NSTUB(strtol                                ,0xffc1fc0c) //101            == 0xffc1fc0c
223NSTUB(strtolx                                 ,0xffc1fa10) //109
224  DEF(task_CaptSeq                            ,0xffc4cb64) //107
225  DEF(task_ExpDrv                             ,0xffc91454) //110
226  DEF(task_InitFileModules                    ,0xffc5f754) //107
227  DEF(task_MovieRecord                        ,0xffc49b18) //107
228  DEF(task_PhySw                              ,0xffc12d78) //107
229//NSTUB(time                                  ,0xffc55f0c) //  1            == 0xffc55f0c
230//NSTUB(vsprintf                              ,0xffc0e7b4) //  1            == 0xffc0e7b4
Note: See TracBrowser for help on using the repository browser.