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.00B // Found @ 0xff88cce4, "GM1.00B" @ 0xff88ccf1 7 // Firmware build timestamp: Dec 6 2012 18:32:55 8 // Canon PowerShot A1400 9 10 // Values for makefile.inc 11 // DIGIC = 40# DIGIC 4 12 // PLATFORMOSVER = 52 13 // PLATFORMID = 12900# (0x3264) Found @ 0xfffe0040 14 // MAXRAMADDR = 0x03ffffff 15 // MEMISOSTART = 0x0015a048 16 // KEYSYS = d4d# Found @ 0xffff1d54 17 // NEED_ENCODED_DISKBOOT = 10# Found @ 0xffff1d64 18 // ARAM_HEAP_START = 0x34e000# Found @ 0xff97f678 19 // ARAM_HEAP_SIZE = 0x22000# Found @ 0xff97f63c 20 21 // Detected address ranges: 22 // ROM 0xff810000 - 0xffffffff (8323072 bytes) 23 // RAM code 0x003f1000 - 0x0040099c copied from 0xffc53a20 ( 63900 bytes) 24 // RAM data 0x00001900 - 0x0000e560 copied from 0xffc46dc0 ( 52320 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 ,0xff82cdf8) // 1 90% == 0xff82cdf8 29 //NHSTUB(GetBatteryTemperature ,0xff862fd0) //102 *** != 0x00000000 30 // ERROR: MakeDirectory_Fut is not found. //--- --- *** != 0xff82d908 31 // ERROR: RefreshPhysicalScreen is not found. //--- --- *** != 0x00000000 32 33 // Check of modemap from 'platform/CAMERA/shooting.c': 34 // Firmware modemap table found @ffa9b104 -> ffbebdf0 35 // No problems found with modemap table. 36 37 // Values below can be overridden in 'stubs_min.S': 38 DEF(physw_status ,0x000325e4) // Found @0xff82acbc 39 DEF(physw_run ,0x00001c90) // Found @0xff82a80c 40 DEF(physw_sleep_delay ,0x00001c98) // Found @0xff82a80c 41 DEF(levent_table ,0xffb9a87c) // Found @0xffb9a87c 42 DEF(FlashParamsTable ,0xffbec020) // Found @0xffbec020 43 DEF(movie_status ,0x000069e4) // Found @0xff970990 44 DEF(video_compression_rate ,0x00006a14) // Found @0xff9710f4 45 DEF(full_screen_refresh ,0x00007424) // Found @0xff98d1d0 46 DEF(canon_menu_active ,0x00003748) // Found @0xff895300 47 DEF(canon_shoot_menu_active ,0x00008a09) // Found @0xff9e5a94 48 DEF(playrec_mode ,0x00003188) // Found @0xff882808 49 DEF(zoom_status ,0x00009eb8) // Found @0xffa37e00 50 // focus_len_table contains zoom focus lengths for use in 'get_focal_length' (main.c). 51 // each entry contains 2 int value(s), the first is the zoom focus length. 52 // there are 64 entries in the table - set NUM_FL to 64 53 DEF(focus_len_table ,0xfffea3e0) // Found @0xfffea3e0 54 DEF(zoom_busy ,0x000068f0) // Found @0xff96cfcc 55 DEF(focus_busy ,0x000067bc) // Found @0xff969a68 56 DEF(recreview_hold ,0x00002720) // Found @0xff859ea8 57 // Palette colour tables found @ 0xffba14b8 58 DEF(active_palette_buffer ,0x0000742c) // Found @0xff98d154 59 DEF(palette_buffer_ptr ,0x00007430) // Found @0xff98d4e4 60 // Offset from start of palette_buffer to color data = 4 (Found @0xffabbba8) 61 // Camera appears to have only 1 RAW buffer @ 0x420e5c30 (Found @0xffb16a34) 62 DEF(fileio_semaphore ,0x00002ee4) // Found @0xff8737fc 63 DEF(exmem_alloc_table ,0x00038f84) // Found @0xff888114 64 DEF(exmem_types_table ,0xffc48714) // Found @0x00003254 65 DEF_CONST(exmem_type_count ,0x0000001b) 66 DEF(imager_active ,0x00001f08) // Found @0xff845228 (0x1f04 + 4) 67 DEF_CONST(uiprop_count ,0x00000083) // Found @0xff984830 68 69 // Values below go in 'lib.c': 70 //void *vid_get_bitmap_fb() { return (void*)0x40431000; } // Found @0xff85ce98 71 //void *vid_get_viewport_fb() { return (void*)0x40586b80; } // Found @0xffb1511c 72 DEF(viewport_fb_d ,0x00002f90) // Found 0x2f3c (@0xff876e34) + 0x54 (@0xff876e6c) 73 //void *vid_get_viewport_fb_d() { return (void*)(*(int*)(0x2f3c+0x54)); } // Found @0xff876e34 & 0xff876e6c 74 DEF(jpeg_count_str ,0x000c86fc) // Found @0xff9d40b4 75 //char *camera_jpeg_count_str() { return (char*)0x000c86fc; } // Found @0xff9d40b4 76 //int get_flash_params_count(void) { return 0x91; } // Found @0xff985214 77 78 // Bitmap masks and physw_status index values for SD_READONLY and USB power flags (for kbd.c). 79 //#define SD_READONLY_FLAG 0x02000000 // Found @0xffb47274, levent 0x20a 80 //#define SD_READONLY_IDX 2 81 //#define USB_MASK 0x10000000 // Found @0xffb47284, levent 0x202 82 //#define USB_IDX 2 83 //#define BATTCOVER_FLAG 0x04000000 // Found @0xffb4727c, levent 0x205 84 //#define BATTCOVER_IDX 2 85 //#define ANALOG_AV_FLAG 0x00000200 // Found @0xffb471dc, levent 0x200 (non-inverted logic) 86 //#define ANALOG_AV_IDX 0 87 88 // Keymap values for kbd.c. Additional keys may be present, only common values included here. 89 //static KeyMap keymap[] = { 90 // { 0, KEY_ZOOM_OUT ,0x00001000 }, // Found @0xffb471e4, levent 0x04 91 // { 0, KEY_ZOOM_IN ,0x00002000 }, // Found @0xffb471ec, levent 0x03 92 // { 1, KEY_SHOOT_FULL ,0x00300000 }, // Found @0xffb471fc, levent 0x01 93 // { 1, KEY_SHOOT_FULL_ONLY ,0x00200000 }, // Found @0xffb471fc, levent 0x01 94 // { 1, KEY_SHOOT_HALF ,0x00100000 }, // Found @0xffb471f4, levent 0x00 95 // { 1, KEY_UP ,0x00400000 }, // Found @0xffb47204, levent 0x06 96 // { 1, KEY_DOWN ,0x00800000 }, // Found @0xffb4720c, levent 0x07 97 // { 1, KEY_RIGHT ,0x01000000 }, // Found @0xffb47214, levent 0x09 98 // { 1, KEY_LEFT ,0x02000000 }, // Found @0xffb4721c, levent 0x08 99 // { 1, KEY_MENU ,0x04000000 }, // Found @0xffb47224, levent 0x0b 100 // { 1, KEY_SET ,0x08000000 }, // Found @0xffb4722c, levent 0x0a 101 // { 1, KEY_VIDEO ,0x10000000 }, // Found @0xffb47234, levent 0x02 102 // { 1, KEY_HELP ,0x20000000 }, // Found @0xffb4723c, levent 0x12 103 // { 1, KEY_POWER ,0x40000000 }, // Found @0xffb47244, levent 0x100 104 // { 1, KEY_PLAYBACK ,0x80000000 }, // Found @0xffb4724c, levent 0x101 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 4704 // Found @0xff943780 113 //#define CAM_RAW_ROWS 3504 // Found @0xff94378c 114 //#undef CAM_UNCACHED_BIT 115 //#define CAM_UNCACHED_BIT 0x40000000 // Found @0xff831d9c 116 //#define CAM_DATE_FOLDER_NAMING 0x080 // Found @0xffa67464 (pass as 3rd param to GetImageFolder) 117 //#define PARAM_CAMERA_NAME 3 // Found @0xffbeb2e4 118 119 // Below goes in 'filewrite.c' or 'platform_camera.h': 120 //#define MAX_CHUNKS_FOR_FWT 7 // Found @0xffa73f48 121 122 // Known propcases 123 // // PROPCASE_AFSTEP 13 124 // #define PROPCASE_FOCUS_STATE 18 125 // #define PROPCASE_AV 23 126 // #define PROPCASE_BV 34 127 // // PROPCASE_DELTA_DIGITALGAIN 77 128 // #define PROPCASE_DELTA_SV 79 129 // // PROPCASE_DELTA_ND 80 130 // #define PROPCASE_EV_CORRECTION_2 210 131 // #define PROPCASE_ORIENTATION_SENSOR 222 132 // #define PROPCASE_SV_MARKET 249 133 // // PROPCASE_SVFIX 250 134 // #define PROPCASE_TV 265 135 // Guessed propset: 6 136 137 // Misc stuff 138 DEF(ctypes, 0xffb4671c) 139 140 // EXMEM types: 141 // EXMEM_RAMDISK 0 142 // EXMEM_COM 1 143 // EXMEM_FORMATTER 2 144 // EXMEM_SHADING 3 145 // EXMEM_FAMODE 4 146 // EXMEM_FIRMUP 5 147 // EXMEM_FIRMUP_VRAM 6 148 // EXMEM_FIRMUP_INFLATE 7 149 // EXMEM_DVLPWORK 8 150 // EXMEM_EVF 9 151 // EXMEM_SCRIPT 10 152 // EXMEM_GPS 11 153 // EXMEM_FACEAUTH 12 154 // EXMEM_OHYEARLOG 13 155 // EXMEM_WIFI 14 156 // EXMEM_FILESTORE 15 157 // EXMEM_MOVIE_REC 16 158 // EXMEM_MOVIE_PLY 17 159 // EXMEM_WIDE 18 160 // EXMEM_NARROW 19 161 // EXMEM_AUTO_GIS_MODE 20 162 // EXMEM_NP_GIS_MODE 21 163 // EXMEM_TRIPODHDR_MODE 22 164 // EXMEM_HSHQ_MODE 23 165 // EXMEM_CRAW_REC 24 166 // EXMEM_PCEVF 25 167 // EXMEM_WIFI_RESIZE 26 168 169 // ISR flag: 0x1958, pointer to current task's control block: 0x1954 170 // pointer to TCB area: 0x19e8, found @ 0xffc55c44 171 172 // LED table init @ 0xff924034 173 // LED #1: 0xc0220120, offset 0x4 174 // LED #2: 0xc0220104, offset 0x44 175 // LED #3: 0xc0220124, offset 0x104 176 177 // For capt_seq.c 178 DEF(_nrflag,0x9714) // Found @ ff9f469c (0x9714) & ff9f46d8 (+0x00) 179 //static long *nrflag = (long*)(0x9714+0x00); // Found @ ff9f469c & ff9f46d8 180 //#define NR_AUTO (0) // have to explictly reset value back to 0 to enable auto 181 182 // Stubs below matched 100%. 183 // Name Address Comp to stubs_entry_2.S 184 NHSTUB(AllocateUncacheableMemory ,0xff831d54) //112 185 NHSTUB(Close ,0xff82d46c) //120 186 NHSTUB(CreateBinarySemaphore ,0x003f76c8) //115 187 NHSTUB(CreateTask ,0x003f68b0) //120 188 NHSTUB(DebugAssert ,0x003f6c28) //107 189 NHSTUB(DeleteDirectory_Fut ,0xff82ce6c) //116 190 NHSTUB(DoAELock ,0xff82ef2c) //120 191 NHSTUB(DoAFLock ,0xff82ec4c) //120 192 NHSTUB(EnterToCompensationEVF ,0xff82ee94) //104 193 NHSTUB(ExecuteEventProcedure ,0xff889d44) //104 194 NHSTUB(ExitFromCompensationEVF ,0xff82eed8) //104 195 NHSTUB(ExitTask ,0x003f6b40) //120 196 NHSTUB(ExpCtrlTool_StartContiAE ,0xff83e6bc) //104 197 NHSTUB(ExpCtrlTool_StopContiAE ,0xff83e830) //104 198 NHSTUB(Fclose_Fut ,0xff82cf04) //120 199 NHSTUB(Feof_Fut ,0xff82d0f0) // 1 200 NHSTUB(Fflush_Fut ,0xff82d12c) // 1 201 NHSTUB(Fgets_Fut ,0xff82d058) // 6 202 NHSTUB(Fopen_Fut ,0xff82cec4) //120 203 NHSTUB(Fread_Fut ,0xff82cfb0) //120 204 NHSTUB(FreeUncacheableMemory ,0xff831d94) //112 205 NHSTUB(Fseek_Fut ,0xff82d0a4) //120 206 NHSTUB(Fwrite_Fut ,0xff82d004) //120 207 NHSTUB(GetCCDTemperature ,0xff862f5c) //102 208 NHSTUB(GetCurrentAvValue ,0xff96b8cc) //120 209 NHSTUB(GetCurrentShutterSpeed ,0xff8a3f20) //120 210 NHSTUB(GetDrive_ClusterSize ,0xff874e6c) //122 211 NHSTUB(GetDrive_FreeClusters ,0xff875680) //119 212 NHSTUB(GetDrive_TotalClusters ,0xff875658) //122 213 NHSTUB(GetFocusLensSubjectDistance ,0xff96ab98) //102 214 NHSTUB(GetFocusLensSubjectDistanceFromLens ,0xff96af2c) // 3 215 NHSTUB(GetImageFolder ,0xff94aeac) //122 216 NHSTUB(GetKbdState ,0xff861738) //109 217 NHSTUB(GetMemInfo ,0xff814fcc) //115 218 NHSTUB(GetOpticalTemperature ,0xff863048) //120 219 NHSTUB(GetParameterData ,0xff9851d4) //101 220 NHSTUB(GetPropertyCase ,0xff88e0f8) //101 221 NHSTUB(GetSystemTime ,0xffa981fc) //120 222 NHSTUB(GetVRAMHPixelsSize ,0xff84a9b4) //120 223 NHSTUB(GetVRAMVPixelsSize ,0xff84a9c0) //120 224 NHSTUB(GetZoomLensCurrentPoint ,0xff96d448) //120 225 NHSTUB(GetZoomLensCurrentPosition ,0xffa88d50) //102 226 NHSTUB(GiveSemaphore ,0x003f7904) //120 227 NHSTUB(IsStrobeChargeCompleted ,0xff8d4254) //102 228 NHSTUB(LEDDrive ,0xff972694) //120 229 NHSTUB(LocalTime ,0x003fb2e8) //115 230 NHSTUB(LockMainPower ,0xff89056c) //120 231 NHSTUB(MakeSDCardBootable ,0xff875b04) //105 232 NHSTUB(MoveFocusLensToDistance ,0xffb10c84) //102 233 NHSTUB(MoveIrisWithAv ,0xffa9371c) //120 234 NHSTUB(MoveZoomLensWithPoint ,0xffa93e4c) //120 235 NHSTUB(MoveOpticalZoomAt ,0xff82e740) //109 236 NHSTUB(Open ,0xff82d3a4) //120 237 NHSTUB(PB2Rec ,0xff852db8) //104 238 NHSTUB(PT_MoveDigitalZoomToWide ,0xff973794) //102 239 NHSTUB(PT_MoveOpticalZoomAt ,0xff973764) //102 240 NHSTUB(PT_PlaySound ,0xff89cc54) //122 241 NHSTUB(PostLogicalEventForNotPowerType ,0xff88fc5c) //120 242 NHSTUB(PostLogicalEventToUI ,0xff88fca8) //120 243 NHSTUB(PutInNdFilter ,0xffa93c24) //102 244 NHSTUB(PutOutNdFilter ,0xffa93c48) //102 245 NHSTUB(Read ,0xff815a88) //120 246 NHSTUB(ReadFastDir ,0xffa77d8c) //115 247 NHSTUB(Rec2PB ,0xff852df8) //104 248 NHSTUB(RenameFile_Fut ,0xff82cd64) //116 249 NHSTUB(Restart ,0xff831200) //122 250 NHSTUB(ScreenLock ,0xff894df8) //117 251 NHSTUB(ScreenUnlock ,0xff894e4c) //117 252 NHSTUB(SetAE_ShutterSpeed ,0xffb13ff4) //102 253 NHSTUB(SetAutoShutdownTime ,0xff8905e0) //120 254 NHSTUB(SetCurrentCaptureModeType ,0xff89b0b0) //120 255 NHSTUB(SetDate ,0xffb15d7c) //120 256 NHSTUB(SetFileAttributes ,0xff82d870) // 6 257 NHSTUB(SetFileTimeStamp ,0xff82d7f8) // 6 258 NHSTUB(SetLogicalEventActive ,0xff8902e4) //120 259 NHSTUB(SetParameterData ,0xff985140) //101 260 NHSTUB(SetPropertyCase ,0xff88df68) //101 261 NHSTUB(SetScriptMode ,0xff890334) //120 262 NHSTUB(SleepTask ,0x003f7bb0) //120 263 NHSTUB(TakeSemaphore ,0x003f7834) //120 264 NHSTUB(TurnOffBackLight ,0xff89c520) //104 265 NHSTUB(TurnOnBackLight ,0xff89c508) //104 266 NHSTUB(TurnOnDisplay ,0xff85d2a0) //120 267 NHSTUB(TurnOffDisplay ,0xff85d2b0) //120 268 NHSTUB(UIFS_WriteFirmInfoToFile ,0xff9a08f0) //120 269 NHSTUB(UnlockAE ,0xff82ef50) //120 270 NHSTUB(UnlockAF ,0xff82ec7c) //120 271 NHSTUB(UnlockMainPower ,0xff8904c0) //120 272 NHSTUB(UnsetZoomForMovie ,0xff9166b4) //104 273 NHSTUB(VbattGet ,0xff829b04) //120 274 NHSTUB(Write ,0xff82d4c0) //120 275 NHSTUB(WriteSDCard ,0xff95c6bc) //108 276 NHSTUB(_log ,0x003fd0b0) //111 277 NHSTUB(_log10 ,0x003fd5f0) //112 278 NHSTUB(_pow ,0x003fd768) //121 279 NHSTUB(_sqrt ,0x003ff38c) // 6 280 NHSTUB(add_ptp_handler ,0xffa31728) //121 281 NHSTUB(apex2us ,0xff9ed768) //121 282 NHSTUB(close ,0xff8158e4) //109 283 NHSTUB(err_init_task ,0xff8142ac) //111 284 NHSTUB(exmem_alloc ,0xff88870c) //101 285 NHSTUB(exmem_ualloc ,0xff888560) //101 286 NHSTUB(exmem_ufree ,0xff8886ac) //101 287 NHSTUB(free ,0xff812ea8) //112 288 NHSTUB(get_nd_value ,0xffa8688c) //123 289 NHSTUB(get_current_nd_value ,0xffa8682c) //122 290 NHSTUB(kbd_p1_f ,0xff82ad0c) //109 291 NHSTUB(kbd_p1_f_cont ,0xff82ad18) //109 292 NHSTUB(kbd_p2_f ,0xff82a4a4) //109 293 NHSTUB(kbd_read_keys ,0xff82acbc) //109 294 NHSTUB(kbd_read_keys_r2 ,0xff861248) //109 295 NHSTUB(lseek ,0xff82d688) //120 296 NHSTUB(malloc ,0xff812e50) //112 297 NHSTUB(memcmp ,0xff81a938) //120 298 NHSTUB(memcpy ,0xff832128) //120 299 NHSTUB(memset ,0xff89febc) //120 300 NHSTUB(mkdir ,0xff82d908) //121 301 NHSTUB(mktime_ext ,0xff89f6c4) // 1 302 NHSTUB(open ,0xff815834) //109 303 NHSTUB(OpenFastDir ,0xffa77c38) //115 304 NHSTUB(closedir ,0xffa77be8) //121 305 NHSTUB(get_fstype ,0xff874de8) //122 306 NHSTUB(qsort ,0xffae9970) // 6 307 NHSTUB(rand ,0xffae9444) //121 308 NHSTUB(realloc ,0xff9eb338) //115 309 NHSTUB(reboot_fw_update ,0xffa97820) //106 310 NHSTUB(set_control_event ,0xff88ffa4) //111 311 NHSTUB(srand ,0xffae9438) //122 312 NHSTUB(stat ,0xff82d6d0) //109 313 NHSTUB(strcat ,0xff89fd44) // 1 314 NHSTUB(strchr ,0xff812d1c) // 1 315 NHSTUB(strcmp ,0xff81aa34) //120 316 NHSTUB(strcpy ,0xff81a920) //120 317 NHSTUB(strftime ,0xff89f710) //113 318 NHSTUB(strlen ,0xff812d68) //120 319 NHSTUB(strncmp ,0xff812cd0) // 1 320 NHSTUB(strncpy ,0xff812c94) // 1 321 NHSTUB(strrchr ,0xff812d40) // 1 322 NHSTUB(strtol ,0xff832114) //101 323 NHSTUB(strtolx ,0xff831f18) //109 324 DEF(task_CaptSeq ,0xff87d2a4) //120 325 DEF(task_DvlpSeqTask ,0xff976a34) //120 326 DEF(task_ExpDrv ,0xff8b98f4) //120 327 DEF(task_FileWrite ,0xffa73eec) //120 328 DEF(task_InitFileModules ,0xff853790) //120 329 DEF(task_MovieRecord ,0xff9715c8) //120 330 DEF(task_PhySw ,0xff82a808) //120 331 DEF(hook_CreateTask ,0x003f68b0) //105 332 NHSTUB(time ,0x003fb790) //119 333 NHSTUB(vsprintf ,0xff81a7d0) //115 334 NHSTUB(EngDrvRead ,0xff82bb4c) //102 335 NHSTUB(PTM_GetCurrentItem ,0xff890ffc) //105 336 NHSTUB(CancelHPTimer ,0xff88942c) //119 337 NHSTUB(SetHPTimerAfterNow ,0xff889324) //119 338 NHSTUB(SS_MFOn ,0xff973828) //120 339 NHSTUB(SS_MFOff ,0xff973838) //120 340 NHSTUB(GetAdChValue ,0xff85e37c) //120 341 NHSTUB(get_ptp_buf_size ,0xff90272c) //122 342 NHSTUB(get_ptp_file_buf ,0xffa33298) //121 343 NHSTUB(SetVideoOutType ,0xffb1483c) //109 344 NHSTUB(GetVideoOutType ,0xffb1478c) //120