| 1 | #include "stubs_asm.h" |
|---|
| 2 | |
|---|
| 3 | NHSTUB(SleepTask ,0xFF82AB58) |
|---|
| 4 | NHSTUB(CreateTask ,0xFF81B8FC) |
|---|
| 5 | NHSTUB(ExitTask ,0xFF81BB8C) |
|---|
| 6 | NHSTUB(AllocateMemory ,0xFFA410A8) |
|---|
| 7 | |
|---|
| 8 | // Look over all these again, some point to a B sub_.... so that's unnecessary. |
|---|
| 9 | NHSTUB(ExecuteEventProcedure ,0xFF81BE9C) |
|---|
| 10 | NHSTUB(FreeMemory ,0xFFA41094) |
|---|
| 11 | NHSTUB(GetCurrentTargetDistance ,0xFF9511A4) |
|---|
| 12 | NHSTUB(GetSystemTime ,0xFFA411A4) |
|---|
| 13 | NHSTUB(ints_disable ,0xFF81058C) // Actually identified as IRQdisable by signatures |
|---|
| 14 | NHSTUB(ints_enable ,0xFF8105B4) // Actually identified as IRQenable by signatures |
|---|
| 15 | NHSTUB(memcmp ,0xFF81E664) |
|---|
| 16 | NHSTUB(memcpy ,0xFF8B3200) |
|---|
| 17 | NHSTUB(memset ,0xFFA64B94) |
|---|
| 18 | NHSTUB(Close ,0xFF825CC4) |
|---|
| 19 | NHSTUB(Open ,0xFF825C9C) |
|---|
| 20 | NHSTUB(Read ,0xFF825D6C) |
|---|
| 21 | NHSTUB(Write ,0xFF825D70) |
|---|
| 22 | NHSTUB(Lseek ,0xFF825ECC) |
|---|
| 23 | NHSTUB(strcmp ,0xFF81E5FC) |
|---|
| 24 | NHSTUB(strcpy ,0xFF81E5A8) |
|---|
| 25 | NHSTUB(strlen ,0xFF81E640) |
|---|
| 26 | NHSTUB(TakeSemaphore ,0xFF81B798) |
|---|
| 27 | NHSTUB(vsprintf ,0xFF81E528) // first sub called in FADBGPrintf |
|---|
| 28 | NHSTUB(GetFocusLensSubjectDistance ,0xFF952444) // returns 0. What's wrong? |
|---|
| 29 | NHSTUB(GetZoomLensCurrentPoint ,0xFF957CBC) |
|---|
| 30 | NHSTUB(GetZoomLensCurrentPosition ,0xFF957CC0) |
|---|
| 31 | NHSTUB(RefreshPhysicalScreen ,0xFF8B2D90) |
|---|
| 32 | NHSTUB(GetPropertyCase ,0xFF87479C) // PT_GetPropertyCaseString |
|---|
| 33 | NHSTUB(SetPropertyCase ,0xFF8746AC) // PT_SetPropertyCaseString |
|---|
| 34 | NHSTUB(VbattGet ,0xFF822204) |
|---|
| 35 | NHSTUB(GetParameterData ,0xFF972F60) // Guess but it seems correct. IDA incorrectly identified sub_FF97245C as GetParameterData |
|---|
| 36 | NHSTUB(SetParameterData ,0xFF972ED4) // Idem, with different address though :) |
|---|
| 37 | NHSTUB(IsStrobeChargeCompleted ,0xFF8DB534) |
|---|
| 38 | |
|---|
| 39 | |
|---|
| 40 | // these (open, write, close) are educated guesses but not 100% certain |
|---|
| 41 | NHSTUB(open ,0xFF819F68) |
|---|
| 42 | NHSTUB(write ,0xFF81A260) |
|---|
| 43 | NHSTUB(close ,0xFF81A018) |
|---|
| 44 | NHSTUB(lseek ,0xFF825E04) // Lseek_0 |
|---|
| 45 | NHSTUB(read ,0xFF81A200) // Read |
|---|
| 46 | |
|---|
| 47 | NHSTUB(Fopen_Fut ,0xFF825668) |
|---|
| 48 | NHSTUB(Fwrite_Fut ,0xFF8257A8) |
|---|
| 49 | NHSTUB(Fclose_Fut ,0xFF8256A8) |
|---|
| 50 | NHSTUB(Fread_Fut ,0xFF825754) |
|---|
| 51 | NHSTUB(Fseek_Fut ,0xFF825848) |
|---|
| 52 | |
|---|
| 53 | NHSTUB(Remove ,0xFF825D0C) |
|---|
| 54 | NHSTUB(rename ,0xFF825D98) |
|---|
| 55 | |
|---|
| 56 | NHSTUB(stat ,0xFF825ED0) |
|---|
| 57 | NHSTUB(openfastdir ,0xFFA2786C) |
|---|
| 58 | NHSTUB(readfastdir ,0xFFA27900) |
|---|
| 59 | NHSTUB(closefastdir ,0xFFA279D0) |
|---|
| 60 | |
|---|
| 61 | NHSTUB(opendir ,0xFFA2786C) // OpenFastDir |
|---|
| 62 | NHSTUB(ReadFastDir ,0xFFA27900) |
|---|
| 63 | NHSTUB(closedir ,0xFFA279D0) // CloseFastDir |
|---|
| 64 | NHSTUB(mkdir ,0xFF826068) |
|---|
| 65 | |
|---|
| 66 | NHSTUB(GetDrive_ClusterSize ,0xFF856D08) |
|---|
| 67 | NHSTUB(GetDrive_TotalClusters ,0xFF856D3C) |
|---|
| 68 | NHSTUB(GetDrive_FreeClusters ,0xFF856DA8) |
|---|
| 69 | |
|---|
| 70 | NHSTUB(LockMainPower ,0xFF877D30) |
|---|
| 71 | NHSTUB(UnlockMainPower ,0xFF877C8C) |
|---|
| 72 | |
|---|
| 73 | NHSTUB(GetCurrentAvValue ,0xFF952D94) |
|---|
| 74 | NHSTUB(MoveFocusLensToDistance ,0xFFA0D41C) |
|---|
| 75 | NHSTUB(MoveZoomLensWithPoint ,0xFF957B34) |
|---|
| 76 | NHSTUB(SetZoomActuatorSpeedPercent ,0xFF957C70) |
|---|
| 77 | |
|---|
| 78 | NHSTUB(malloc ,0xFF813A2C) |
|---|
| 79 | NHSTUB(free ,0xFF813B00) |
|---|
| 80 | NHSTUB(FreeUncacheableMemory ,0xFF82AD08) |
|---|
| 81 | NHSTUB(AllocateUncacheableMemory ,0xFF82ACD4) |
|---|
| 82 | |
|---|
| 83 | NHSTUB(rand ,0xFF81E76C) |
|---|
| 84 | NHSTUB(srand ,0xFF81BCEC) |
|---|
| 85 | NHSTUB(_log10 ,0xFFA92E10) |
|---|
| 86 | NHSTUB(_pow ,0xFFA92F80) |
|---|
| 87 | NHSTUB(_log ,0xFFA93ECC) |
|---|
| 88 | NHSTUB(_sqrt ,0xFFA95234) |
|---|
| 89 | |
|---|
| 90 | NHSTUB(qsort ,0xFF9CA224) |
|---|
| 91 | |
|---|
| 92 | NHSTUB(strstr ,0xFF9C9D44) |
|---|
| 93 | NHSTUB(strncpy ,0xFF81E5C0) |
|---|
| 94 | NHSTUB(strrchr ,0xFF8B31D8) |
|---|
| 95 | NHSTUB(strncmp ,0xFF8B3168) |
|---|
| 96 | NHSTUB(strchr ,0xFF8B31B4) |
|---|
| 97 | NHSTUB(strcat ,0xFF8B312C) |
|---|
| 98 | NHSTUB(strtol ,0xFF831CE4) |
|---|
| 99 | |
|---|
| 100 | NHSTUB(LocalTime ,0xFF870604) |
|---|
| 101 | |
|---|
| 102 | NHSTUB(UpdateMBROnFlash ,0xFF856AD0) |
|---|
| 103 | |
|---|
| 104 | NHSTUB(UniqueLedOn ,0xFF913AF4) |
|---|
| 105 | NHSTUB(UniqueLedOff ,0xFF913B7C) |
|---|
| 106 | |
|---|
| 107 | NHSTUB(SetAutoShutdownTime ,0xFF877E90) |
|---|
| 108 | |
|---|
| 109 | |
|---|
| 110 | NHSTUB(phySw ,0xFF8235A0) |
|---|
| 111 | NHSTUB(phySw_p1 ,0xFF8239A4) // called from phySw |
|---|
| 112 | NHSTUB(phySw_p2 ,0xFF823244) // called when phySw_p1 returns 1 |
|---|
| 113 | NHSTUB(NewTaskShell ,0xFF874268) // starts new shell on Console. GUI output? |
|---|
| 114 | |
|---|
| 115 | NHSTUB(kbd_read_keys ,0xFF8238C8) // Called in kbd.c (originally called from phySw_p1, line 3) |
|---|
| 116 | NHSTUB(kbd_p1_f ,0xFF8239A4) // is phySw_p1 |
|---|
| 117 | NHSTUB(kbd_p1_f_cont ,0xFF8239B0) // after call to kbd_read_keys |
|---|
| 118 | NHSTUB(kbd_p2_f ,0xFF823244) // is phySw_p2 |
|---|
| 119 | NHSTUB(kbd_read_keys_r2 ,0xFF84D3E4) // called from kbd_read_keys |
|---|
| 120 | |
|---|
| 121 | |
|---|
| 122 | |
|---|
| 123 | // Possibly useful but not yet necessary |
|---|
| 124 | NHSTUB(GetCCDTemperature ,0xFF8504F4) // Unknown units, doesn't really seem to respond |
|---|
| 125 | NHSTUB(GetBatteryTemperature ,0xFF850564) // Unknown units, doesn't really seem to respond to frozen batteries |
|---|
| 126 | NHSTUB(GetOpticalTemperature ,0xFF8505D4) // Unknown units, doesn't really seem to respond |
|---|
| 127 | NHSTUB(OpenMShutter ,0xFFA0BE08) |
|---|
| 128 | NHSTUB(CloseMShutter ,0xFFA0BDD0) |
|---|
| 129 | NHSTUB(PutOutNdFilter ,0xFFA0BD38) // Doesn't really work on S5, sometimes crashes camera |
|---|
| 130 | NHSTUB(PutInNdFilter ,0xFFA0BD00) // Doesn't really work on S5, sometimes crashes camera |
|---|
| 131 | NHSTUB(SSAPI_ExtStrobeCharged ,0xFF8287EC) // Functionality unknown. Implied effect implemented in IsStrobeChargeCompleted |
|---|
| 132 | |
|---|
| 133 | |
|---|
| 134 | |
|---|
| 135 | /////////// |
|---|
| 136 | // FOLLOWING FUNCTION NOT FOUND, points to nullsub. Function does not exist |
|---|
| 137 | // where it is to be expected according to A720 firmware. Copied it from A720 |
|---|
| 138 | // and hooked in boot.c |
|---|
| 139 | //NHSTUB(time, 0xFF81096C) |
|---|
| 140 | |
|---|
| 141 | |
|---|
| 142 | /////////// |
|---|
| 143 | // The following functions were not found in the S5 firmware. They do not |
|---|
| 144 | // seem to be required but for some reason someone made this list. |
|---|
| 145 | // Point to nullsub for immediate return |
|---|
| 146 | // nullsub_1: 0xFF81096C (S5) |
|---|
| 147 | NSTUB(CreatePhysicalVram, 0xFF81096C) |
|---|
| 148 | NSTUB(CreateTaskStrict, 0xFF81096C) |
|---|
| 149 | NSTUB(DisableDispatch, 0xFF81096C) |
|---|
| 150 | NSTUB(DisplayImagePhysicalScreen, 0xFF81096C) |
|---|
| 151 | NSTUB(EnableDispatch, 0xFF81096C) |
|---|
| 152 | NSTUB(ioctl, 0xFF81096C) |
|---|
| 153 | NSTUB(iosDevAdd, 0xFF81096C) |
|---|
| 154 | NSTUB(iosDrvInstall, 0xFF81096C) |
|---|
| 155 | NSTUB(isalpha, 0xFF81096C) |
|---|
| 156 | NSTUB(isdigit, 0xFF81096C) |
|---|
| 157 | NSTUB(islower, 0xFF81096C) |
|---|
| 158 | NSTUB(isspace, 0xFF81096C) |
|---|
| 159 | NSTUB(isupper, 0xFF81096C) |
|---|
| 160 | NSTUB(localtime, 0xFF81096C) |
|---|
| 161 | NSTUB(MakeDirectory, 0xFF81096C) |
|---|
| 162 | NSTUB(memPartAlloc, 0xFF81096C) |
|---|
| 163 | NSTUB(memPartFindMax, 0xFF81096C) |
|---|
| 164 | NSTUB(Mount_FileSystem, 0xFF81096C) |
|---|
| 165 | NSTUB(PhySw_testgpio, 0xFF81096C) |
|---|
| 166 | NSTUB(ProtectFile, 0xFF81096C) |
|---|
| 167 | NSTUB(readdir, 0xFF81096C) |
|---|
| 168 | NSTUB(rewinddir, 0xFF81096C) |
|---|
| 169 | NSTUB(taskCreateHookAdd, 0xFF81096C) |
|---|
| 170 | NSTUB(taskDeleteHookAdd, 0xFF81096C) |
|---|
| 171 | NSTUB(taskIdListGet, 0xFF81096C) |
|---|
| 172 | NSTUB(taskLock, 0xFF81096C) |
|---|
| 173 | NSTUB(taskName, 0xFF81096C) |
|---|
| 174 | NSTUB(taskResume, 0xFF81096C) |
|---|
| 175 | NSTUB(taskSuspend, 0xFF81096C) |
|---|
| 176 | NSTUB(taskUnlock, 0xFF81096C) |
|---|
| 177 | NSTUB(utime, 0xFF81096C) |
|---|
| 178 | NSTUB(Unmount_FileSystem, 0xFF81096C) |
|---|
| 179 | NSTUB(UIFS_WriteFirmInfoToFile, 0xFF81096C) |
|---|
| 180 | NSTUB(kbd_pwr_off, 0xFF81096C) // Does not even exist, I think |
|---|
| 181 | NSTUB(kbd_pwr_on, 0xFF81096C) // Does not even exist, I think |
|---|
| 182 | NHSTUB(PT_PlaySound, 0xFF86B4DC) |
|---|
| 183 | |
|---|
| 184 | |
|---|
| 185 | |
|---|
| 186 | NHSTUB(EnterToCompensationEVF, 0xff827fa8) |
|---|
| 187 | NHSTUB(ExitFromCompensationEVF, 0xff82809c) |
|---|