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

Revision 1635, 17.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.00C
7//   Canon PowerShot A2000 IS
8
9// Values for makefile.inc
10//   PLATFORMID = 12689 (0x3191) // Found @ 0xfffe0130
11//   MAXRAMADDR = 0x03ffffff
12//   KEYSYS = d4                 // Found @ 0xffff1a98
13//   NEED_ENCODED_DISKBOOT = 1   // Found @ 0xffff1aa8
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(ExecuteEventProcedure                 ,0xffc553c4) //  1        *** != 0xffc5543c
18//NSTUB(GetBatteryTemperature                 ,0xffc33504) //102        *** != 0xffc33494
19//NSTUB(Lseek                                 ,0xffc13484) //101        *** != 0xffc1354c
20//NSTUB(Read                                  ,0xffc0a138) //101        *** != 0xffc133ec
21//NSTUB(kbd_pwr_off                           ,0xffc31408) //  2 64%    *** != 0xffc31418
22//NSTUB(kbd_pwr_on                            ,0xffc313c8) //  2 82%        == 0xffc313c8
23//NSTUB(rename                                ,0xffc12b9c) //  1        *** != 0xffc13418
24//NSTUB(write                                 ,0xffc133f0) //101        *** != 0xffc0a198
25
26// Check of modemap from 'platform/CAMERA/shooting.c':
27// Firmware modemap table found @ffc603dc -> ffc5cd98 -> ffd2c470 -> ffdfbf48 -> ffeb9b10
28// No problems found with modemap table.
29
30// Values below can be overridden in 'stubs_min.S':
31//DEF(physw_status                            ,0x0000f418) // Found @0xffc113ec,          stubs_min = 0x0000f418 (0xF418)
32//DEF(physw_run                               ,0x00001be4) // Found @0xffc11064,          stubs_min = 0x00001be4 (0x1BD8+0xC)
33//DEF(levent_table                            ,0xffe9ac78) // Found @0xffe9ac78,          stubs_min = 0xffe9ac78 (0xFFE9AC78)
34//DEF(FlashParamsTable                        ,0xffeb9cdc) // Found @0xffeb9cdc,          stubs_min = 0xffeb9cdc (0xFFEB9CDC)
35//DEF(movie_status                            ,0x00005080) // Found @0xffc47950,          stubs_min = 0x00005080 (0x5048+0x38)
36//DEF(canon_menu_active                       ,0x00005460) // Found @0xffc59b98,          stubs_min = 0x00005460 (0x545C+0x4)
37//DEF(canon_shoot_menu_active                 ,0x00009735) // Found @0xffd3bcf4,          stubs_min = 0x00009735 (0x9734+0x1)
38//DEF(playrec_mode                            ,0x00005208) // Found @0xffc4e8ac,          stubs_min = 0x00005208 (0x5204+0x4)
39//DEF(zoom_status                             ,0x0000c0cc) // Found @0xffdfd75c,          stubs_min = 0x0000c0cc (0xC0CC)
40//DEF(some_flag_for_af_scan                   ,0x000085a0) // Found @0xffd0a758,          stubs_min = 0x000085a0 (0x85A0)
41// focus_len_table contains zoom focus lengths for use in 'get_focal_length' (main.c).
42// each entry contains 3 int value(s), the first is the zoom focus length.
43// there are 15 entries in the table - set NUM_FL to 15
44DEF(focus_len_table                         ,0xfffe297c) // Found @0xfffe297c
45//DEF(zoom_busy                               ,0x00007ff8) // Found @0xffd0312c,          stubs_min = 0x00007ff8 (0x7FE4+0x14)
46//DEF(focus_busy                              ,0x00007ee4) // Found @0xffcfe824,          stubs_min = 0x00007ee4 (0x7EDC+0x8)
47//DEF(recreview_hold                          ,0x000059c0) // Found @0xffc65674, ** != ** stubs_min = 0x000094c0 (0x9408+0xB8)
48
49// Values below go in 'lib.c':
50//void *vid_get_bitmap_fb()        { return (void*)0x10361000; }             // Found @0xffc2cea0
51//void *vid_get_viewport_fb()      { return (void*)0x10659de0; }             // Found @0xffe44918
52//void *vid_get_viewport_fb_d()    { return (void*)(*(int*)(0x4ecc+0x54)); } // Found @0xffc413c0 & 0xffc413ec
53//char *camera_jpeg_count_str()    { return (char*)0x00045100; }             // Found @0xffd71398
54//long hook_raw_size()             { return 0x00ec04f0; }                    // Found @0xffe46cbc
55//int get_flash_params_count(void) { return 0x77; }                          // Found @0xffd2d52c
56
57// Bitmap masks and physw_status index values for SD_READONLY and USB power flags (for kbd.c).
58//#define SD_READONLY_FLAG    0x00020000 // Found @0xffe75da0, levent 0x90a
59//#define SD_READONLY_IDX     2
60//#define USB_MASK            0x00040000 // Found @0xffe75dac, levent 0x902
61//#define USB_IDX             2
62
63// Keymap values for kbd.c. Additional keys may be present, only common values included here.
64//static KeyMap keymap[] = {
65//    { 1, KEY_SHOOT_FULL      ,0xc0000000 }, // Found @0xffe75cc8, levent 0x01
66//    { 1, KEY_SHOOT_FULL_ONLY ,0x80000000 }, // Found @0xffe75cc8, levent 0x01
67//    { 1, KEY_SHOOT_HALF      ,0x40000000 }, // Found @0xffe75cbc, levent 0x00
68//    { 2, KEY_ZOOM_IN         ,0x00000004 }, // Found @0xffe75cec, levent 0x02
69//    { 2, KEY_ZOOM_OUT        ,0x00000008 }, // Found @0xffe75cf8, levent 0x03
70//    { 2, KEY_UP              ,0x00000010 }, // Found @0xffe75d04, levent 0x04
71//    { 2, KEY_DOWN            ,0x00000020 }, // Found @0xffe75d10, levent 0x05
72//    { 2, KEY_RIGHT           ,0x00000040 }, // Found @0xffe75d1c, levent 0x07
73//    { 2, KEY_LEFT            ,0x00000080 }, // Found @0xffe75d28, levent 0x06
74//    { 2, KEY_SET             ,0x00000100 }, // Found @0xffe75d34, levent 0x08
75//    { 2, KEY_MENU            ,0x00000200 }, // Found @0xffe75d40, levent 0x09
76//    { 2, KEY_DISPLAY         ,0x00000400 }, // Found @0xffe75d4c, levent 0x0a
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 @0xffe3db80
83//#define CAM_RAW_ROWS      2772 // Found @0xffe3db88
84//#undef  CAM_UNCACHED_BIT
85//#define CAM_UNCACHED_BIT  0x10000000 // Found @0xffc171b8
86
87// Misc stuff
88DEF(ctypes, 0xffe75886)
89
90// For capt_seq.c
91//static long *nrflag = (long*)(0x8590-0x04);  // Found @ ffd0c3cc & ffd0c3e4
92
93// Stubs below matched 100%.
94//    Name                                     Address                Comp to stubs_entry_2.S
95//NSTUB(AllocateMemory                        ,0xffdf0a50) //101            == 0xffdf0a50
96NSTUB(AllocateUncacheableMemory               ,0xffc17174) //112
97//NSTUB(Close                                 ,0xffc13344) //101            == 0xffc13344
98//NSTUB(CreateTask                            ,0xffc0b8c0) //101            == 0xffc0b8c0
99NSTUB(DebugAssert                             ,0xffc0bd98) //111
100NSTUB(DeleteDirectory_Fut                     ,0xffc12cd4) //  1
101//NSTUB(DeleteFile_Fut                        ,0xffc12bf0) //112            == 0xffc12bf0
102//NSTUB(DoAFLock                              ,0xffc14d9c) //102            == 0xffc14d9c
103//NSTUB(EnterToCompensationEVF                ,0xffc14fec) //104            == 0xffc14fec
104//NSTUB(ExitFromCompensationEVF               ,0xffc15030) //104            == 0xffc15030
105//NSTUB(ExitTask                              ,0xffc0bb50) //101            == 0xffc0bb50
106NSTUB(ExpCtrlTool_StartContiAE                ,0xffc1fa68) //104
107NSTUB(ExpCtrlTool_StopContiAE                 ,0xffc1fbac) //104
108//NSTUB(Fclose_Fut                            ,0xffc12d6c) //101            == 0xffc12d6c
109//NSTUB(Feof_Fut                              ,0xffc12f58) //  1            == 0xffc12f58
110//NSTUB(Fflush_Fut                            ,0xffc12f94) //  1            == 0xffc12f94
111//NSTUB(Fgets_Fut                             ,0xffc12ec0) //  1            == 0xffc12ec0
112//NSTUB(Fopen_Fut                             ,0xffc12d2c) //101            == 0xffc12d2c
113//NSTUB(Fread_Fut                             ,0xffc12e18) //101            == 0xffc12e18
114//NSTUB(FreeMemory                            ,0xffdf0a48) //101            == 0xffdf0a48
115//NSTUB(FreeUncacheableMemory                 ,0xffc171b4) //112            == 0xffc171b4
116//NSTUB(Fseek_Fut                             ,0xffc12f0c) //101            == 0xffc12f0c
117//NSTUB(Fwrite_Fut                            ,0xffc12e6c) //101            == 0xffc12e6c
118//NSTUB(GetCCDTemperature                     ,0xffc33494) //102            == 0xffc33494
119//NSTUB(GetCurrentAvValue                     ,0xffd0025c) //102            == 0xffd0025c
120//NSTUB(GetDrive_ClusterSize                  ,0xffc3fc24) //  1            == 0xffc3fc24
121//NSTUB(GetDrive_FreeClusters                 ,0xffc3fc8c) //  1            == 0xffc3fc8c
122//NSTUB(GetDrive_TotalClusters                ,0xffc3fc58) //  1            == 0xffc3fc58
123NSTUB(GetFocusLensSubjectDistance             ,0xffcff354) //102
124NSTUB(GetFocusLensSubjectDistanceFromLens     ,0xffcff660) //  3
125NSTUB(GetKbdState                             ,0xffc31394) //109
126NSTUB(GetMemInfo                              ,0xffc03c28) //  1
127//NSTUB(GetOpticalTemperature                 ,0xffc33574) //102            == 0xffc33574
128//NSTUB(GetParameterData                      ,0xffd2d4ec) //101            == 0xffd2d4ec
129//NSTUB(GetPropertyCase                       ,0xffc590ac) //102            == 0xffc590ac
130//NSTUB(GetSystemTime                         ,0xffdf0aa8) //101            == 0xffdf0aa8
131//NSTUB(GetZoomLensCurrentPoint               ,0xffd0349c) //102            == 0xffd0349c
132//NSTUB(GetZoomLensCurrentPosition            ,0xffdea9dc) //102            == 0xffdea9dc
133//NSTUB(GiveSemaphore                         ,0xffc0b81c) //112            == 0xffc0b81c
134//NSTUB(IsStrobeChargeCompleted               ,0xffc8aef4) //102            == 0xffc8aef4
135NSTUB(LEDDrive                                ,0xffc30a70) //103
136//NSTUB(LocalTime                             ,0xffc533c8) //  1            == 0xffc533c8
137//NSTUB(LockMainPower                         ,0xffc5c9b0) //103            == 0xffc5c9b0
138//NSTUB(MakeDirectory_Fut                     ,0xffc12c64) //  1            == 0xffc12c64
139//NSTUB(MoveFocusLensToDistance               ,0xffe4135c) //102            == 0xffe4135c
140NSTUB(MoveIrisWithAv                          ,0xffded27c) //102
141//NSTUB(MoveZoomLensWithPoint                 ,0xffded808) //102            == 0xffded808
142//NSTUB(NewTaskShell                          ,0xffc58b54) //103            == 0xffc58b54
143//NSTUB(Open                                  ,0xffc1331c) //101            == 0xffc1331c
144//NSTUB(PB2Rec                                ,0xffc5e3ec) //104            == 0xffc5e3ec
145NSTUB(PT_MoveDigitalZoomToWide                ,0xffc48cec) //102
146NSTUB(PT_MoveOpticalZoomAt                    ,0xffc48cc4) //102
147NSTUB(PT_PlaySound                            ,0xffc488d4) //102
148NSTUB(PostLogicalEventForNotPowerType         ,0xffc5bff0) //103
149NSTUB(PostLogicalEventToUI                    ,0xffc5c03c) //103
150//NSTUB(PutInNdFilter                         ,0xffded66c) //102            == 0xffded66c
151//NSTUB(PutOutNdFilter                        ,0xffded690) //102            == 0xffded690
152//NSTUB(ReadFastDir                           ,0xffddce7c) //  1            == 0xffddce7c
153//NSTUB(Rec2PB                                ,0xffc5e440) //104            == 0xffc5e440
154//NSTUB(RefreshPhysicalScreen                 ,0xffd7af58) //104            == 0xffd7af58
155//NSTUB(Remove                                ,0xffc1338c) //  1            == 0xffc1338c
156//NSTUB(RenameFile_Fut                        ,0xffc12b9c) //  1            == 0xffc12b9c
157//NSTUB(Restart                               ,0xffc189ec) //106            == 0xffc189ec
158NSTUB(SetAE_ShutterSpeed                      ,0xffe43b28) //102
159//NSTUB(SetAutoShutdownTime                   ,0xffc5ca24) //103            == 0xffc5ca24
160NSTUB(SetCurrentCaptureModeType               ,0xffc6301c) //101
161//NSTUB(SetFileTimeStamp                      ,0xffc13620) //  1            == 0xffc13620
162NSTUB(SetLogicalEventActive                   ,0xffc5c72c) //101
163//NSTUB(SetParameterData                      ,0xffd2d45c) //101            == 0xffd2d45c
164NSTUB(SetPropertyCase                         ,0xffc58fa4) //102
165//NSTUB(SetScriptMode                         ,0xffc5c77c) //101            == 0xffc5c77c
166//NSTUB(SleepTask                             ,0xffc16ff8) //101            == 0xffc16ff8
167//NSTUB(TakeSemaphore                         ,0xffc0b74c) //101            == 0xffc0b74c
168//NSTUB(TurnOffBackLight                      ,0xffc67b10) //104            == 0xffc67b10
169//NSTUB(TurnOnBackLight                       ,0xffc67af8) //104            == 0xffc67af8
170//NSTUB(UIFS_WriteFirmInfoToFile              ,0xffd20598) //103            == 0xffd20598
171//NSTUB(UnlockAF                              ,0xffc14dd4) //102            == 0xffc14dd4
172//NSTUB(UnlockMainPower                       ,0xffc5c904) //103            == 0xffc5c904
173//NSTUB(UnsetZoomForMovie                     ,0xffd32ad8) //104            == 0xffd32ad8
174//NSTUB(UpdateMBROnFlash                      ,0xffc3fa64) //105            == 0xffc3fa64
175NSTUB(VbattGet                                ,0xffc10314) //103
176//NSTUB(Write                                 ,0xffc133f0) //101            == 0xffc133f0
177NSTUB(WriteSDCard                             ,0xffcf4aa8) //108
178//NSTUB(_log                                  ,0xffe7368c) //111            == 0xffe7368c
179//NSTUB(_log10                                ,0xffe725d0) //112            == 0xffe725d0
180//NSTUB(_pow                                  ,0xffe72740) //114            == 0xffe72740
181//NSTUB(_sqrt                                 ,0xffe749f4) //  1            == 0xffe749f4
182NSTUB(add_ptp_handler                         ,0xffdac444) //  1
183NSTUB(apex2us                                 ,0xffd7bf74) //  4
184//NSTUB(close                                 ,0xffc09f50) //  1            == 0xffc09f50
185//NSTUB(closedir                              ,0xffddcf4c) //  1            == 0xffddcf4c
186NSTUB(err_init_task                           ,0xffc04e84) //  4
187NSTUB(exmem_alloc                             ,0xffc53bc8) //103
188//NSTUB(free                                  ,0xffc03a80) //112            == 0xffc03a80
189//NSTUB(kbd_p1_f                              ,0xffc114f0) //109            == 0xffc114f0
190//NSTUB(kbd_p1_f_cont                         ,0xffc114fc) //109            == 0xffc114fc
191//NSTUB(kbd_p2_f                              ,0xffc10d04) //109            == 0xffc10d04
192//NSTUB(kbd_read_keys                         ,0xffc113ec) //109            == 0xffc113ec
193//NSTUB(kbd_read_keys_r2                      ,0xffc30e84) //109            == 0xffc30e84
194//NSTUB(lseek                                 ,0xffc13484) //101            == 0xffc13484
195//NSTUB(malloc                                ,0xffc039ac) //112            == 0xffc039ac
196//NSTUB(memcmp                                ,0xffc0d8b4) //101            == 0xffc0d8b4
197//NSTUB(memcpy                                ,0xffc6cac8) //101            == 0xffc6cac8
198//NSTUB(memset                                ,0xffd7b2ac) //101            == 0xffd7b2ac
199//NSTUB(mkdir                                 ,0xffc136e8) //  1            == 0xffc136e8
200// ALT: NSTUB(mkdir, 0xffc13788) // 1 32/0
201//NSTUB(mktime_ext                            ,0xffc6d334) //  1            == 0xffc6d334
202//NSTUB(open                                  ,0xffc09ea0) //  1            == 0xffc09ea0
203//NSTUB(opendir                               ,0xffddcde8) //  1            == 0xffddcde8
204//NSTUB(openfastdir                           ,0xffddcde8) //  1            == 0xffddcde8
205//NSTUB(qsort                                 ,0xffe2cb98) //  1            == 0xffe2cb98
206//NSTUB(rand                                  ,0xffc0d9bc) //  1            == 0xffc0d9bc
207//NSTUB(read                                  ,0xffc0a138) //101            == 0xffc0a138
208//NSTUB(readfastdir                           ,0xffddce7c) //  1            == 0xffddce7c
209NSTUB(reboot_fw_update                        ,0xffde1750) //  5
210NSTUB(set_control_event                       ,0xffc5c478) //  1
211//NSTUB(srand                                 ,0xffc0d9b0) //  1            == 0xffc0d9b0
212//NSTUB(stat                                  ,0xffc13550) //  1            == 0xffc13550
213//NSTUB(strcat                                ,0xffc6c8dc) //  1            == 0xffc6c8dc
214//NSTUB(strchr                                ,0xffc6c964) //  1            == 0xffc6c964
215//NSTUB(strcmp                                ,0xffc0d84c) //101            == 0xffc0d84c
216//NSTUB(strcpy                                ,0xffc0d834) //101            == 0xffc0d834
217//NSTUB(strftime                              ,0xffc6cd3c) //  1            == 0xffc6cd3c
218//NSTUB(strlen                                ,0xffc0d890) //101            == 0xffc0d890
219//NSTUB(strncmp                               ,0xffc6c918) //  1            == 0xffc6c918
220//NSTUB(strncpy                               ,0xffc1cb54) //  1            == 0xffc1cb54
221//NSTUB(strrchr                               ,0xffd7b284) //  1            == 0xffd7b284
222//NSTUB(strtol                                ,0xffc1cd8c) //101            == 0xffc1cd8c
223NSTUB(strtolx                                 ,0xffc1cb90) //109
224  DEF(task_CaptSeq                            ,0xffc4ae84) //107
225  DEF(task_ExpDrv                             ,0xffc83eb0) //110
226  DEF(task_InitFileModules                    ,0xffc60268) //107
227  DEF(task_MovieRecord                        ,0xffc47bb4) //107
228  DEF(task_PhySw                              ,0xffc11060) //107
229//NSTUB(time                                  ,0xffc5327c) //  1            == 0xffc5327c
230NSTUB(vsprintf                                ,0xffc0d7f8) //  1
Note: See TracBrowser for help on using the repository browser.