1 // !!! THIS FILE IS GENERATED. DO NOT EDIT. !!! 2 #include "stubs_asm.h" 3 4 // Camera info: 5 // Firmware Version 1.00K // Found @ 0xff81e41c, "1.00K" @ 0xff81e42d 6 // Firmware build timestamp: Sep 9 2004 21:13:50 7 // Canon DIGITAL IXUS 40 8 9 // Values for makefile.inc 10 // DIGIC = 20# DIGIC II 11 // PLATFORMID = 12479# (0x30bf) Found @ 0xffd7014e 12 // MAXRAMADDR = 0x01ffffff 13 // MEMISOSTART = 0x00072dc0 14 15 // Detected address ranges: 16 // ROM 0xff810000 - 0xffffffff (8323072 bytes) 17 // RAM data 0x00001900 - 0x00010460 copied from 0xffad7700 ( 60256 bytes) 18 19 // Stubs below should be checked. Stub not matched 100%, or difference found to current 'stubs_entry_2.S' 20 // Name Address Rule % Comp to stubs_entry_2.S 21 //NHSTUB(AllocateMemory ,0xff81eb24) //120 *** != 0xff81f56c 22 NHSTUB(AllocateUncacheableMemory ,0xff815288) // 1 65% 23 // ERROR: Close is not found. //--- --- *** != 0xff871688 24 // ERROR: EnterToCompensationEVF is not found. //--- --- *** != 0xff93e1e0 25 // ERROR: ExecuteEventProcedure is not found. //--- --- *** != 0xff81756c 26 // ERROR: ExitFromCompensationEVF is not found. //--- --- *** != 0xff93e220 27 //NHSTUB(FreeMemory ,0xff81eb10) //120 *** != 0xff81f578 28 // ERROR: FreeUncacheableMemory is not found. //--- --- *** != 0xff8152bc 29 // ERROR: GetFocusLensSubjectDistance is not found. //--- --- *** != 0xffa5fa64 30 // ERROR: GetFocusLensSubjectDistanceFromLens is not found. //--- --- *** != 0xffa600d8 31 // ERROR: GetParameterData is not found. //--- --- *** != 0xff95a55c 32 NHSTUB(GetSystemTime ,0xff815638) // 1 96% 33 // ALT: NHSTUB(GetSystemTime, 0xfff05c38) // 1 26/1 34 // ALT: NHSTUB(GetSystemTime, 0xfff05c38) // 2 26/1 35 //NHSTUB(GetZoomLensCurrentPoint ,0xffa52174) //120 *** != 0xffa51244 36 // ERROR: Open is not found. //--- --- *** != 0xff87167c 37 // ERROR: PT_PlaySound is not found. //--- --- *** != 0xff94eb3c 38 NHSTUB(PutInNdFilter ,0xffa693e0) // 1 92% 39 // ALT: NHSTUB(PutInNdFilter, 0xffa6aa90) // 1 25/2 40 // ALT: NHSTUB(PutInNdFilter, 0xffa6aad8) // 1 25/2 41 // ALT: NHSTUB(PutInNdFilter, 0xffa6aa90) // 2 25/2 42 // ALT: NHSTUB(PutInNdFilter, 0xffa6aad8) // 2 25/2 43 NHSTUB(PutOutNdFilter ,0xffa69428) // 1 94% 44 // ERROR: Read is not found. //--- --- *** != 0xff8716e8 45 //NHSTUB(Remove ,0xff8c0700) // 3 52% *** != 0xff871694 46 //NHSTUB(Restart ,0xff824f50) // 1 80% *** != 0xff824f58 47 // ERROR: SetCurrentCaptureModeType is not found. //--- --- *** != 0x00000000 48 NHSTUB(SetFileAttributes ,0xff8717e0) // 1 58% 49 // ALT: NHSTUB(SetFileAttributes, 0xfff1bc4c) // 1 17/12 50 //NHSTUB(SetLogicalEventActive ,0xff955bbc) // 3 62% *** != 0x00000000 51 // ERROR: SetParameterData is not found. //--- --- *** != 0xff95a49c 52 // ERROR: SetScriptMode is not found. //--- --- *** != 0xff955c24 53 NHSTUB(UpdateMBROnFlash ,0xff8704d0) // 1 96% 54 // ERROR: VbattGet is not found. //--- --- *** != 0xffa5bcc4 55 // ERROR: Write is not found. //--- --- *** != 0xff8716f4 56 // ERROR: WriteSDCard is not found. //--- --- *** != 0x00000000 57 NHSTUB(add_ptp_handler ,0xffa13b10) // 1 96% 58 // ERROR: free is not found. //--- --- *** != 0xffac5900 59 // ERROR: kbd_p1_f is not found. //--- --- *** != 0x00000000 60 // ERROR: kbd_p1_f_cont is not found. //--- --- *** != 0xff830ab4 61 // ERROR: kbd_p2_f is not found. //--- --- *** != 0x00000000 62 // ERROR: kbd_read_keys_r2 is not found. //--- --- *** != 0x00000000 63 //NHSTUB(kbd_pwr_off ,0xffa41bf0) // 1 83% *** != 0xffa417b0 64 // ALT: NHSTUB(kbd_pwr_off, 0xffa41c0c) // 1 5/1 65 // ALT: NHSTUB(kbd_pwr_off, 0xfff30af0) // 1 5/1 66 // ALT: NHSTUB(kbd_pwr_off, 0xfff30b0c) // 1 5/1 67 // ALT: NHSTUB(kbd_pwr_off, 0xfff30ff8) // 1 5/1 68 // ALT: NHSTUB(kbd_pwr_off, 0xfff31014) // 1 5/1 69 // ALT: NHSTUB(kbd_pwr_off, 0xffa417b0) // 3 5/1 70 // ALT: NHSTUB(kbd_pwr_off, 0xffa417cc) // 3 5/1 71 // ALT: NHSTUB(kbd_pwr_off, 0xffa4189c) // 3 5/1 72 // ALT: NHSTUB(kbd_pwr_off, 0xffa418b8) // 3 5/1 73 // ALT: NHSTUB(kbd_pwr_off, 0xffa41998) // 3 5/1 74 // ALT: NHSTUB(kbd_pwr_off, 0xffa419b4) // 3 5/1 75 // ALT: NHSTUB(kbd_pwr_off, 0xfff30bb8) // 3 5/1 76 // ALT: NHSTUB(kbd_pwr_off, 0xfff30bd4) // 3 5/1 77 // ALT: NHSTUB(kbd_pwr_off, 0xfff30ca4) // 3 5/1 78 // ALT: NHSTUB(kbd_pwr_off, 0xfff30cc0) // 3 5/1 79 // ALT: NHSTUB(kbd_pwr_off, 0xfff30da0) // 3 5/1 80 // ALT: NHSTUB(kbd_pwr_off, 0xfff30dbc) // 3 5/1 81 NHSTUB(kbd_pwr_on ,0xffa575d0) // 1 55% 82 // ALT: NHSTUB(kbd_pwr_on, 0xffa575fc) // 1 5/4 83 NHSTUB(malloc ,0xffac58f4) // 1 53% 84 // ALT: NHSTUB(malloc, 0xfff5997c) // 1 15/13 85 // ALT: NHSTUB(malloc, 0xfff5997c) // 2 15/13 86 NHSTUB(mkdir ,0xff871810) // 1 61% 87 // ALT: NHSTUB(mkdir, 0xff8718d0) // 1 19/12 88 // ALT: NHSTUB(mkdir, 0xfff1bc7c) // 1 19/12 89 // ALT: NHSTUB(mkdir, 0xfff1bd3c) // 1 19/12 90 NHSTUB(taskIdListGet ,0xffad0ba0) // 1 82% 91 // ALT: NHSTUB(taskIdListGet, 0xfff73b14) // 1 24/5 92 NHSTUB(localtime ,0xffabcedc) // 1 93% 93 // ALT: NHSTUB(localtime, 0xfff50f64) // 1 27/2 94 // ERROR: memPartInfoGet is not found. //--- --- *** != 0x00000000 95 // ERROR: Mount_FileSystem is not found. //--- --- *** != 0xff8702e4 96 // ERROR: MakeAFScan is not found. //--- --- *** != 0x00000000 97 98 // Check of modemap from 'platform/CAMERA/shooting.c': 99 100 // Values below can be overridden in 'stubs_min.S': 101 //DEF(levent_table ,0xff9514f0) // Found @0xff9514f0, stubs_min = 0xff9514f0 (0xFF9514F0) 102 //DEF(FlashParamsTable ,0xff958138) // Found @0xff958138, stubs_min = 0xff958138 (0xFF958138) 103 DEF(fileio_semaphore ,0x00002e78) // Found @0xff86e884 104 DEF(exmem_alloc_table ,0x00001c38) // Found @0xff813218 105 DEF(exmem_types_table ,0xff812f70) // Found @0xff812f70 106 DEF_CONST(exmem_type_count ,0x0000000a) 107 DEF(imager_active ,0x00003314) // Found @0xff8c4c30 (0x3314 + 0) 108 DEF_CONST(uiprop_count ,0x00000037) // Found @0xff959d00 109 110 // Values below go in 'lib.c': 111 112 // Values below go in 'platform_camera.h': 113 //#define CAM_3ARG_DebugAssert 1 114 115 // Misc stuff 116 117 // EXMEM types: 118 // EXMEM_RAMDISK 0 119 // EXMEM_COM 1 120 // EXMEM_FORMATTER 2 121 // EXMEM_SHADING 3 122 // EXMEM_FAMODE 4 123 // EXMEM_FILESTORE 5 124 // EXMEM_MOVIE_REC 6 125 // EXMEM_MOVIE_PLY 7 126 // EXMEM_WIDE 8 127 // EXMEM_NARROW 9 128 129 // Stubs below matched 100%. 130 // Name Address Comp to stubs_entry_2.S 131 NHSTUB(CreateBinarySemaphore ,0xff822b58) //115 132 NHSTUB(CreateTask ,0xff823784) //120 133 NHSTUB(DebugAssert ,0xff814c10) //1100 134 NHSTUB(DeleteFile_Fut ,0xff8699b4) // 1 135 // ALT: NHSTUB(DeleteFile_Fut, 0xfff17058) // 1 10/0 136 NHSTUB(DeleteSemaphore ,0xff822d4c) //120 137 NHSTUB(DoAELock ,0xff93e29c) //120 138 NHSTUB(DoAFLock ,0xff93e07c) //120 139 NHSTUB(ExitTask ,0xff823b44) //120 140 NHSTUB(Fclose_Fut ,0xff869af4) // 1 141 NHSTUB(Feof_Fut ,0xff869d08) // 1 142 // ALT: NHSTUB(Feof_Fut, 0xfff1732c) // 1 10/0 143 NHSTUB(Fflush_Fut ,0xff869d40) // 1 144 NHSTUB(Fgets_Fut ,0xff869c78) // 1 145 // ALT: NHSTUB(Fgets_Fut, 0xfff1729c) // 1 15/0 146 NHSTUB(Fopen_Fut ,0xff869ab8) // 1 147 NHSTUB(Fread_Fut ,0xff869bd8) // 1 148 // ALT: NHSTUB(Fread_Fut, 0xfff171fc) // 1 25/0 149 NHSTUB(Fseek_Fut ,0xff869cc0) // 1 150 // ALT: NHSTUB(Fseek_Fut, 0xfff172e4) // 1 24/0 151 NHSTUB(Fwrite_Fut ,0xff869c28) // 1 152 // ALT: NHSTUB(Fwrite_Fut, 0xfff1724c) // 1 26/0 153 NHSTUB(GetBatteryTemperature ,0xffa48900) //102 154 NHSTUB(GetCCDTemperature ,0xffa488ec) //102 155 NHSTUB(GetCurrentAvValue ,0xffa69300) //120 156 NHSTUB(GetCurrentShutterSpeed ,0xffa69078) //120 157 NHSTUB(GetDrive_ClusterSize ,0xff8707ec) //119 158 NHSTUB(GetDrive_FreeClusters ,0xff87086c) //1103 159 NHSTUB(GetDrive_TotalClusters ,0xff87082c) //119 160 NHSTUB(GetOpticalTemperature ,0xffa488d8) //120 161 // ERROR: GetPropertyCase is not found. //--- --- Overridden 162 NHSTUB(GetZoomLensCurrentPosition ,0xffa52180) //102 163 NHSTUB(GiveSemaphore ,0xff823144) //120 164 NHSTUB(IsStrobeChargeCompleted ,0xff941a14) //115 165 NHSTUB(LEDDrive ,0xffa63018) //120 166 NHSTUB(LocalTime ,0xff814bc4) //115 167 NHSTUB(LockMainPower ,0xff95619c) //120 168 NHSTUB(MakeDirectory_Fut ,0xff869a40) // 1 169 // ALT: NHSTUB(MakeDirectory_Fut, 0xfff170e4) // 1 25/0 170 NHSTUB(MoveFocusLensToDistance ,0xffa6b0ec) //102 171 NHSTUB(MoveZoomLensWithPoint ,0xffa52078) //120 172 NHSTUB(PostLogicalEventForNotPowerType ,0xff953a4c) //120 173 NHSTUB(PostLogicalEventToUI ,0xff953ad8) //120 174 NHSTUB(RefreshPhysicalScreen ,0xff96c550) //120 175 NHSTUB(RenameFile_Fut ,0xff869934) // 1 176 // ALT: NHSTUB(RenameFile_Fut, 0xfff16fd8) // 1 27/0 177 NHSTUB(SetAE_ShutterSpeed ,0xffa6d470) //102 178 NHSTUB(SetAutoShutdownTime ,0xff95608c) //120 179 NHSTUB(SetDate ,0xff99f720) //120 180 // ERROR: SetPropertyCase is not found. //--- --- Overridden 181 NHSTUB(SleepTask ,0xff8235e4) //120 182 NHSTUB(TakeSemaphore ,0xff822f5c) //1101 183 NHSTUB(TurnOffBackLight ,0xff99e594) // 1 184 NHSTUB(TurnOnBackLight ,0xff99e568) // 1 185 NHSTUB(TurnOnDisplay ,0xff92522c) //120 186 NHSTUB(TurnOffDisplay ,0xff925254) //120 187 NHSTUB(UnlockAE ,0xff93e2f0) //120 188 NHSTUB(UnlockAF ,0xff93e0dc) //120 189 NHSTUB(UnlockMainPower ,0xff956258) //120 190 NHSTUB(_log ,0xffaaec08) //121 191 NHSTUB(_log10 ,0xffaaf2b0) //121 192 NHSTUB(_pow ,0xffaaf7a0) // 1 193 // ALT: NHSTUB(_pow, 0xfff41064) // 1 25/0 194 NHSTUB(_sqrt ,0xffab3aec) // 1 195 // ALT: NHSTUB(_sqrt, 0xfff45834) // 1 24/0 196 NHSTUB(apex2us ,0xff8aa1c4) // 1 197 NHSTUB(close ,0xffac28b4) // 1 198 // ALT: NHSTUB(close, 0xfff5693c) // 1 29/0 199 NHSTUB(exmem_ualloc ,0xff813a1c) //122 200 NHSTUB(exmem_ufree ,0xff813a68) //122 201 NHSTUB(get_nd_value ,0xffa4a5d8) //120 202 NHSTUB(get_current_nd_value ,0xffa4a5c4) //120 203 NHSTUB(get_current_deltasv ,0xff8ab658) //122 204 NHSTUB(GetCurrentDriveBaseSvValue ,0xff8b4b84) //122 205 NHSTUB(lseek ,0xffac29f8) // 1 206 // ALT: NHSTUB(lseek, 0xfff56a80) // 1 28/0 207 NHSTUB(memcmp ,0xffabc2bc) //120 208 NHSTUB(memcpy ,0xffabc2f8) // 1 209 // ALT: NHSTUB(memcpy, 0xfff50380) // 1 23/0 210 NHSTUB(memset ,0xffabc370) //120 211 NHSTUB(open ,0xffac2ef8) // 1 212 // ALT: NHSTUB(open, 0xfff56f80) // 1 26/0 213 NHSTUB(closedir ,0xffabe6e8) // 1 214 // ALT: NHSTUB(closedir, 0xfff52770) // 1 26/0 215 NHSTUB(qsort ,0xffabbb1c) // 1 216 // ALT: NHSTUB(qsort, 0xfff4fba4) // 1 13/0 217 NHSTUB(rand ,0xffabbb40) // 1 218 // ALT: NHSTUB(rand, 0xfff4fbc8) // 1 8/0 219 NHSTUB(srand ,0xffabbb64) // 1 220 // ALT: NHSTUB(srand, 0xfff4fbec) // 1 4/0 221 NHSTUB(stat ,0xffabe7b0) // 1 222 // ALT: NHSTUB(stat, 0xfff52838) // 1 24/0 223 NHSTUB(strcat ,0xffabc390) // 1 224 // ALT: NHSTUB(strcat, 0xfff50418) // 1 8/0 225 NHSTUB(strchr ,0xffabc3bc) // 1 226 // ALT: NHSTUB(strchr, 0xfff50444) // 1 7/0 227 NHSTUB(strcmp ,0xffabc3e0) //120 228 NHSTUB(strcpy ,0xffabc574) //120 229 NHSTUB(strftime ,0xffabdbfc) // 1 230 // ALT: NHSTUB(strftime, 0xfff51c84) // 1 6/0 231 NHSTUB(strlen ,0xffabc6d8) //120 232 NHSTUB(strncmp ,0xffabc73c) // 1 233 // ALT: NHSTUB(strncmp, 0xfff507c4) // 1 11/0 234 NHSTUB(strncpy ,0xffabc780) // 1 235 // ALT: NHSTUB(strncpy, 0xfff50808) // 1 24/0 236 NHSTUB(strrchr ,0xffabc804) // 1 237 // ALT: NHSTUB(strrchr, 0xfff5088c) // 1 8/0 238 NHSTUB(strtol ,0xffabbf58) // 1 239 // ALT: NHSTUB(strtol, 0xfff4ffe0) // 1 26/0 240 NHSTUB(isdigit ,0xffab85cc) // 1 241 // ALT: NHSTUB(isdigit, 0xfff4c654) // 1 4/0 242 NHSTUB(isspace ,0xffab8644) // 1 243 // ALT: NHSTUB(isspace, 0xfff4c6cc) // 1 4/0 244 NHSTUB(isalpha ,0xffab859c) // 1 245 // ALT: NHSTUB(isalpha, 0xfff4c624) // 1 4/0 246 NHSTUB(isupper ,0xffab865c) // 1 247 // ALT: NHSTUB(isupper, 0xfff4c6e4) // 1 4/0 248 NHSTUB(islower ,0xffab85fc) // 1 249 // ALT: NHSTUB(islower, 0xfff4c684) // 1 4/0 250 NHSTUB(ispunct ,0xffab862c) // 1 251 // ALT: NHSTUB(ispunct, 0xfff4c6b4) // 1 4/0 252 NHSTUB(isxdigit ,0xffab8674) // 1 253 // ALT: NHSTUB(isxdigit, 0xfff4c6fc) // 1 4/0 254 NHSTUB(toupper ,0xffab869c) // 1 255 // ALT: NHSTUB(toupper, 0xfff4c724) // 1 4/0 256 NHSTUB(tolower ,0xffab868c) // 1 257 // ALT: NHSTUB(tolower, 0xfff4c714) // 1 4/0 258 NHSTUB(taskLock ,0xffad125c) // 1 259 // ALT: NHSTUB(taskLock, 0xfff741d0) // 1 31/0 260 NHSTUB(taskUnlock ,0xffad1304) // 1 261 // ALT: NHSTUB(taskUnlock, 0xfff74278) // 1 31/0 262 NHSTUB(taskName ,0xffad0a98) // 1 263 // ALT: NHSTUB(taskName, 0xfff73a0c) // 1 25/0 264 NHSTUB(errnoOfTaskGet ,0xffabeeb4) // 1 265 // ALT: NHSTUB(errnoOfTaskGet, 0xfff52f3c) // 1 15/0 266 NHSTUB(readdir ,0xffabe6b4) // 1 267 // ALT: NHSTUB(readdir, 0xfff5273c) // 1 11/0 268 NHSTUB(strtoul ,0xffabc100) // 1 269 // ALT: NHSTUB(strtoul, 0xfff50188) // 1 26/0 270 NHSTUB(strpbrk ,0xffabc7c8) // 1 271 // ALT: NHSTUB(strpbrk, 0xfff50850) // 1 19/0 272 NHSTUB(utime ,0xffabe844) // 1 273 // ALT: NHSTUB(utime, 0xfff528cc) // 1 26/0 274 NHSTUB(mktime ,0xffabd0a4) // 1 275 // ALT: NHSTUB(mktime, 0xfff5112c) // 1 28/0 276 NHSTUB(opendir ,0xffabe71c) // 1 277 // ALT: NHSTUB(opendir, 0xfff527a4) // 1 29/0 278 NHSTUB(memchr ,0xffabc288) // 1 279 // ALT: NHSTUB(memchr, 0xfff50310) // 1 19/0 280 NHSTUB(iosDrvInstall ,0xffac3d98) // 1 281 // ALT: NHSTUB(iosDrvInstall, 0xfff57e20) // 1 30/0 282 NHSTUB(iosDevAdd ,0xffac3ad4) // 1 283 // ALT: NHSTUB(iosDevAdd, 0xfff57b5c) // 1 28/0 284 NHSTUB(iosDevDelete ,0xffac3aac) // 1 285 // ALT: NHSTUB(iosDevDelete, 0xfff57b34) // 1 28/0 286 NHSTUB(GetCurrentTargetDistance ,0xffa6ae5c) // 1 287 NHSTUB(taskCreateHookAdd ,0xffac8a40) // 1 288 // ALT: NHSTUB(taskCreateHookAdd, 0xfff5df1c) // 1 29/0 289 NHSTUB(taskDeleteHookAdd ,0xffac897c) // 1 290 // ALT: NHSTUB(taskDeleteHookAdd, 0xfff5de58) // 1 28/0 291 NHSTUB(Unmount_FileSystem ,0xff870344) // 1 292 // ALT: NHSTUB(Unmount_FileSystem, 0xfff1aab4) // 1 18/0 293 NHSTUB(taskSuspend ,0xffad0ca8) // 1 294 // ALT: NHSTUB(taskSuspend, 0xfff73c1c) // 1 31/0 295 NHSTUB(taskResume ,0xffad0e7c) // 1 296 // ALT: NHSTUB(taskResume, 0xfff73df0) // 1 31/0 297 //NHSTUB(time ,0xffabdc28) // 1 Overridden 298 // ALT: NHSTUB(time, 0xfff51cb0) // 1 25/0 299 NHSTUB(vsprintf ,0xffac0008) // 1 300 // ALT: NHSTUB(vsprintf, 0xfff54090) // 1 13/0 301 NHSTUB(EngDrvRead ,0xff885974) //102 302 NHSTUB(PTM_GetCurrentItem ,0xff958b08) //102 303 NHSTUB(CancelHPTimer ,0xff8166d4) //119 304 NHSTUB(SetHPTimerAfterNow ,0xff816260) //119 305 NHSTUB(GetAdChValue ,0xffa425e0) //120