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

Revision 1635, 16.6 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 R43 (DRYOS version 2.3, release #0043)
6//   Firmware Ver GM1.00D
7//   Canon PowerShot A495
8
9// Values for makefile.inc
10//   PLATFORMID = 12783 (0x31ef) // Found @ 0xfffe0130
11//   MAXRAMADDR = 0x01ffffff
12//   KEYSYS = d4a                // Found @ 0xffff1a2c
13//   NEED_ENCODED_DISKBOOT = 4   // Found @ 0xffff1a3c
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(GetDrive_FreeClusters                 ,0xffc23810) //  3        *** != 0xffc51320
18// ALT: NSTUB(GetDrive_FreeClusters, 0xffc51320) // 4 9/0
19//NSTUB(SetScriptMode                         ,0xffc6cc08) //101        *** != 0xffc00f70
20//NSTUB(kbd_pwr_off                           ,0xffc435e4) //  2 64%        == 0xffc435e4
21// ERROR: kbd_pwr_on is not found.                         //--- ---    *** != 0xffc00b20
22
23// Check of modemap from 'platform/CAMERA/shooting.c':
24// Firmware modemap table found @ffc706d0 -> ffc6d238 -> ffd2e134 -> ffe0aa60 -> ffecf688
25// Mode 16417 in firmware but not in current modemap
26// Mode 16399 in firmware but not in current modemap
27// Mode 16934 in firmware but not in current modemap
28// Mode 16935 in firmware but not in current modemap
29// Mode 16936 in firmware but not in current modemap
30// Mode 16407 in firmware but not in current modemap
31// Mode  2609 in firmware but not in current modemap
32// Current modemap entry not found in firmware - MODE_SUPER_MACRO         16905
33// Current modemap entry not found in firmware - MODE_SCN_SNOW            16404
34// Current modemap entry not found in firmware - MODE_SCN_INDOOR          16401
35// Current modemap entry not found in firmware - MODE_SCN_KIDS_PETS       16400
36// Current modemap entry not found in firmware - MODE_SCN_NIGHT_SCENE     16395
37// Current modemap entry not found in firmware - MODE_VIDEO_STD            2598
38
39// Values below can be overridden in 'stubs_min.S':
40//DEF(physw_status                            ,0x0002e7f4) // Found @0xffc23b2c,          stubs_min = 0x0002e7f4 (0x2E7F4)
41//DEF(physw_run                               ,0x00001bf0) // Found @0xffc23790,          stubs_min = 0x00001bf0 (0x1BE4+0x0C)
42//DEF(levent_table                            ,0xffea2d00) // Found @0xffea2d00,          stubs_min = 0xffea2d00 (0xffea2d00)
43//DEF(FlashParamsTable                        ,0xffecf87c) // Found @0xffecf87c,          stubs_min = 0xffecf87c (0xffecf87c)
44//DEF(movie_status                            ,0x000054a0) // Found @0xffd0c728,          stubs_min = 0x000054a0 (0x5468+0x38)
45//DEF(full_screen_refresh                     ,0x00007370) // Found @0xffd7a970,          stubs_min = 0x00007370 (0x7370)
46//DEF(canon_menu_active                       ,0x00002a3c) // Found @0xffc6a0cc,          stubs_min = 0x00002a3c (0x2A38+4)
47//DEF(canon_shoot_menu_active                 ,0x000065b5) // Found @0xffd40094,          stubs_min = 0x000065b5 (0x000065b5)
48//DEF(playrec_mode                            ,0x00002798) // Found @0xffc5d8b0,          stubs_min = 0x00002798 (0x2794+0x4)
49//DEF(zoom_status                             ,0x00009648) // Found @0xffe0d93c,          stubs_min = 0x00009648 (0x00009648)
50//DEF(some_flag_for_af_scan                   ,0x00005848) // Found @0xffd0f094,          stubs_min = 0x00005848 (0x5848)
51// focus_len_table contains zoom focus lengths for use in 'get_focal_length' (main.c).
52// each entry contains 3 int value(s), the first is the zoom focus length.
53// there are 7 entries in the table - set NUM_FL to 7
54DEF(focus_len_table                         ,0xfffe2990) // Found @0xfffe2990
55//DEF(zoom_busy                               ,0x00005424) // Found @0xffd09958,          stubs_min = 0x00005424 (0x5410+0x14)
56//DEF(focus_busy                              ,0x00005334) // Found @0xffd06f90,          stubs_min = 0x00005334 (0x532C+8)
57//DEF(recreview_hold                          ,0x00003034) // Found @0xffc758d4, ** != ** stubs_min = 0x0000630a (0x6308+2)
58
59// Values below go in 'lib.c':
60//void *vid_get_bitmap_fb()        { return (void*)0x10361000; }             // Found @0xffc3f020
61//void *vid_get_viewport_fb()      { return (void*)0x10648cc0; }             // Found @0xffe569d4
62//void *vid_get_viewport_fb_d()    { return (void*)(*(int*)(0x2540+0x54)); } // Found @0xffc528c8 & 0xffc52900
63//char *camera_jpeg_count_str()    { return (char*)0x0007486c; }             // Found @0xffd71fa0
64//long hook_raw_size()             { return 0x00ec04f0; }                    // Found @0xffe59d5c
65//int get_flash_params_count(void) { return 0x94; }                          // Found @0xffd2f1f0
66
67// Bitmap masks and physw_status index values for SD_READONLY and USB power flags (for kbd.c).
68//#define SD_READONLY_FLAG    0x00040000 // Found @0xffe84f2c, levent 0x90a
69//#define SD_READONLY_IDX     2
70//#define USB_MASK            0x00080000 // Found @0xffe84f38, levent 0x902
71//#define USB_IDX             2
72
73// Keymap values for kbd.c. Additional keys may be present, only common values included here.
74//static KeyMap keymap[] = {
75//    { 2, KEY_RIGHT           ,0x00000004 }, // Found @0xffe84ecc, levent 0x07
76//    { 2, KEY_ZOOM_OUT        ,0x00000040 }, // Found @0xffe84ef0, levent 0x03
77//    { 2, KEY_ZOOM_IN         ,0x00000080 }, // Found @0xffe84efc, levent 0x02
78//    { 2, KEY_SET             ,0x00000100 }, // Found @0xffe84f08, levent 0x08
79//    { 2, KEY_UP              ,0x00100000 }, // Found @0xffe84f44, levent 0x04
80//    { 2, KEY_DOWN            ,0x00200000 }, // Found @0xffe84f50, levent 0x05
81//    { 2, KEY_LEFT            ,0x00400000 }, // Found @0xffe84f5c, levent 0x06
82//    { 2, KEY_MENU            ,0x01000000 }, // Found @0xffe84f74, levent 0x09
83//    { 2, KEY_SHOOT_FULL      ,0x00000030 }, // Found @0xffe84ee4, levent 0x01
84//    { 2, KEY_SHOOT_FULL_ONLY ,0x00000020 }, // Found @0xffe84ee4, levent 0x01
85//    { 2, KEY_SHOOT_HALF      ,0x00000010 }, // Found @0xffe84ed8, levent 0x00
86//    { 0, 0, 0 }
87//};
88
89// Values below go in 'platform_camera.h':
90//#define CAM_DRYOS         1
91//#define CAM_DRYOS_2_3_R39 1 // Defined for cameras with DryOS version R39 or higher
92//#define CAM_RAW_ROWPIX    3720 // Found @0xffcea468
93//#define CAM_RAW_ROWS      2772 // Found @0xffcea474
94//#undef  CAM_UNCACHED_BIT
95//#define CAM_UNCACHED_BIT  0x10000000 // Found @0xffc2931c
96
97// Misc stuff
98DEF(ctypes, 0xffe847c6)
99
100// For capt_seq.c
101//static long *nrflag = (long*)(0x5830-0x08);  // Found @ ffd10eac & ffd10ec8
102
103// Stubs below matched 100%.
104//    Name                                     Address                Comp to stubs_entry_2.S
105NSTUB(AllocateMemory                          ,0xffdfd168) //101
106NSTUB(AllocateUncacheableMemory               ,0xffc292d8) //112
107NSTUB(Close                                   ,0xffc26108) //101
108NSTUB(CreateTask                              ,0xffc0f1a8) //101
109NSTUB(DebugAssert                             ,0xffc0f680) //111
110NSTUB(DeleteDirectory_Fut                     ,0xffc25b64) //  1
111NSTUB(DeleteFile_Fut                          ,0xffc25a80) //112
112//NSTUB(DoAFLock                              ,0xffc27554) //102            == 0xffc27554
113//NSTUB(EnterToCompensationEVF                ,0xffc27604) //104            == 0xffc27604
114NSTUB(ExecuteEventProcedure                   ,0xffc65820) //  1
115//NSTUB(ExitFromCompensationEVF               ,0xffc27648) //104            == 0xffc27648
116NSTUB(ExitTask                                ,0xffc0f438) //101
117//NSTUB(ExpCtrlTool_StartContiAE              ,0xffc34ce4) //104            == 0xffc34ce4
118//NSTUB(ExpCtrlTool_StopContiAE               ,0xffc34dbc) //104            == 0xffc34dbc
119NSTUB(Fclose_Fut                              ,0xffc25bfc) //101
120NSTUB(Feof_Fut                                ,0xffc25de8) //  1
121NSTUB(Fflush_Fut                              ,0xffc25e24) //  1
122NSTUB(Fgets_Fut                               ,0xffc25d50) //  1
123NSTUB(Fopen_Fut                               ,0xffc25bbc) //101
124NSTUB(Fread_Fut                               ,0xffc25ca8) //101
125NSTUB(FreeMemory                              ,0xffdfd160) //101
126NSTUB(FreeUncacheableMemory                   ,0xffc29318) //112
127NSTUB(Fseek_Fut                               ,0xffc25d9c) //101
128NSTUB(Fwrite_Fut                              ,0xffc25cfc) //101
129//NSTUB(GetBatteryTemperature                 ,0xffc4561c) //102            == 0xffc4561c
130//NSTUB(GetCCDTemperature                     ,0xffc455a8) //102            == 0xffc455a8
131NSTUB(GetCurrentAvValue                       ,0xffd08810) //102
132NSTUB(GetDrive_ClusterSize                    ,0xffc512c0) //  4
133NSTUB(GetDrive_TotalClusters                  ,0xffc512f4) //  3
134NSTUB(GetFocusLensSubjectDistance             ,0xffd07b08) //102
135NSTUB(GetFocusLensSubjectDistanceFromLens     ,0xffd07f60) //  3
136//NSTUB(GetImageFolder                        ,0xffcf1428) //106            == 0xffcf1428
137NSTUB(GetKbdState                             ,0xffc435cc) //109
138NSTUB(GetMemInfo                              ,0xffc0a7f8) //  3
139//NSTUB(GetOpticalTemperature                 ,0xffc45694) //102            == 0xffc45694
140NSTUB(GetParameterData                        ,0xffd2f1b0) //101
141NSTUB(GetPropertyCase                         ,0xffc6952c) //102
142NSTUB(GetSystemTime                           ,0xffdfd1c0) //101
143NSTUB(GetZoomLensCurrentPoint                 ,0xffd09cd0) //102
144//NSTUB(GetZoomLensCurrentPosition            ,0xffdf520c) //102            == 0xffdf520c
145NSTUB(GiveSemaphore                           ,0xffc0f104) //112
146NSTUB(IsStrobeChargeCompleted                 ,0xffca7260) //102
147//NSTUB(LEDDrive                              ,0xffc42bc4) //103            == 0xffc42bc4
148NSTUB(LocalTime                               ,0xffc63530) //  1
149NSTUB(LockMainPower                           ,0xffc6ce40) //103
150//NSTUB(Lseek                                 ,0xffc26224) //101            == 0xffc26224
151NSTUB(MakeDirectory_Fut                       ,0xffc25af4) //  1
152NSTUB(MoveFocusLensToDistance                 ,0xffe53454) //102
153NSTUB(MoveIrisWithAv                          ,0xffdfa8b0) //102
154NSTUB(MoveZoomLensWithPoint                   ,0xffdfae40) //102
155NSTUB(NewTaskShell                            ,0xffc68f38) //103
156//NSTUB(Open                                  ,0xffc2609c) //101            == 0xffc2609c
157NSTUB(PB2Rec                                  ,0xffc6fa94) //104
158NSTUB(PT_MoveDigitalZoomToWide                ,0xffc57170) //102
159NSTUB(PT_MoveOpticalZoomAt                    ,0xffc57148) //102
160//NSTUB(PT_PlaySound                          ,0xffc5f3b0) //  7            == 0xffc5f3b0
161NSTUB(PostLogicalEventForNotPowerType         ,0xffc6c670) //103
162NSTUB(PostLogicalEventToUI                    ,0xffc6c6bc) //103
163//NSTUB(PutInNdFilter                         ,0xffdfaca4) //102            == 0xffdfaca4
164//NSTUB(PutOutNdFilter                        ,0xffdfacc8) //102            == 0xffdfacc8
165NSTUB(Read                                    ,0xffc0b308) //101
166//NSTUB(ReadFastDir                           ,0xffdebbf4) //  4            == 0xffdebbf4
167NSTUB(Rec2PB                                  ,0xffc6fad4) //104
168//NSTUB(RefreshPhysicalScreen                 ,0xffd7b34c) //104            == 0xffd7b34c
169//NSTUB(Remove                                ,0xffc2613c) //  4            == 0xffc2613c
170//NSTUB(RenameFile_Fut                        ,0xffc259ec) //  4            == 0xffc259ec
171NSTUB(Restart                                 ,0xffc2aab0) //106
172NSTUB(ScreenLock                              ,0xffd7c4f8) //  3
173NSTUB(ScreenUnlock                            ,0xffd7c53c) //  7
174//NSTUB(SetAE_ShutterSpeed                    ,0xffe55be4) //102            == 0xffe55be4
175NSTUB(SetAutoShutdownTime                     ,0xffc6ceb4) //103
176NSTUB(SetCurrentCaptureModeType               ,0xffc731ec) //101
177//NSTUB(SetFileTimeStamp                      ,0xffc263a4) //  4            == 0xffc263a4
178NSTUB(SetLogicalEventActive                   ,0xffc6cbb8) //101
179NSTUB(SetParameterData                        ,0xffd2f120) //101
180NSTUB(SetPropertyCase                         ,0xffc693fc) //102
181NSTUB(SleepTask                               ,0xffc2915c) //101
182NSTUB(TakeSemaphore                           ,0xffc0f034) //101
183//NSTUB(TurnOffBackLight                      ,0xffc77f4c) //104            == 0xffc77f4c
184//NSTUB(TurnOnBackLight                       ,0xffc77f34) //104            == 0xffc77f34
185//NSTUB(UIFS_WriteFirmInfoToFile              ,0xffd1f924) //101            == 0xffd1f924
186//NSTUB(UnlockAF                              ,0xffc2758c) //102            == 0xffc2758c
187NSTUB(UnlockMainPower                         ,0xffc6cd94) //103
188//NSTUB(UnsetZoomForMovie                     ,0xffd3589c) //104            == 0xffd3589c
189//NSTUB(UpdateMBROnFlash                      ,0xffc51140) //105            == 0xffc51140
190NSTUB(VbattGet                                ,0xffc22be4) //103
191NSTUB(Write                                   ,0xffc26198) //101
192//NSTUB(WriteSDCard                           ,0xffcfcb1c) //108            == 0xffcfcb1c
193NSTUB(_log                                    ,0xffe82328) //111
194NSTUB(_log10                                  ,0xffe8126c) //112
195NSTUB(_pow                                    ,0xffe813dc) //114
196NSTUB(_sqrt                                   ,0xffe83690) //  1
197NSTUB(add_ptp_handler                         ,0xffdbeb54) //  3
198//NSTUB(apex2us                               ,0xffd7d848) //  4            == 0xffd7d848
199NSTUB(close                                   ,0xffc0b120) //  1
200//NSTUB(closedir                              ,0xffdeba50) //  4            == 0xffdeba50
201NSTUB(err_init_task                           ,0xffc05f50) //  4
202NSTUB(exmem_alloc                             ,0xffc641d0) //103
203NSTUB(free                                    ,0xffc04160) //112
204NSTUB(kbd_p1_f                                ,0xffc23ba4) //109
205NSTUB(kbd_p1_f_cont                           ,0xffc23bb0) //109
206NSTUB(kbd_p2_f                                ,0xffc2345c) //109
207//NSTUB(kbd_read_keys                         ,0xffc23b2c) //109            == 0xffc23b2c
208//NSTUB(kbd_read_keys_r2                      ,0xffc42fb0) //109            == 0xffc42fb0
209//NSTUB(lseek                                 ,0xffc26224) //101            == 0xffc26224
210NSTUB(malloc                                  ,0xffc04104) //112
211NSTUB(memcmp                                  ,0xffc11318) //101
212NSTUB(memcpy                                  ,0xffc2e860) //101
213NSTUB(memset                                  ,0xffd7c880) //101
214NSTUB(mkdir                                   ,0xffc265a4) //  4
215NSTUB(mktime_ext                              ,0xffc7cd6c) //  1
216NSTUB(open                                    ,0xffc0b070) //  1
217NSTUB(opendir                                 ,0xffdebaa0) //  4
218//NSTUB(openfastdir                           ,0xffdebaa0) //  4            == 0xffdebaa0
219//NSTUB(qsort                                 ,0xffe3c190) //  4            == 0xffe3c190
220NSTUB(rand                                    ,0xffc11420) //  1
221NSTUB(read                                    ,0xffc0b308) //101
222//NSTUB(readfastdir                           ,0xffdebbf4) //  4            == 0xffdebbf4
223NSTUB(reboot_fw_update                        ,0xffded468) //  1
224//NSTUB(rename                                ,0xffc259ec) //  4            == 0xffc259ec
225NSTUB(set_control_event                       ,0xffc6c8d8) //111
226NSTUB(srand                                   ,0xffc11414) //  1
227NSTUB(stat                                    ,0xffc2626c) //  3
228//NSTUB(strcat                                ,0xffc7c528) //  1            == 0xffc7c528
229NSTUB(strchr                                  ,0xffc03fe8) //  1
230NSTUB(strcmp                                  ,0xffc112d4) //101
231NSTUB(strcpy                                  ,0xffc112bc) //101
232NSTUB(strftime                                ,0xffc7c774) //113
233NSTUB(strlen                                  ,0xffc04034) //101
234NSTUB(strncmp                                 ,0xffc03f9c) //  1
235NSTUB(strncpy                                 ,0xffc03f60) //  1
236//NSTUB(strrchr                               ,0xffc0400c) //  1            == 0xffc0400c
237NSTUB(strtol                                  ,0xffc2eb40) //101
238NSTUB(strtolx                                 ,0xffc2e944) //109
239  DEF(task_CaptSeq                            ,0xffc59224) //107
240  DEF(task_ExpDrv                             ,0xffc91604) //110
241  DEF(task_InitFileModules                    ,0xffc7055c) //107
242  DEF(task_MovieRecord                        ,0xffd0c97c) //107
243  DEF(task_PhySw                              ,0xffc2378c) //107
244NSTUB(time                                    ,0xffc633e4) //  1
245NSTUB(vsprintf                                ,0xffc11280) //  4
246//NSTUB(write                                 ,0xffc26198) //101            == 0xffc26198
Note: See TracBrowser for help on using the repository browser.