| 1 | #include "stubs_asm.h"
|
|---|
| 2 | NHSTUB(GetBatteryTemperature, 0xFFA48900) //ok
|
|---|
| 3 | NHSTUB(GetCCDTemperature, 0xFFA488EC) //ok
|
|---|
| 4 | NHSTUB(GetOpticalTemperature, 0xFFA488D8) //ok but returns -10deg all the time
|
|---|
| 5 |
|
|---|
| 6 | NHSTUB(GetDrive_ClusterSize, 0xFF8707EC) //OK
|
|---|
| 7 | NHSTUB(GetDrive_TotalClusters, 0xFF87082C) //OK
|
|---|
| 8 | NHSTUB(GetDrive_FreeClusters, 0xFF87086C) //OK
|
|---|
| 9 |
|
|---|
| 10 | NHSTUB(iosInit, 0xFFAC3B64) //should be ok
|
|---|
| 11 | NHSTUB(iosDevFind, 0xFFAC3A60) //should be ok
|
|---|
| 12 | NSTUB(GetFocusLensSubjectDistanceFromLens, 0xFFA600D8) //should be ok
|
|---|
| 13 | NHSTUB(SetZoomActuatorSpeedPercent, 0xFF811A38) //just a "RET" from any random address. should work
|
|---|
| 14 | NHSTUB(MoveFocusLensToDistance, 0xFFA6B0EC) //should be ok
|
|---|
| 15 | NHSTUB(GetZoomLensCurrentPoint, 0xFFA57CCC) //should be ok
|
|---|
| 16 | NHSTUB(GetZoomLensCurrentPosition, 0xFFA57CE0) //should be ok
|
|---|
| 17 | NHSTUB(SetAutoShutdownTime, 0xFF95608C) //should be ok
|
|---|
| 18 |
|
|---|
| 19 | NHSTUB(GetFocusLensSubjectDistance, 0xFFA5FA64) //ok, getting values that make sense :)
|
|---|
| 20 | NHSTUB(GetCurrentAvValue, 0xFFA6AEB4) //getting values, should be ok
|
|---|
| 21 |
|
|---|
| 22 |
|
|---|
| 23 | NHSTUB(Open, 0xFF87167C) //OK
|
|---|
| 24 | NHSTUB(Read, 0xFF8716E8) //OK
|
|---|
| 25 | NHSTUB(Write, 0xFF8716F4) //OK
|
|---|
| 26 | NHSTUB(Close, 0xFF871688) //OK
|
|---|
| 27 | NHSTUB(Remove, 0xFF871694) //SHOULD BE OK
|
|---|
| 28 |
|
|---|
| 29 | NHSTUB(Mount_FileSystem, 0xFF8702E4) //ok
|
|---|
| 30 | NHSTUB(VbattGet, 0xFFA5BCC4) //should be ok
|
|---|
| 31 |
|
|---|
| 32 | /**********************************************************/
|
|---|
| 33 | //as sd300 doesnt seem to have uniqueled stuff we do it our own way
|
|---|
| 34 | //see ixus40_sd300(lib.c for details
|
|---|
| 35 | //we need the af set/get methods:
|
|---|
| 36 | NHSTUB(SetAFBeamBrightness, 0xFFA62C34)
|
|---|
| 37 | NHSTUB(SetAFBeamOff, 0xFFA62CB0);
|
|---|
| 38 | //and uniqueled is set to NULL dummy
|
|---|
| 39 | NHSTUB(UniqueLedOn, 0xFFAAAED0)
|
|---|
| 40 | NHSTUB(UniqueLedOff, 0xFFAAAED0)
|
|---|
| 41 | /**********************************************************/
|
|---|
| 42 |
|
|---|
| 43 | //looks like there is no strobechargecompletet flag ?!
|
|---|
| 44 | //do it in my own way. found some code to get the eventflag
|
|---|
| 45 | //at 0xFF941A14. copied the call there in my own c-code
|
|---|
| 46 | //looking at sd400 asm showed that flash info is (val>>20)&1
|
|---|
| 47 | //seems correct here as well... see ixus40.../lib.c
|
|---|
| 48 | NHSTUB(IsStrobeChargeCompleted, IsStrobeChargeCompleted_my)
|
|---|
| 49 | NHSTUB(sub_FF821D04, 0xFF821D04)
|
|---|
| 50 |
|
|---|
| 51 | //test to use this for kbd action
|
|---|
| 52 | NHSTUB(semBCreate, 0xFFACF180)
|
|---|
| 53 | NHSTUB(GiveSemaphore, 0xFF823144)
|
|---|
| 54 |
|
|---|
| 55 | //should be ok but sd300 doesnt have all cases :(
|
|---|
| 56 | //NHSTUB(GetPropertyCase, 0xFF82CB54)
|
|---|
| 57 | NHSTUB(GetPropertyCase, GetPropertyCase_my)
|
|---|
| 58 | NHSTUB(GetPropertyCase_orig, 0xFF82CB54)
|
|---|
| 59 | NHSTUB(SetPropertyCase, SetPropertyCase_my)
|
|---|
| 60 | NHSTUB(SetPropertyCase_orig, 0xFF82CAD0)
|
|---|
| 61 |
|
|---|
| 62 |
|
|---|
| 63 | //adresses are ok but sd300 pdata differs, | 0x4000 lets it return 0 all the time,
|
|---|
| 64 | //without it you get crashes at some data addr :(
|
|---|
| 65 | //NHSTUB(GetParameterData, 0xFF95A55C) //should be ok!
|
|---|
| 66 | NHSTUB(GetParameterData, GetParameterData_my) //hack to work around file number issue
|
|---|
| 67 | NHSTUB(GetParameterData_orig, 0xFF95A55C) //should be ok!
|
|---|
| 68 | NHSTUB(SetParameterData, 0xFF95A49C)
|
|---|
| 69 |
|
|---|
| 70 | //custom stuff
|
|---|
| 71 | NHSTUB(ShowCameraLog, 0xFF81A1A8) //ok
|
|---|
| 72 | NHSTUB(ShowAllTaskInfo, 0xFFA9E8E4)
|
|---|
| 73 | NHSTUB(SetTimerWhen, 0xFF815828) //ok
|
|---|
| 74 |
|
|---|
| 75 | //ovveride autodetect for LockMainPower
|
|---|
| 76 | NHSTUB(LockMainPower, 0xff95619C) //OK!
|
|---|
| 77 | NHSTUB(UnlockMainPower, 0xff956258) //OK!
|
|---|
| 78 | //NHSTUB(LockMainPower, dummy_nop)
|
|---|
| 79 | //NHSTUB(UnlockMainPower, dummy_nop)
|
|---|
| 80 | //Manually entered
|
|---|
| 81 | NHSTUB(AllocateMemory, 0xFF81F56C)
|
|---|
| 82 | NHSTUB(FreeMemory, 0xFF81F578)
|
|---|
| 83 | NHSTUB(ExecuteEventProcedure, 0xFF81756C) //checked
|
|---|
| 84 |
|
|---|
| 85 | NHSTUB(CreatePhysicalVram, 0xFF927B0C)
|
|---|
| 86 | NHSTUB(DisplayImagePhysicalScreen, 0xFF927098)
|
|---|
| 87 | NHSTUB(FreeUncacheableMemory, 0xFF8152BC)
|
|---|
| 88 |
|
|---|
| 89 | NHSTUB(GetCurrentMachineTime, 0xFF81FEFC)
|
|---|
| 90 | NHSTUB(free, 0xFFAC5900)
|
|---|
| 91 |
|
|---|
| 92 | //Keyboard stuff - Check it, not very similar to SD500
|
|---|
| 93 | NHSTUB(kbd_p1_f_cont, 0xFF830AB4)
|
|---|
| 94 | NHSTUB(PhySw_testgpio, 0xFF82FA8C)
|
|---|
| 95 |
|
|---|
| 96 |
|
|---|
| 97 |
|
|---|
| 98 | //null stub
|
|---|
| 99 |
|
|---|
| 100 | NHSTUB(kbd_p1_f, 0xFFAAAED0)
|
|---|
| 101 | NHSTUB(kbd_p2_f, 0xFFAAAED0)
|
|---|
| 102 | NHSTUB(kbd_read_keys_r2, 0xFFAAAED0)
|
|---|
| 103 |
|
|---|
| 104 | //from sd400
|
|---|
| 105 |
|
|---|
| 106 | //sd300 doesnt seem to have this feature !
|
|---|
| 107 | NHSTUB(UnsetZoomForMovie, 0xFFAAAED0) //00xFF9A4D1C)
|
|---|
| 108 |
|
|---|
| 109 | NHSTUB(PT_PlaySound, 0xFF94EB3C)
|
|---|
| 110 |
|
|---|
| 111 |
|
|---|
| 112 | NHSTUB(EnterToCompensationEVF, 0xff93e1e0)
|
|---|
| 113 | NHSTUB(ExitFromCompensationEVF, 0xff93e220)
|
|---|
| 114 |
|
|---|