source: trunk/platform/s2is/sub/100g/stubs_entry.S @ 826

Revision 826, 6.4 KB checked in by reyalp, 4 years ago (diff)

First part of mode override support. See http://chdk.kernreaktor.org/mantis/view.php?id=64
+ support for posting logical events, and other event fuctions in lua
+ script support for setting mode to play or rec. Note, get_mode will currently return incorrect values on many cameras if the mode is set this way, which will affect both script and some CHDK functions. This will be addressed in a future version.
+ logical event related entry point SetLogicalEventActive? for all cameras except ixus40_sd300
+ logical event related entry points SetScriptMode?, PostLogicalEventForNotPowerType?, PostLogicalEventToUI for all cameras
+ entry SetCurrentCaptureModeType? for all cameras except ixus40_sd300 ixus50_sd400 (might be right, unsure). This will be used to support capture mode overrides in a future version, not currently exposed.
+ playrec_mode variable for all cameras except ixus40_sd300 ixus50_sd400. This will allow mode_get in future version to return the right result on cameras that depended on the physw_status bits of the mod/rec hardware switch
+ to tools:

  • generic dump access code dumputil.c, dumputil.h
  • find_levent.c finds and optionally dumps levent table
  • find_eventproc.c very dumb/simple search for name/pointer pairs, useful for eventprocs that are too small for finsig These are not added to "make all" in tools, because they are not needed in the normal build process. Use the executable name or "make extras" in tools.

Except as noted above, all the entry points and addresses have been verified with at least a superficial check

New firmware function descriptions:
See comments in lowlevel.h
See: http://chdk.setepontos.com/index.php/topic,3228.msg42218.html#msg42218 for more detail on SetLogicalEventActive? and SetScriptMode?

New firmware variable descriptions:
levent_table: see description in levent.h
playrec_mode: see description in lowlevel.h

New script functions: see comments in core/luascript.c or http://chdk.setepontos.com/index.php/topic,3228.msg42842.html#msg42842

  • Property svn:eol-style set to native
