| 1 | #include "stubs_asm.h" |
|---|
| 2 | |
|---|
| 3 | NHSTUB(SleepTask ,0xFF82AC20) |
|---|
| 4 | NHSTUB(CreateTask ,0xFF81B9C4) |
|---|
| 5 | NHSTUB(ExitTask ,0xFF81BC54) |
|---|
| 6 | NHSTUB(AllocateMemory ,0xFFA41170) |
|---|
| 7 | |
|---|
| 8 | // Look over all these again, some point to a B sub_.... so that's unnecessary. |
|---|
| 9 | NHSTUB(ExecuteEventProcedure ,0xFF81BF64) |
|---|
| 10 | NHSTUB(FreeMemory ,0xFFA4115C) |
|---|
| 11 | NHSTUB(GetCurrentTargetDistance ,0xFF95126C) |
|---|
| 12 | NHSTUB(GetSystemTime ,0xFFA4126C) |
|---|
| 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 ,0xFF81E72C) |
|---|
| 16 | NHSTUB(memcpy ,0xFF8B32C8) |
|---|
| 17 | NHSTUB(memset ,0xFFA64C5C) |
|---|
| 18 | NHSTUB(Close ,0xFF825D8C) |
|---|
| 19 | NHSTUB(Open ,0xFF825D64) |
|---|
| 20 | NHSTUB(Read ,0xFF825E34) |
|---|
| 21 | NHSTUB(Write ,0xFF825E38) |
|---|
| 22 | NHSTUB(Lseek ,0xFF825F94) |
|---|
| 23 | NHSTUB(strcmp ,0xFF81E6C4) |
|---|
| 24 | NHSTUB(strcpy ,0xFF81E670) |
|---|
| 25 | NHSTUB(strlen ,0xFF81E708) |
|---|
| 26 | NHSTUB(TakeSemaphore ,0xFF81B860) |
|---|
| 27 | NHSTUB(vsprintf ,0xFF81E5F0) // first sub called in FADBGPrintf |
|---|
| 28 | NHSTUB(GetFocusLensSubjectDistance ,0xFF95250C) // returns 0. What's wrong? |
|---|
| 29 | NHSTUB(GetZoomLensCurrentPoint ,0xFF957D84) |
|---|
| 30 | NHSTUB(GetZoomLensCurrentPosition ,0xFF957D88) |
|---|
| 31 | NHSTUB(RefreshPhysicalScreen ,0xFF8B2E58) |
|---|
| 32 | NHSTUB(GetPropertyCase ,0xFF874864) // PT_GetPropertyCaseString |
|---|
| 33 | NHSTUB(SetPropertyCase ,0xFF874774) // PT_SetPropertyCaseString |
|---|
| 34 | NHSTUB(VbattGet ,0xFF8222CC) |
|---|
| 35 | NHSTUB(GetParameterData ,0xFF973028) // Guess but it seems correct. IDA incorrectly identified sub_FF972524 as GetParameterData |
|---|
| 36 | NHSTUB(SetParameterData ,0xFF972F9C) // Idem, with different address though :) |
|---|
| 37 | NHSTUB(IsStrobeChargeCompleted ,0xFF8DB5FC) |
|---|
| 38 | |
|---|
| 39 | |
|---|
| 40 | // these (open, write, close) are educated guesses but not 100% certain |
|---|
| 41 | NHSTUB(open ,0xFF81A030) |
|---|
| 42 | NHSTUB(write ,0xFF81A328) |
|---|
| 43 | NHSTUB(close ,0xFF81A0E0) |
|---|
| 44 | NHSTUB(lseek ,0xFF825ECC) // Lseek_0 |
|---|
| 45 | NHSTUB(read ,0xFF81A2C8) // Read |
|---|
| 46 | |
|---|
| 47 | NHSTUB(Fopen_Fut ,0xFF825730) |
|---|
| 48 | NHSTUB(Fwrite_Fut ,0xFF825870) |
|---|
| 49 | NHSTUB(Fclose_Fut ,0xFF825770) |
|---|
| 50 | NHSTUB(Fread_Fut ,0xFF82581C) |
|---|
| 51 | NHSTUB(Fseek_Fut ,0xFF825910) |
|---|
| 52 | |
|---|
| 53 | NHSTUB(Remove ,0xFF825DD4) |
|---|
| 54 | NHSTUB(rename ,0xFF825E60) |
|---|
| 55 | |
|---|
| 56 | NHSTUB(stat ,0xFF825F98) |
|---|
| 57 | NHSTUB(openfastdir ,0xFFA27934) |
|---|
| 58 | NHSTUB(readfastdir ,0xFFA279C8) |
|---|
| 59 | NHSTUB(closefastdir ,0xFFA27A98) |
|---|
| 60 | |
|---|
| 61 | NHSTUB(opendir ,0xFFA27934) // OpenFastDir |
|---|
| 62 | NHSTUB(ReadFastDir ,0xFFA279C8) |
|---|
| 63 | NHSTUB(closedir ,0xFFA27A98) // CloseFastDir |
|---|
| 64 | NHSTUB(mkdir ,0xFF826130) |
|---|
| 65 | |
|---|
| 66 | NHSTUB(GetDrive_ClusterSize ,0xFF856DD0) |
|---|
| 67 | NHSTUB(GetDrive_TotalClusters ,0xFF856E04) |
|---|
| 68 | NHSTUB(GetDrive_FreeClusters ,0xFF856E70) |
|---|
| 69 | |
|---|
| 70 | NHSTUB(LockMainPower ,0xFF877DF8) |
|---|
| 71 | NHSTUB(UnlockMainPower ,0xFF877D54) |
|---|
| 72 | |
|---|
| 73 | NHSTUB(GetCurrentAvValue ,0xFF952E5C) |
|---|
| 74 | NHSTUB(MoveFocusLensToDistance ,0xFFA0D4E4) |
|---|
| 75 | NHSTUB(MoveZoomLensWithPoint ,0xFF957BFC) |
|---|
| 76 | NHSTUB(SetZoomActuatorSpeedPercent ,0xFF957D38) |
|---|
| 77 | |
|---|
| 78 | NHSTUB(malloc ,0xFF813A2C) |
|---|
| 79 | NHSTUB(free ,0xFF813B00) |
|---|
| 80 | NHSTUB(FreeUncacheableMemory ,0xFF82ADD0) |
|---|
| 81 | NHSTUB(AllocateUncacheableMemory ,0xFF82AD9C) |
|---|
| 82 | |
|---|
| 83 | NHSTUB(rand ,0xFF81E834) |
|---|
| 84 | NHSTUB(srand ,0xFF81BDB4) |
|---|
| 85 | NHSTUB(_log10 ,0xFFA92F04) |
|---|
| 86 | NHSTUB(_pow ,0xFFA93074) |
|---|
| 87 | NHSTUB(_log ,0xFFA93FC0) |
|---|
| 88 | NHSTUB(_sqrt ,0xFFA95328) |
|---|
| 89 | |
|---|
| 90 | NHSTUB(qsort ,0xFF9CA2EC) |
|---|
| 91 | |
|---|
| 92 | NHSTUB(strstr ,0xFF9C9E0C) |
|---|
| 93 | NHSTUB(strncpy ,0xFF81E688) |
|---|
| 94 | NHSTUB(strrchr ,0xFF8B32A0) |
|---|
| 95 | NHSTUB(strncmp ,0xFF8B3230) |
|---|
| 96 | NHSTUB(strchr ,0xFF8B327C) |
|---|
| 97 | NHSTUB(strcat ,0xFF8B31F4) |
|---|
| 98 | NHSTUB(strtol ,0xFF831DAC) |
|---|
| 99 | |
|---|
| 100 | NHSTUB(LocalTime ,0xFF8706CC) |
|---|
| 101 | |
|---|
| 102 | NHSTUB(UpdateMBROnFlash ,0xFF856B98) |
|---|
| 103 | |
|---|
| 104 | NHSTUB(UniqueLedOn ,0xFF913BBC) |
|---|
| 105 | NHSTUB(UniqueLedOff ,0xFF913C44) |
|---|
| 106 | |
|---|
| 107 | NHSTUB(SetAutoShutdownTime ,0xFF877F58) |
|---|
| 108 | |
|---|
| 109 | |
|---|
| 110 | NHSTUB(phySw ,0xFF823668) |
|---|
| 111 | NHSTUB(phySw_p1 ,0xFF823A6C) // called from phySw |
|---|
| 112 | NHSTUB(phySw_p2 ,0xFF82330C) // called when phySw_p1 returns 1 |
|---|
| 113 | NHSTUB(NewTaskShell ,0xFF874330) // starts new shell on Console. GUI output? |
|---|
| 114 | |
|---|
| 115 | NHSTUB(kbd_read_keys ,0xFF823990) // Called in kbd.c (originally called from phySw_p1, line 3) |
|---|
| 116 | NHSTUB(kbd_p1_f ,0xFF823A6C) // is phySw_p1 |
|---|
| 117 | NHSTUB(kbd_p1_f_cont ,0xFF823A78) // after call to kbd_read_keys |
|---|
| 118 | NHSTUB(kbd_p2_f ,0xFF82330C) // is phySw_p2 |
|---|
| 119 | NHSTUB(kbd_read_keys_r2 ,0xFF84D4AC) // called from kbd_read_keys |
|---|
| 120 | |
|---|
| 121 | |
|---|
| 122 | |
|---|
| 123 | // Possibly useful but not yet necessary |
|---|
| 124 | NHSTUB(GetCCDTemperature ,0xFF8505BC) // Unknown units, doesn't really seem to respond |
|---|
| 125 | NHSTUB(GetBatteryTemperature ,0xFF85062C) // Unknown units, doesn't really seem to respond to frozen batteries |
|---|
| 126 | NHSTUB(GetOpticalTemperature ,0xFF85069C) // Unknown units, doesn't really seem to respond |
|---|
| 127 | NHSTUB(OpenMShutter ,0xFFA0BED0) |
|---|
| 128 | NHSTUB(CloseMShutter ,0xFFA0BE98) |
|---|
| 129 | NHSTUB(PutOutNdFilter ,0xFFA0BE00) // Doesn't really work on S5, sometimes crashes camera |
|---|
| 130 | NHSTUB(PutInNdFilter ,0xFFA0BDC8) // Doesn't really work on S5, sometimes crashes camera |
|---|
| 131 | NHSTUB(SSAPI_ExtStrobeCharged ,0xFF8288B4) // 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, 0xFF86B5A4) |
|---|
| 183 | |
|---|
| 184 | |
|---|
| 185 | |
|---|