1 // !!! THIS FILE IS GENERATED. DO NOT EDIT. !!! 2 #include "stubs_asm.h" 3 4 // Camera info: 5 // DRYOS R52 (DRYOS version 2.3, release #0052) 6 // Firmware Ver GM1.00D // Found @ 0xff08455c, "GM1.00D" @ 0xff084569 7 // Firmware build timestamp: Jul 18 2013 10:04:01 8 // Canon PowerShot SX510 HS 9 10 // Values for makefile.inc 11 // DIGIC = 40# DIGIC 4 12 // PLATFORMOSVER = 52 13 // PLATFORMID = 12919# (0x3277) Found @ 0xfff40040 14 // MAXRAMADDR = 0x07ffffff 15 // MEMISOSTART = 0x00265a28 16 // KEYSYS = d4e# Found @ 0xffff39bc 17 // NEED_ENCODED_DISKBOOT = 11# Found @ 0xffff39cc 18 // ARAM_HEAP_START = 0x60e000# Found @ 0xff1e2aec 19 // ARAM_HEAP_SIZE = 0x22000# Found @ 0xff1e2aac 20 21 // Detected address ranges: 22 // ROM 0xff000000 - 0xffffffff (16777216 bytes) 23 // RAM code 0x006b1000 - 0x006db5d0 copied from 0xff719234 ( 173520 bytes) 24 // RAM data 0x00001900 - 0x00017ba8 copied from 0xff702f8c ( 90792 bytes) 25 26 // Stubs below should be checked. Stub not matched 100%, or difference found to current 'stubs_entry_2.S' 27 // Name Address Rule % Comp to stubs_entry_2.S 28 //NHSTUB(DeleteFile_Fut ,0xff006c18) // 1 90% == 0xff006c18 29 //NHSTUB(GetFocusLensSubjectDistanceFromLens ,0xff1c481c) // 3 90% == 0xff1c481c 30 // ERROR: MakeDirectory_Fut is not found. //--- --- *** != 0xff007728 31 // ERROR: RefreshPhysicalScreen is not found. //--- --- *** != 0x00000000 32 // ERROR: WriteSDCard is not found. //--- --- *** != 0xff06506c 33 34 // Check of modemap from 'platform/CAMERA/shooting.c': 35 // Firmware modemap table found @ff378364 -> ff63f5f4 36 // No problems found with modemap table. 37 38 // Values below can be overridden in 'stubs_min.S': 39 DEF(physw_status ,0x000188d4) // Found @0xff00c0c4 40 DEF(physw_run ,0x00001cfc) // Found @0xff00bc10 41 DEF(physw_sleep_delay ,0x00001d04) // Found @0xff00bc10 42 DEF(levent_table ,0xff5d5a2c) // Found @0xff5d5a2c 43 DEF(FlashParamsTable ,0xff63f874) // Found @0xff63f874 44 DEF(movie_status ,0x0000921c) // Found @0xff1d3b2c 45 DEF(video_compression_rate ,0x0000924c) // Found @0xff1d4da0 46 DEF(full_screen_refresh ,0x00009a50) // Found @0xff1f6d38 47 DEF(canon_menu_active ,0x00004168) // Found @0xff08e7f4 48 DEF(canon_shoot_menu_active ,0x0000b97d) // Found @0xff270148 49 DEF(playrec_mode ,0x00003778) // Found @0xff079f4c 50 DEF(zoom_status ,0x0000d9d4) // Found @0xff2faed0 51 DEF(some_flag_for_af_scan ,0x00024214) // Found @0xff370a1c 52 // focus_len_table contains zoom focus lengths for use in 'get_focal_length' (main.c). 53 // each entry contains 2 int value(s), the first is the zoom focus length. 54 // there are 127 entries in the table - set NUM_FL to 127 55 DEF(focus_len_table ,0xfff4ad54) // Found @0xfff4ad54 56 DEF(zoom_busy ,0x0000354c) // Found @0xff06ce34 57 DEF(focus_busy ,0x00008d14) // Found @0xff1c3288 58 // Palette colour tables found @ 0xff5d9e74 59 // Camera has 2 RAW buffers @ 0x416b272c & 0x46004944 60 // Note: active buffer --> raw_buffers[active_raw_buffer] 61 // other buffer --> raw_buffers[active_raw_buffer^1] 62 DEF(raw_buffers ,0xff590a6c) // Found @0xff590a6c 63 DEF(active_raw_buffer ,0x000036c4) // Found @0xff075014 64 DEF(fileio_semaphore ,0x00001d90) // Found @0xff00ebec 65 DEF(exmem_alloc_table ,0x00019cd4) // Found @0xff013d64 66 DEF(exmem_types_table ,0xff7034b0) // Found @0x00001e24 67 DEF_CONST(exmem_type_count ,0x0000001b) 68 DEF(imager_active ,0x000020fc) // Found @0xff02cd08 (0x20f8 + 4) 69 DEF_CONST(uiprop_count ,0x00000094) // Found @0xff1ea960 70 DEF(cameracon_state ,0x0000250c) // Found @0xff03be98 71 72 // Values below go in 'lib.c': 73 //void *vid_get_bitmap_fb() { return (void*)0x406f1000; } // Found @0xff049118 74 //void *vid_get_viewport_fb() { return (void*)0x40846b80; } // Found @0xff44bbe0 75 DEF(jpeg_count_str ,0x000ef918) // Found @0xff257784 76 //char *camera_jpeg_count_str() { return (char*)0x000ef918; } // Found @0xff257784 77 //int get_flash_params_count(void) { return 0x99; } // Found @0xff1eb3e4 78 79 // Bitmap masks and physw_status index values for SD_READONLY and USB power flags (for kbd.c). 80 //#define SD_READONLY_FLAG 0x02000000 // Found @0xff56871c, levent 0x20a 81 //#define SD_READONLY_IDX 2 82 //#define USB_MASK 0x10000000 // Found @0xff56872c, levent 0x202 83 //#define USB_IDX 2 84 //#define BATTCOVER_FLAG 0x04000000 // Found @0xff568724, levent 0x205 85 //#define BATTCOVER_IDX 2 86 //#define ANALOG_AV_FLAG 0x04000000 // Found @0xff5686d4, levent 0x200 (non-inverted logic) 87 //#define ANALOG_AV_IDX 1 88 89 // Keymap values for kbd.c. Additional keys may be present, only common values included here. 90 //static KeyMap keymap[] = { 91 // { 0, KEY_UP ,0x00000400 }, // Found @0xff56867c, levent 0x06 92 // { 0, KEY_DOWN ,0x00000800 }, // Found @0xff568684, levent 0x07 93 // { 0, KEY_SET ,0x00001000 }, // Found @0xff56868c, levent 0x0a 94 // { 0, KEY_RIGHT ,0x00002000 }, // Found @0xff568694, levent 0x09 95 // { 0, KEY_MENU ,0x00008000 }, // Found @0xff5686a4, levent 0x0b 96 // { 0, KEY_LEFT ,0x00010000 }, // Found @0xff5686ac, levent 0x08 97 // { 0, KEY_VIDEO ,0x00020000 }, // Found @0xff5686b4, levent 0x02 98 // { 0, KEY_DISPLAY ,0x00040000 }, // Found @0xff5686bc, levent 0x0c 99 // { 0, KEY_ERASE ,0x00080000 }, // Found @0xff5686c4, levent 0x19 100 // { 2, KEY_POWER ,0x00000002 }, // Found @0xff5686dc, levent 0x100 101 // { 2, KEY_PLAYBACK ,0x00000008 }, // Found @0xff5686e4, levent 0x101 102 // { 2, KEY_SHOOT_FULL ,0x00000600 }, // Found @0xff5686f4, levent 0x01 103 // { 2, KEY_SHOOT_FULL_ONLY ,0x00000400 }, // Found @0xff5686f4, levent 0x01 104 // { 2, KEY_SHOOT_HALF ,0x00000200 }, // Found @0xff5686ec, levent 0x00 105 // { 0, 0, 0 } 106 //}; 107 108 // Values below go in 'platform_camera.h': 109 //#define CAM_DRYOS 1 110 //#define CAM_DRYOS_2_3_R39 1 // Defined for cameras with DryOS version R39 or higher 111 //#define CAM_DRYOS_2_3_R47 1 // Defined for cameras with DryOS version R47 or higher 112 //#define CAM_RAW_ROWPIX 4168 // Found @0xff196e7c 113 //#define CAM_RAW_ROWS 3062 // Found @0xff196e88 114 //#undef CAM_UNCACHED_BIT 115 //#define CAM_UNCACHED_BIT 0x40000000 // Found @0xff005f4c 116 //#define CAM_DATE_FOLDER_NAMING 0x080 // Found @0xff32f658 (pass as 3rd param to GetImageFolder) 117 //#define PARAM_CAMERA_NAME 3 // Found @0xff63ea4c 118 //#define CAM_3ARG_DebugAssert 1 119 //#define CAM_HAS_WIFI 1 // Firmware has wifi support (only define if camera has hardware) 120 121 // Below goes in 'filewrite.c' or 'platform_camera.h': 122 //#define MAX_CHUNKS_FOR_FWT 7 // Found @0xff348738 123 124 // Known propcases 125 // // PROPCASE_AFSTEP 13 126 // #define PROPCASE_FOCUS_STATE 18 127 // #define PROPCASE_AV 23 128 // #define PROPCASE_BV 34 129 // // PROPCASE_DELTA_DIGITALGAIN 77 130 // #define PROPCASE_DELTA_SV 79 131 // // PROPCASE_DELTA_ND 80 132 // #define PROPCASE_EV_CORRECTION_2 210 133 // #define PROPCASE_ORIENTATION_SENSOR 222 134 // #define PROPCASE_SV_MARKET 249 135 // // PROPCASE_SVFIX 250 136 // #define PROPCASE_TV 265 137 // Guessed propset: 6 138 139 // Misc stuff 140 DEF(ctypes, 0xff567b20) 141 142 // EXMEM types: 143 // EXMEM_RAMDISK 0 144 // EXMEM_COM 1 145 // EXMEM_FORMATTER 2 146 // EXMEM_SHADING 3 147 // EXMEM_FAMODE 4 148 // EXMEM_FIRMUP 5 149 // EXMEM_FIRMUP_VRAM 6 150 // EXMEM_FIRMUP_INFLATE 7 151 // EXMEM_DVLPWORK 8 152 // EXMEM_EVF 9 153 // EXMEM_SCRIPT 10 154 // EXMEM_GPS 11 155 // EXMEM_FACEAUTH 12 156 // EXMEM_OHYEARLOG 13 157 // EXMEM_WIFI 14 158 // EXMEM_FILESTORE 15 159 // EXMEM_MOVIE_REC 16 160 // EXMEM_MOVIE_PLY 17 161 // EXMEM_WIFI_RESIZE 18 162 // EXMEM_PCEVF 19 163 // EXMEM_WIDE 20 164 // EXMEM_NARROW 21 165 // EXMEM_AUTO_GIS_MODE 22 166 // EXMEM_NP_GIS_MODE 23 167 // EXMEM_TRIPODHDR_MODE 24 168 // EXMEM_HSHQ_MODE 25 169 // EXMEM_CRAW_REC 26 170 171 // ISR flag: 0x1944, pointer to current task's control block: 0x1940 172 // pointer to TCB area: 0x19c4, found @ 0xff71a8a4 173 174 // LED table init @ 0xff175150 175 // LED #1: 0xc022302c, offset 0x4 176 // LED #2: 0xc0223030, offset 0x104 177 178 // For capt_seq.c 179 DEF(_nrflag,0xcf68) // Found @ ff2adf48 (0xcf70) & ff2adf60 (-0x08) 180 //static long *nrflag = (long*)(0xcf70-0x08); // Found @ ff2adf48 & ff2adf58 181 182 // Stubs below matched 100%. 183 // Name Address Comp to stubs_entry_2.S 184 NHSTUB(AllocateUncacheableMemory ,0xff005f08) //112 185 NHSTUB(Close ,0xff00728c) //120 186 NHSTUB(CreateBinarySemaphore ,0x006b7968) //115 187 NHSTUB(CreateTask ,0x006b5778) //120 188 //NHSTUB(DebugAssert ,0x006b5a58) //107 == 0x006b5a58 189 NHSTUB(DeleteDirectory_Fut ,0xff006c8c) //116 190 NHSTUB(DeleteSemaphore ,0x006b7a38) //120 191 NHSTUB(DoAELock ,0xff012828) //120 192 NHSTUB(DoAFLock ,0xff012490) //120 193 NHSTUB(EnterToCompensationEVF ,0xff012780) //104 194 NHSTUB(ExecuteEventProcedure ,0xff014820) //104 195 NHSTUB(ExitFromCompensationEVF ,0xff0127c8) //104 196 NHSTUB(ExitTask ,0x006b5a04) //120 197 NHSTUB(ExpCtrlTool_StartContiAE ,0xff0254d4) //104 198 NHSTUB(ExpCtrlTool_StopContiAE ,0xff025648) //104 199 NHSTUB(Fclose_Fut ,0xff006d24) //120 200 NHSTUB(Feof_Fut ,0xff006f10) // 1 201 NHSTUB(Fflush_Fut ,0xff006f4c) // 1 202 NHSTUB(Fgets_Fut ,0xff006e78) // 6 203 NHSTUB(Fopen_Fut ,0xff006ce4) //120 204 NHSTUB(Fread_Fut ,0xff006dd0) //120 205 NHSTUB(FreeUncacheableMemory ,0xff005f44) //112 206 NHSTUB(Fseek_Fut ,0xff006ec4) //120 207 NHSTUB(Fwrite_Fut ,0xff006e24) //120 208 NHSTUB(GetBatteryTemperature ,0xff053244) //102 209 NHSTUB(GetCCDTemperature ,0xff0531cc) //102 210 NHSTUB(GetCurrentAvValue ,0xff06a6c8) //120 211 NHSTUB(GetCurrentShutterSpeed ,0xff0c76c0) //120 212 NHSTUB(GetUsableMaxAv ,0xff1978e0) //120 213 NHSTUB(GetUsableMinAv ,0xff1978c4) //120 214 NHSTUB(GetDrive_ClusterSize ,0xff010278) //122 215 NHSTUB(GetDrive_FreeClusters ,0xff010a90) //119 216 NHSTUB(GetDrive_TotalClusters ,0xff010a64) //122 217 NHSTUB(GetFocusLensSubjectDistance ,0xff1c4438) //102 218 NHSTUB(GetImageFolder ,0xff19ea90) //122 219 NHSTUB(GetKbdState ,0xff04f49c) //109 220 NHSTUB(GetMemInfo ,0xff0036e4) //115 221 NHSTUB(GetOpticalTemperature ,0xff0532bc) //120 222 NHSTUB(GetParameterData ,0xff1eb3a0) //101 223 NHSTUB(GetPropertyCase ,0xff085d9c) //101 224 NHSTUB(GetSystemTime ,0xff3753a8) //120 225 NHSTUB(GetVRAMHPixelsSize ,0xff032c20) //120 226 NHSTUB(GetVRAMVPixelsSize ,0xff032c2c) //120 227 NHSTUB(GetZoomLensCurrentPoint ,0xff06d2b4) //120 228 NHSTUB(GetZoomLensCurrentPosition ,0xff1cca18) //102 229 NHSTUB(GiveSemaphore ,0x006b7bc8) //120 230 NHSTUB(IsStrobeChargeCompleted ,0xff0f8e88) //102 231 NHSTUB(LEDDrive ,0xff1d6530) //120 232 NHSTUB(LocalTime ,0x006b9a38) //115 233 NHSTUB(LockMainPower ,0xff08a2fc) //120 234 NHSTUB(MoveFocusLensToDistance ,0xff447500) //102 235 NHSTUB(MoveIrisWithAv ,0xff36e934) //120 236 NHSTUB(MoveZoomLensWithPoint ,0xff36f350) //120 237 NHSTUB(MoveOpticalZoomAt ,0xff011ab0) //109 238 NHSTUB(Open ,0xff0071c4) //120 239 NHSTUB(PB2Rec ,0xff03e120) //104 240 NHSTUB(PT_MoveDigitalZoomToWide ,0xff1d7664) //102 241 NHSTUB(PT_MoveOpticalZoomAt ,0xff1d7634) //102 242 NHSTUB(PT_PlaySound ,0xff09ad18) //122 243 NHSTUB(PostLogicalEventForNotPowerType ,0xff087c30) //120 244 NHSTUB(PostLogicalEventToUI ,0xff087c7c) //120 245 NHSTUB(PutInNdFilter ,0xff445f88) //102 246 NHSTUB(PutOutNdFilter ,0xff445fc4) //102 247 NHSTUB(Read ,0xff0041a0) //120 248 NHSTUB(ReadFastDir ,0xff34cd64) //115 249 NHSTUB(Rec2PB ,0xff03e160) //104 250 NHSTUB(RenameFile_Fut ,0xff006b84) //116 251 //NHSTUB(Restart ,0xff01786c) //122 == 0xff01786c 252 NHSTUB(ScreenLock ,0xff08dfe8) //117 253 NHSTUB(ScreenUnlock ,0xff08dfa0) //117 254 NHSTUB(SetAE_ShutterSpeed ,0xff44aa58) //102 255 NHSTUB(SetAutoShutdownTime ,0xff08a374) //120 256 NHSTUB(SetCurrentCaptureModeType ,0xff097b68) //120 257 NHSTUB(SetDate ,0xff44c894) //120 258 NHSTUB(SetFileAttributes ,0xff007690) // 6 259 NHSTUB(SetFileTimeStamp ,0xff007618) // 6 260 NHSTUB(SetLogicalEventActive ,0xff08a038) //120 261 NHSTUB(SetParameterData ,0xff1eb304) //101 262 NHSTUB(SetPropertyCase ,0xff085bfc) //101 263 NHSTUB(SetScriptMode ,0xff08a08c) //120 264 NHSTUB(SleepTask ,0x006b8d2c) //120 265 NHSTUB(TakeSemaphore ,0x006b7af0) //120 266 NHSTUB(TurnOffBackLight ,0xff09a5bc) //104 267 NHSTUB(TurnOnBackLight ,0xff09a5a4) //104 268 NHSTUB(TurnOnDisplay ,0xff04953c) //120 269 NHSTUB(TurnOffDisplay ,0xff04954c) //120 270 NHSTUB(UIFS_WriteFirmInfoToFile ,0xff20b360) //120 271 NHSTUB(UnlockAE ,0xff01284c) //120 272 NHSTUB(UnlockAF ,0xff0124c0) //120 273 NHSTUB(UnlockMainPower ,0xff08a24c) //120 274 NHSTUB(VbattGet ,0xff00ae40) //120 275 NHSTUB(Write ,0xff0072e0) //120 276 NHSTUB(_log ,0x006d7138) //111 277 NHSTUB(_log10 ,0x006d7678) //112 278 NHSTUB(_pow ,0x006d77f0) //121 279 NHSTUB(_sqrt ,0x006d9608) // 6 280 NHSTUB(add_ptp_handler ,0xff132204) //121 281 NHSTUB(apex2us ,0xff2a7800) //121 282 NHSTUB(close ,0xff003ffc) //109 283 NHSTUB(err_init_task ,0xff004a90) //111 284 NHSTUB(exmem_alloc ,0xff01436c) //101 285 NHSTUB(exmem_ualloc ,0xff0141bc) //101 286 NHSTUB(exmem_ufree ,0xff014308) //101 287 NHSTUB(free ,0xff005338) //112 288 NHSTUB(get_current_deltasv ,0xff0c83d4) //122 289 NHSTUB(GetCurrentDriveBaseSvValue ,0xff0cdeec) //120 290 NHSTUB(kbd_p1_f ,0xff00c114) //109 291 NHSTUB(kbd_p1_f_cont ,0xff00c120) //109 292 NHSTUB(kbd_p2_f ,0xff00b8a8) //109 293 NHSTUB(kbd_read_keys ,0xff00c0c4) //109 294 NHSTUB(kbd_read_keys_r2 ,0xff04ec64) //109 295 NHSTUB(lseek ,0xff0074a8) //120 296 NHSTUB(malloc ,0xff0052e0) //112 297 NHSTUB(memcmp ,0xff0050b8) //120 298 NHSTUB(memcpy ,0xff09fcac) //120 299 NHSTUB(memset ,0xff27b254) //120 300 NHSTUB(mkdir ,0xff007728) //121 301 NHSTUB(mktime_ext ,0xff09f440) // 1 302 NHSTUB(open ,0xff003f4c) //109 303 NHSTUB(OpenFastDir ,0xff34cc10) //115 304 NHSTUB(closedir ,0xff34cbc0) //121 305 NHSTUB(get_fstype ,0xff0101f0) //122 306 NHSTUB(qsort ,0xff27b1f4) // 6 307 NHSTUB(rand ,0xff27ad2c) //121 308 NHSTUB(realloc ,0xff27b2d0) //115 309 NHSTUB(reboot_fw_update ,0xff3749f4) //106 310 NHSTUB(set_control_event ,0xff089c2c) //111 311 NHSTUB(srand ,0xff27ad20) //122 312 NHSTUB(stat ,0xff0074f0) //109 313 NHSTUB(strcat ,0xff018254) // 1 314 NHSTUB(strchr ,0xff0182dc) // 1 315 NHSTUB(strcmp ,0xff0051b4) //120 316 NHSTUB(strcpy ,0xff0050a0) //120 317 NHSTUB(strftime ,0xff09f48c) //113 318 NHSTUB(strlen ,0xff0051f8) //120 319 NHSTUB(strncmp ,0xff018290) // 1 320 NHSTUB(strncpy ,0xff007e20) // 1 321 NHSTUB(strrchr ,0xff09fdf8) // 1 322 NHSTUB(strtol ,0xff018240) //101 323 NHSTUB(strtolx ,0xff018044) //109 324 DEF(task_CaptSeq ,0xff072dc4) //120 325 DEF(task_DvlpSeqTask ,0xff1db420) //120 326 DEF(task_ExpDrv ,0xff0dece0) //120 327 DEF(task_FileWrite ,0xff3486d8) //120 328 DEF(task_InitFileModules ,0xff03e99c) //120 329 DEF(task_MovieRecord ,0xff1d527c) //120 330 DEF(task_PhySw ,0xff00bc0c) //120 331 DEF(task_RotaryEncoder ,0xff04f774) //120 332 DEF(hook_CreateTask ,0x006b5778) //105 333 NHSTUB(time ,0x006b9210) //119 334 NHSTUB(vsprintf ,0xff007de0) //115 335 NHSTUB(EngDrvRead ,0xff00c220) //102 336 NHSTUB(PTM_GetCurrentItem ,0xff08bfe4) //105 337 NHSTUB(DisableISDriveError ,0xff36fe64) //120 338 NHSTUB(CancelHPTimer ,0xff082604) //119 339 NHSTUB(SetHPTimerAfterNow ,0xff0824fc) //119 340 NHSTUB(SS_MFOn ,0xff1d76f8) //120 341 NHSTUB(SS_MFOff ,0xff1d7708) //120 342 NHSTUB(GetAdChValue ,0xff04a8a8) //120 343 NHSTUB(EnableHDMIPower ,0xff04d47c) //123 344 NHSTUB(DisableHDMIPower ,0xff04d4d0) //123 345 NHSTUB(get_ptp_buf_size ,0xff12d60c) //122 346 NHSTUB(get_ptp_file_buf ,0xff2ea960) //121 347 NHSTUB(SetVideoOutType ,0xff44b2e0) //109 348 NHSTUB(GetVideoOutType ,0xff44b1f0) //120 349 NHSTUB(IsWirelessConnect ,0xff0410a8) //122