RevLine 
[515]1// !!! THIS FILE IS GENERATED. DO NOT EDIT. !!!
2#include "stubs_asm.h"
3
4// Best match: 79%
5NSTUB(AllocateMemory, 0xff811ba0)
6NSTUB(AllocateUncacheableMemory, 0xff814810)
7// ERROR: Close is not found!
8NSTUB(CreatePhysicalVram, 0xff93e258)
9NSTUB(CreateTask, 0xff82239c)
10NSTUB(CreateTaskStrict, 0xff823964)
[517]11NSTUB(DeleteFile_Fut, 0xff86f980)
[515]12NSTUB(DisableDispatch, 0xff82210c)
13// ERROR: DisplayImagePhysicalScreen is not found!
14NSTUB(EnableDispatch, 0xff822198)
15NSTUB(ExecuteEventProcedure, 0xff816ab4)
16NSTUB(ExitTask, 0xff82275c)
17NSTUB(Fclose_Fut, 0xff86fac0)
[517]18NSTUB(Feof_Fut, 0xff86fcd4)
19NSTUB(Fflush_Fut, 0xff86fd0c)
20NSTUB(Fgets_Fut, 0xff86fc44)
[515]21NSTUB(Fopen_Fut, 0xff86fa84)
22NSTUB(Fread_Fut, 0xff86fba4)
23// Best match: 66%
24NSTUB(FreeMemory, 0xff811bac)
25NSTUB(FreeUncacheableMemory, 0xff814844)
26NSTUB(Fseek_Fut, 0xff86fc8c)
27NSTUB(Fwrite_Fut, 0xff86fbf4)
28NSTUB(GetCurrentAvValue, 0xffaa6ad0)
29// ALT: NSTUB(GetCurrentAvValue, 0xffaa8a84) // 13/0
30NSTUB(GetCurrentTargetDistance, 0xffaa8a2c)
31// Best match: 87%
32NSTUB(GetFocusLensSubjectDistance, 0xffa8e778)
33// ALT: NSTUB(GetFocusLensSubjectDistance, 0xffa8e778) // 27/4
34// ERROR: GetFocusLensSubjectDistanceFromLens is not found!
35// Best match: 76%
36NSTUB(GetParameterData, 0xff987d44)
37// ALT: NSTUB(GetParameterData, 0xff987d44) // 23/7
38// Best match: 71%
39NSTUB(GetPropertyCase, 0xff825d04)
40// Best match: 96%
41NSTUB(GetSystemTime, 0xff814b98)
42// ALT: NSTUB(GetSystemTime, 0xff814b98) // 26/1
43// Best match: 68%
44NSTUB(GetZoomLensCurrentPoint, 0xffa87f80)
45// ALT: NSTUB(GetZoomLensCurrentPoint, 0xffa87f80) // 20/9
46// Best match: 51%
47NSTUB(GetZoomLensCurrentPosition, 0xffa87f94)
48// ALT: NSTUB(GetZoomLensCurrentPosition, 0xffa87f94) // 15/14
49NSTUB(IsStrobeChargeCompleted, 0xff912c6c)
50// Best match: 96%
51NSTUB(LockMainPower, 0xff983254)
52// Best match: 70%
53NSTUB(MakeDirectory, 0xff87733c)
[517]54NSTUB(MakeDirectory_Fut, 0xff86fa0c)
[515]55// ERROR: Mount_FileSystem is not found!
56// Best match: 96%
57NSTUB(MoveFocusLensToDistance, 0xffaa8cbc)
58// ERROR: MoveZoomLensWithPoint is not found!
59// ERROR: Open is not found!
60// ERROR: PhySw_testgpio is not found!
[826]61NSTUB(PostLogicalEventForNotPowerType, 0xff97fee4)
62NSTUB(PostLogicalEventToUI, 0xff97ff70)
63// ALT: NSTUB(PostLogicalEventToUI, 0xff980008) // 25/0
[515]64NSTUB(ProtectFile, 0xff86f0ec)
65// Best match: 92%
66NSTUB(PutInNdFilter, 0xffaa6ae4)
67// ALT: NSTUB(PutInNdFilter, 0xffaa6ae4) // 25/2
68// ALT: NSTUB(PutInNdFilter, 0xffaa6b2c) // 25/2
69// ALT: NSTUB(PutInNdFilter, 0xffaa6b2c) // 25/2
70// ALT: NSTUB(PutInNdFilter, 0xffaa6ef4) // 25/2
71// ALT: NSTUB(PutInNdFilter, 0xffaa6ef4) // 25/2
72// ALT: NSTUB(PutInNdFilter, 0xffaa8688) // 25/2
73// ALT: NSTUB(PutInNdFilter, 0xffaa8688) // 25/2
74// ALT: NSTUB(PutInNdFilter, 0xffaa86d0) // 25/2
75// ALT: NSTUB(PutInNdFilter, 0xffaa86d0) // 25/2
76// Best match: 94%
77NSTUB(PutOutNdFilter, 0xffaa6f3c)
78// ALT: NSTUB(PutOutNdFilter, 0xffaa6f3c) // 16/1
79// ERROR: Read is not found!
80NSTUB(RefreshPhysicalScreen, 0xff998640)
[517]81// Best match: 52%
82NSTUB(Remove, 0xff8d2698)
83NSTUB(RenameFile_Fut, 0xff86f900)
[515]84// Best match: 96%
85NSTUB(SetAutoShutdownTime, 0xff98314c)
[826]86// Best match: 73%
87NSTUB(SetCurrentCaptureModeType, 0xff9aea98)
88// Best match: 87%
89NSTUB(SetLogicalEventActive, 0xff9816f4)
[515]90// Best match: 66%
91NSTUB(SetParameterData, 0xff987d40)
92// ERROR: SetPropertyCase is not found!
93NSTUB(SleepTask, 0xff8221fc)
94// ALT: NSTUB(SleepTask, 0xff8222b0) // 31/0
95NSTUB(TakeSemaphore, 0xff821b6c)
[679]96NSTUB(TurnOffBackLight, 0xff9cbc64)
97NSTUB(TurnOnBackLight, 0xff9cbc38)
[515]98// Best match: 96%
99NSTUB(UnlockMainPower, 0xff983308)
100NSTUB(Unmount_FileSystem, 0xff876060)
101// ERROR: UnsetZoomForMovie is not found!
102// Best match: 96%
103NSTUB(UpdateMBROnFlash, 0xff87620c)
104// ERROR: VbattGet is not found!
105// ERROR: Write is not found!
106NSTUB(_log, 0xffae084c)
107// ALT: NSTUB(_log, 0xffae084c) // 27/0
108NSTUB(_log10, 0xffae0ef4)
109// ALT: NSTUB(_log10, 0xffae0ef4) // 27/0
110NSTUB(_pow, 0xffae13e4)
111// ALT: NSTUB(_pow, 0xffae13e4) // 25/0
112NSTUB(_sqrt, 0xffae5730)
113// ALT: NSTUB(_sqrt, 0xffae5730) // 24/0
114NSTUB(chdir, 0xffaf498c)
115// ALT: NSTUB(chdir, 0xffaf498c) // 27/0
116NSTUB(close, 0xffaf42cc)
117NSTUB(closedir, 0xffaf026c)
[517]118NSTUB(errnoOfTaskGet, 0xffaf0a38)
[515]119// ERROR: free is not found!
120NSTUB(ints_disable, 0xff81e254)
121NSTUB(ints_enable, 0xff81e260)
122NSTUB(ioctl, 0xffaf440c)
123NSTUB(iosDevAdd, 0xffaf54ec)
[713]124NSTUB(iosDevDelete, 0xffaf54c4)
[517]125NSTUB(iosDevFind, 0xffaf5478)
[515]126NSTUB(iosDrvInstall, 0xffaf57b0)
127NSTUB(isalpha, 0xffaea1e0)
128NSTUB(isdigit, 0xffaea210)
129NSTUB(islower, 0xffaea240)
[606]130NSTUB(ispunct, 0xffaea270)
[515]131NSTUB(isspace, 0xffaea288)
132NSTUB(isupper, 0xffaea2a0)
[606]133NSTUB(isxdigit, 0xffaea2b8)
[515]134// ERROR: kbd_p1_f is not found!
135// ERROR: kbd_p1_f_cont is not found!
136// ERROR: kbd_p2_f is not found!
137// Best match: 83%
138NSTUB(kbd_pwr_off, 0xff82b0d4)
139// ALT: NSTUB(kbd_pwr_off, 0xff82b0f0) // 5/1
140// Best match: 55%
141NSTUB(kbd_pwr_on, 0xff94003c)
142// ALT: NSTUB(kbd_pwr_on, 0xff940068) // 5/4
143// ERROR: kbd_read_keys_r2 is not found!
144// Best match: 93%
145NSTUB(localtime, 0xffaeea60)
146NSTUB(lseek, 0xffaf4410)
147// Best match: 53%
148NSTUB(malloc, 0xffaf730c)
149// ALT: NSTUB(malloc, 0xffaf730c) // 15/13
[606]150NSTUB(memchr, 0xffaede0c)
[515]151NSTUB(memcmp, 0xffaede40)
152// ALT: NSTUB(memcmp, 0xffafc228) // 9/0
153NSTUB(memcpy, 0xffaede7c)
154NSTUB(memset, 0xffaedef4)
155// Best match: 61%
156NSTUB(mkdir, 0xff877288)
157// ALT: NSTUB(mkdir, 0xff877348) // 19/12
[517]158NSTUB(mktime, 0xffaeec28)
[515]159NSTUB(open, 0xffaf4910)
160NSTUB(opendir, 0xffaf02a0)
161NSTUB(qsort, 0xffaed6a0)
162NSTUB(rand, 0xffaed6c4)
163// ALT: NSTUB(rand, 0xffaed6c4) // 8/0
164NSTUB(read, 0xffaf432c)
165NSTUB(readdir, 0xffaf0238)
166NSTUB(rename, 0xffaf4918)
167// ALT: NSTUB(rename, 0xffaf4918) // 26/0
168NSTUB(rewinddir, 0xffaf0260)
169NSTUB(srand, 0xffaed6e8)
170// ALT: NSTUB(srand, 0xffaed6e8) // 4/0
171NSTUB(stat, 0xffaf0334)
172NSTUB(strcat, 0xffaedf14)
173NSTUB(strchr, 0xffaedf40)
174NSTUB(strcmp, 0xffaedf64)
175NSTUB(strcpy, 0xffaee0f8)
[517]176NSTUB(strftime, 0xffaef780)
[515]177NSTUB(strlen, 0xffaee25c)
178NSTUB(strncmp, 0xffaee2c0)
179NSTUB(strncpy, 0xffaee304)
180// ALT: NSTUB(strncpy, 0xffaee304) // 24/0
181NSTUB(strpbrk, 0xffaee34c)
182NSTUB(strrchr, 0xffaee388)
183// ALT: NSTUB(strrchr, 0xffaee388) // 8/0
184NSTUB(strtol, 0xffaedadc)
185NSTUB(taskCreateHookAdd, 0xffafa98c)
186NSTUB(taskDeleteHookAdd, 0xffafa8c8)
187// Best match: 82%
188NSTUB(taskIdListGet, 0xffb02470)
189NSTUB(taskLock, 0xffb02b2c)
190NSTUB(taskName, 0xffb02368)
191NSTUB(taskResume, 0xffb0274c)
192NSTUB(taskSuspend, 0xffb02578)
193NSTUB(taskUnlock, 0xffb02bd4)
194NSTUB(time, 0xffaef7ac)
195// ALT: NSTUB(time, 0xffaef7ac) // 25/0
[606]196NSTUB(tolower, 0xffaea2d0)
197NSTUB(toupper, 0xffaea2e0)
[515]198NSTUB(utime, 0xffaf03c8)
199// ALT: NSTUB(utime, 0xffaf03c8) // 26/0
200NSTUB(vsprintf, 0xffaf1b8c)
201NSTUB(write, 0xffaf439c)
Note: See TracBrowser for help on using the repository browser.