1 // !!! THIS FILE IS GENERATED. DO NOT EDIT. !!! 2 #include "stubs_asm.h" 3 4 // Camera info: 5 // Main firmware start: 0xfc020000 6 // DRYOS R57 (DRYOS version 2.3, release #0057) @ 0xfc6080b8 ref @ 0xfc04686c 7 // Firmware Ver GM1.10F // Found @ 0xfc1fb03c, "GM1.10F" @ 0xfc1fb049 8 9 // Values for makefile.inc 10 // PLATFORMOSVER = 57 11 // DIGIC = 60 12 // MEMISOSTART = 0x3d6ffc 13 // MEMBASEADDR = 0x8000 14 // ARAM_HEAP_START = 0x0074e000# Found @0xfc18ec9c 15 // ARAM_HEAP_SIZE = 0x00022000# Found @0xfc18ec76 16 17 // Detected address ranges: 18 // ROM 0xfc000000 - 0xfe000000 (33554432 bytes) 19 // RAM code 0x010e1000 - 0x01107d60 copied from 0xfceb1908 ( 159072 bytes) 20 // TCM code 0xbfe10800 - 0xbfe1741d copied from 0xfced8668 ( 27677 bytes) 21 // RAM data 0x00008000 - 0x00055334 copied from 0xfce645d4 ( 316212 bytes) 22 // EVEC 0x00000000 - 0x00000038 copied from 0xfc06c5b4 ( 56 bytes) 23 24 // Zico Xtensa blobs: 25 // zico_0 0xbff20000 - 0xbff27938 copied from 0xfca32730 ( 31032 bytes) 26 // zico_1 0xbff00000 - 0xbff04b30 copied from 0xfca3a070 ( 19248 bytes) 27 // zico_2 0x80a00000 - 0x80b15060 copied from 0xfca3eba8 (1134688 bytes) 28 29 // Omar ARM blobs: 30 // omar_0 0xdff00000 - 0xdff00e88 copied from 0xfc6082e0 ( 3720 bytes) 31 // omar_1 0x40780000 - 0x407986b0 copied from 0xfc609168 ( 100016 bytes) 32 33 // Found DryOS versions: 34 // 0xfc6080b8 main "DRYOS version 2.3, release #0057" 35 // 0xfc61f544 other "DRYOS version 2.3, release #0057" 36 // 0xfca3fd58 other "DRYOS version 2.3, release #0057" 37 38 // Values below go in 'platform_camera.h': 39 //#define CAM_DRYOS 1 40 //#define CAM_DRYOS_2_3_R39 1 // Defined for cameras with DryOS version R39 or higher 41 //#define CAM_DRYOS_2_3_R47 1 // Defined for cameras with DryOS version R47 or higher 42 //#define CAM_ILC 1 // Camera is interchangeable lens 43 //#define CAM_HAS_WIFI 1 // Firmware has wifi support (only define if camera has hardware) 44 //#undef CAM_UNCACHED_BIT 45 //#define CAM_UNCACHED_BIT 0x40000000 // Found @0xfc142914 46 //#undef CAM_HAS_ND_FILTER // Camera does not have an ND filter 47 // Camera has an iris (CAM_HAS_IRIS_DIAPHRAGM default) 48 49 // physw_event_table 0xfc623d30 Found @0xfc07eeda 50 // Values below go in 'platform_kbd.h': 51 //#define SD_READONLY_FLAG 0x20000000 // Found @0xfc623dc0, levent 0x20a 52 //#define SD_READONLY_IDX 1 53 //#define USB_MASK 0x10000000 // Found @0xfc623e20, levent 0x202 54 //#define USB_IDX 2 55 56 // Keymap values for kbd.c. Additional keys may be present, only common values included here. 57 // WARNING: Key name / function may vary! Values for unknown DryOS versions should not be trusted! 58 //KeyMap keymap[] = { 59 // { 0, KEY_POWER ,0x00000001 }, // Found @0xfc623d30, levent 0x100 (uses inverted logic in physw_status) 60 // { 0, KEY_PLAYBACK ,0x00000002 }, // Found @0xfc623d38, levent 0x101 (uses inverted logic in physw_status) 61 // { 0, KEY_WIFI ,0x00000004 }, // Found @0xfc623d40, levent 0x103 (uses inverted logic in physw_status) 62 // { 1, KEY_SHOOT_FULL ,0x00040001 }, // Found @0xfc623d60, levent 0x01 63 // { 1, KEY_SHOOT_HALF ,0x00040000 }, // Found @0xfc623db0, levent 0x00 64 // { 1, KEY_SHOOT_FULL_ONLY ,0x00000001 }, // Found @0xfc623d60, levent 0x01 65 // { 1, KEY_VIDEO ,0x00000008 }, // Found @0xfc623d68, levent 0x02 66 // { 1, KEY_UP ,0x00000020 }, // Found @0xfc623d70, levent 0x06 67 // { 1, KEY_DOWN ,0x00000040 }, // Found @0xfc623d78, levent 0x07 68 // { 1, KEY_RIGHT ,0x00000080 }, // Found @0xfc623d80, levent 0x09 69 // { 1, KEY_LEFT ,0x00000100 }, // Found @0xfc623d88, levent 0x08 70 // { 1, KEY_SET ,0x00000200 }, // Found @0xfc623d90, levent 0x0a 71 // { 1, KEY_MENU ,0x00001000 }, // Found @0xfc623da8, levent 0x14 72 // { 0, 0, 0 } 73 //}; 74 75 // canon_mode_list 0xfc77efe8 Found @0xfc0e3dc8 76 // Check modemap values from 'platform/CAMERA/shooting.c': 77 // 32768 0x8000 In firmware but not in current modemap 78 79 // Known propcases 80 // // PROPCASE_AFSTEP 13 81 // #define PROPCASE_FOCUS_STATE 18 82 // #define PROPCASE_AV 23 83 // #define PROPCASE_BV 40 84 // // PROPCASE_DELTA_DIGITALGAIN 84 85 // #define PROPCASE_DELTA_SV 86 86 // // PROPCASE_DELTA_ND 87 87 // // PROPCASE_FELOCK 122 88 // #define PROPCASE_FLASH_ADJUST_MODE 129 89 // #define PROPCASE_FLASH_FIRE 130 90 // // PROPCASE_HSCAPTURE 146 91 // #define PROPCASE_EV_CORRECTION_2 218 92 // #define PROPCASE_ORIENTATION_SENSOR 230 93 // #define PROPCASE_SV_MARKET 257 94 // // PROPCASE_SVFIX 258 95 // #define PROPCASE_TV 274 96 // Guessed propset: 10 97 98 // EXMEM types: 99 // EXMEM_RAMDISK 0 100 // EXMEM_COM 1 101 // EXMEM_FORMATTER 2 102 // EXMEM_SHADING 3 103 // EXMEM_FAMODE 4 104 // EXMEM_FIRMUP 5 105 // EXMEM_FIRMUP_VRAM 6 106 // EXMEM_FIRMUP_INFLATE 7 107 // EXMEM_FIRMUP_PICTURESTYLE 8 108 // EXMEM_DVLPWORK 9 109 // EXMEM_EVF 10 110 // EXMEM_SCRIPT 11 111 // EXMEM_GPS 12 112 // EXMEM_FACEAUTH 13 113 // EXMEM_OHYEARLOG 14 114 // EXMEM_WIFI 15 115 // EXMEM_MULTI_PLY 16 116 // EXMEM_FEP 17 117 // EXMEM_LENS_FIRMUP 18 118 // EXMEM_LENS_COMPENSATION 19 119 // EXMEM_FILESTORE 20 120 // EXMEM_MOVIE_REC 21 121 // EXMEM_MOVIE_PLY 22 122 // EXMEM_WIFI_RESIZE 23 123 // EXMEM_PCEVF 24 124 // EXMEM_WIDE 25 125 // EXMEM_NARROW 26 126 // EXMEM_AUTO_GIS_MODE 27 127 // EXMEM_NP_GIS_MODE 28 128 // EXMEM_TRIPODHDR_MODE 29 129 // EXMEM_HSHQ_MODE 30 130 // EXMEM_CRAW_REC 31 131 // EXMEM_PHOTO_IN_MOVIE 32 132 133 // Values below can be overridden in 'stubs_min.S': 134 DEF(ctypes ,0xfc608160) // Found @0xfc045b30 135 DEF(physw_run ,0x000082cc) // Found @0xfc08c8ca 136 DEF(physw_sleep_delay ,0x000082d4) // (0x82cc+0x8) Found @0xfc08c8ce 137 DEF(physw_status ,0x00056bec) // Found @0xfc08cbb4 138 DEF(fileio_semaphore ,0x00012030) // Found @0xfc07c0be 139 DEF(levent_table ,0xfc660b28) // Found @0xfc11269c 140 DEF(FlashParamsTable ,0xfc77f360) // Found @0xfc0e3ddc 141 DEF(playrec_mode ,0x0000b2f4) // (0xb2f0+0x4) Found @0xfc33e18a 142 DEF(jpeg_count_str ,0x00190ac0) // Found @0xfc1a15f6 143 //DEF(zoom_busy ,0x00000000), ** != ** stubs_min = 0x00000001 (1) 144 //DEF(focus_busy ,0x00000000), ** != ** stubs_min = 0x00000001 (1) 145 DEF(imager_active ,0x0000861c) // (0x8618+0x4) Found @0xfc128198 146 //DEF(canon_menu_active ,0x0000b9a8), stubs_min = 0x0000b9a8 (0x0000b9a8) 147 //DEF(file_counter_var ,0x00011ee4), stubs_min = 0x00011ee4 (0x00011ee4) 148 DEF(cameracon_state ,0x00008a74) // (0x8a64+0x10) Found @0xfc3419a6 149 //DEF(_nrflag ,0x00029c00), stubs_min = 0x00029c00 (0x29c00) 150 DEF(av_override_semaphore ,0x0002e804) // Found @0xfc43f700 151 DEF(active_bitmap_buffer ,0x0000b964) // (0xb924+0x40) Found @0xfc38c5b6 152 //DEF(displaytype ,0x00009740), stubs_min = 0x00009740 (0x9740) 153 //DEF(bitmap_buffer ,0x0000b968), stubs_min = 0x0000b968 (0xb968) 154 //DEF(palette_control ,0x00013528), stubs_min = 0x00013528 (0x13528) 155 //DEF(palette_buffer_ptr ,0x00013540), stubs_min = 0x00013540 (0x13540) 156 //DEF(active_palette_buffer ,0x00013538), stubs_min = 0x00013538 (0x13538) 157 DEF(live_free_cluster_count ,0x0019c5e8) // (0x19c5b0+0x38) Found @0xfc07085c 158 DEF_CONST(uiprop_count ,0x000000d1) // Found @0xfc27de04 159 DEF(exmem_alloc_table ,0x0005e2b8) // Found @0xfc08125a 160 DEF(exmem_types_table ,0xfce679ac) // Found @0xfc08125e 161 DEF_CONST(exmem_type_count ,0x00000021) // Found @0xfce679ac 162 DEF(debug_logging_ptr ,0x00029ae0) // Found @0xfc3ea7c6 163 DEF(debug_logging_flag ,0x00029ad8) // Found @0xfc3ea7c0 164 DEF(mzrm_sendmsg_ret_adr ,0xfc3150cf) 165 DEF_CONST(fw_yuv_layer_buf ,0x41141000) // Found @0xfc23d4ea 166 167 //NHSTUB(DeleteDirectory_Fut ,0x00000000) // 0 *** != 0xfc38a1b9 168 //NHSTUB(DeleteFile_Fut ,0x00000000) // 0 *** != 0xfc38a16f 169 //NHSTUB(EnterToCompensationEVF ,0x00000000) // 0 *** != 0xfc2a5f9f 170 //NHSTUB(ExitFromCompensationEVF ,0x00000000) // 0 *** != 0xfc2a5fe1 171 //NHSTUB(ExpCtrlTool_StartContiAE ,0x00000000) // 0 *** != 0xfc2bb64f 172 //NHSTUB(ExpCtrlTool_StopContiAE ,0x00000000) // 0 *** != 0xfc2bb7e5 173 //NHSTUB(Feof_Fut ,0x00000000) // 0 *** != 0xfc38a35d 174 //NHSTUB(Fflush_Fut ,0x00000000) // 0 *** != 0xfc38a385 175 //NHSTUB(GetDrive_TotalClusters ,0x00000000) // 0 *** != 0xfc38938f 176 //NHSTUB(GetImageFolder ,0x00000000) // 0 *** != 0xfc3134f1 177 //NHSTUB(MakeSDCardBootable ,0x00000000) // 0 *** != 0xfc38971d 178 //NHSTUB(RenameFile_Fut ,0x00000000) // 0 *** != 0xfc38a10d 179 //NHSTUB(Restart ,0x00000000) // 0 *** != 0xfc12790b 180 //NHSTUB(SetFileAttributes ,0x00000000) // 0 *** != 0xfc389b4d 181 //NHSTUB(SetFileTimeStamp ,0x00000000) // 0 *** != 0xfc389b05 182 //NHSTUB(SetParameterData ,0x00000000) // 0 *** != 0xfc27e64f 183 //NHSTUB(WriteSDCard ,0x00000000) // 0 *** != 0x010e2c9d 184 //NHSTUB(apex2us ,0x00000000) // 0 *** != 0xfc1b1d07 185 //NHSTUB(displaybusyonscreen ,0x00000000) // 0 *** != 0xfc327407 186 //NHSTUB(undisplaybusyonscreen ,0x00000000) // 0 *** != 0xfc32749d 187 //NHSTUB(CancelHPTimer ,0x00000000) // 0 *** != 0xfc1faa7d 188 //NHSTUB(SetHPTimerAfterNow ,0x00000000) // 0 *** != 0xfc1fa9e5 189 190 NHSTUB(AllocateUncacheableMemory ,0xfc1428e5) // 0 191 NHSTUB(Close ,0xfc3898b9) // 0 192 NHSTUB(CreateBinarySemaphore ,0xbfe152f1) // 0 193 NHSTUB(CreateTask ,0xbfe14a41) // 0 194 NHSTUB(DebugAssert ,0x010e1009) // 0 195 NHSTUB(DeleteSemaphore ,0xbfe15375) // 0 196 NHSTUB(DoAELock ,0xfc2a618b) // 0 197 NHSTUB(DoAFLock ,0xfc2a5db7) // 0 198 NHSTUB2(ExecuteEventProcedure ,0xfc33e4c5) // 0 199 NHSTUB(ExitTask ,0xbfe14c23) // 0 200 NHSTUB(Fclose_Fut ,0xfc38a21b) // 0 201 NHSTUB(Fgets_Fut ,0xfc38a2f9) // 0 202 NHSTUB(Fopen_Fut ,0xfc38a1f3) // 0 203 NHSTUB(Fread_Fut ,0xfc38a28d) // 0 204 NHSTUB(FreeUncacheableMemory ,0xfc142911) // 0 205 NHSTUB(Fseek_Fut ,0xfc38a32b) // 0 206 NHSTUB(Fwrite_Fut ,0xfc38a2c3) // 0 207 NHSTUB(GetBatteryTemperature ,0xfc1f3941) // 0 208 NHSTUB(GetCCDTemperature ,0xfc1f38e5) // 0 209 NHSTUB(GetCurrentAvValue ,0xfc33992d) // 0 210 NHSTUB(GetCurrentShutterSpeed ,0xfc142baf) // 0 211 NHSTUB(GetUsableMaxAv ,0xfc181a65) // 0 212 NHSTUB(GetUsableMinAv ,0xfc181a53) // 0 213 NHSTUB(get_current_deltasv ,0xfc20f577) // 0 214 NHSTUB(GetCurrentDriveBaseSvValue ,0xfc317aa7) // 0 215 NHSTUB(GetDrive_ClusterSize ,0xfc388eaf) // 0 216 NHSTUB(GetFocusLensSubjectDistance ,0xfc360d3f) // 0 217 //NHSTUB(GetFocusLensSubjectDistanceFromLens ,0x00000000) // 0 == 0x00000000 218 NHSTUB(GetKbdState ,0xfc07efad) // 0 219 NHSTUB(GetMemInfo ,0xfc5b6bd1) // 0 220 NHSTUB(GetOpticalTemperature ,0xfc1f399b) // 0 221 NHSTUB(GetParameterData ,0xfc27e6c7) // 0 222 NHSTUB(GetPropertyCase ,0xfc38825f) // 0 223 NHSTUB(GetSystemTime ,0xfc44395d) // 0 224 NHSTUB(GetVRAMHPixelsSize ,0xfc12a4d3) // 0 225 NHSTUB(GetVRAMVPixelsSize ,0xfc12a4db) // 0 226 NHSTUB(GetZoomLensCurrentPoint ,0xfc18639f) // 0 227 NHSTUB(GetZoomLensCurrentPosition ,0xfc186353) // 0 228 NHSTUB(GiveSemaphore ,0xbfe1545d) // 0 229 NHSTUB(IsStrobeChargeCompleted ,0xfc152295) // 0 230 NHSTUB(LEDDrive ,0xfc189ec5) // 0 231 NHSTUB(LocalTime ,0x010e1589) // 0 232 NHSTUB(LockMainPower ,0xfc1fb48d) // 0 233 NHSTUB(MakeDirectory_Fut ,0xfc389ba3) // 0 234 //NHSTUB(MoveFocusLensToDistance ,0x00000000) // 0 == 0x00000000 235 NHSTUB(MoveIrisWithAv ,0xfc43f6ed) // 0 236 NHSTUB(Open ,0xfc389835) // 0 237 NHSTUB(PB2Rec ,0xfc33ffb1) // 0 238 //NHSTUB(PT_PlaySound ,0xfc38c953) // 0 == 0xfc38c953 239 NHSTUB(PostLogicalEventForNotPowerType ,0xfc3858fd) // 0 240 NHSTUB(PostLogicalEventToUI ,0xfc385931) // 0 241 NHSTUB(Read ,0xfc1ebe61) // 0 242 NHSTUB(ReadFastDir ,0xfc1168dd) // 0 243 NHSTUB(Rec2PB ,0xfc33fff5) // 0 244 //NHSTUB(ScreenLock ,0xfc38c539) // 0 == 0xfc38c539 245 //NHSTUB(ScreenUnlock ,0xfc38c56f) // 0 == 0xfc38c56f 246 NHSTUB(SetAE_ShutterSpeed ,0xfc5bb2dd) // 0 247 NHSTUB(SetAutoShutdownTime ,0xfc1fb4dd) // 0 248 NHSTUB(SetCurrentCaptureModeType ,0xfc37102f) // 0 249 NHSTUB(SetDate ,0xfc5bc795) // 0 250 NHSTUB(SetLogicalEventActive ,0xfc3794c1) // 0 251 NHSTUB(SetPropertyCase ,0xfc38810d) // 0 252 NHSTUB(SetScriptMode ,0xfc3794f9) // 0 253 NHSTUB(SleepTask ,0xbfe1496d) // 0 254 NHSTUB(TakeSemaphore ,0xbfe153e5) // 0 255 NHSTUB(TurnOffBackLight ,0xfc1f0abb) // 0 256 NHSTUB(TurnOnBackLight ,0xfc1f0a5f) // 0 257 NHSTUB(TurnOnDisplay ,0xfc177017) // 0 258 NHSTUB(TurnOffDisplay ,0xfc177029) // 0 259 NHSTUB(UnlockAE ,0xfc2a61a9) // 0 260 NHSTUB(UnlockAF ,0xfc2a5de7) // 0 261 NHSTUB(UnlockMainPower ,0xfc1fb425) // 0 262 NHSTUB(VbattGet ,0xfc12711b) // 0 263 NHSTUB(Write ,0xfc3898f1) // 0 264 NHSTUB(_log ,0x011033b8) // 0 265 NHSTUB(_log10 ,0x011038d8) // 0 266 NHSTUB(_pow ,0x01103a40) // 0 267 NHSTUB(_sqrt ,0x01105ac0) // 0 268 NHSTUB(add_ptp_handler ,0xfc307b0b) // 0 269 NHSTUB(close ,0xfc1ebd5b) // 0 270 NHSTUB(exmem_alloc ,0xfc081793) // 0 271 NHSTUB(exmem_ualloc ,0xfc08169d) // 0 272 NHSTUB(exmem_ufree ,0xfc081757) // 0 273 NHSTUB(free ,0xfc38d45b) // 0 274 NHSTUB(kbd_p1_f ,0xfc08cbad) // 0 275 NHSTUB(kbd_p1_f_cont ,0xfc08cbb5) // 0 276 NHSTUB(kbd_p2_f ,0xfc08c625) // 0 277 NHSTUB(kbd_read_keys ,0xfc08cb77) // 0 278 NHSTUB(kbd_read_keys_r2 ,0xfc07eed1) // 0 279 NHSTUB(lseek ,0xfc389a15) // 0 280 NHSTUB(malloc ,0xfc38d425) // 0 281 NHSTUB(memcmp ,0xfc38d681) // 0 282 NHSTUB(memcpy ,0xfc20199d) // 0 283 NHSTUB(memset ,0xfc1a7cf5) // 0 284 NHSTUB(mktime_ext ,0xfc201599) // 0 285 NHSTUB(open ,0xfc1ebceb) // 0 286 NHSTUB(OpenFastDir ,0xfc11683d) // 0 287 NHSTUB(closedir ,0xfc116805) // 0 288 NHSTUB(get_fstype ,0xfc388e49) // 0 289 NHSTUB(qsort ,0xfc3c5e69) // 0 290 NHSTUB(rand ,0xfc1049f3) // 0 291 //NHSTUB(reboot_fw_update ,0x00000000) // 0 == 0x00000000 292 NHSTUB(set_control_event ,0xfc379305) // 0 293 NHSTUB(srand ,0xfc1049ed) // 0 294 NHSTUB(stat ,0xfc389a4d) // 0 295 NHSTUB(strcat ,0xfc38d261) // 0 296 NHSTUB(strchr ,0xfc201a5b) // 0 297 NHSTUB(strcmp ,0xfc38d4b1) // 0 298 NHSTUB(strcpy ,0xfc38d48d) // 0 299 NHSTUB(strftime ,0xfc2015c9) // 0 300 NHSTUB(strlen ,0xfc38d515) // 0 301 NHSTUB(strncmp ,0xfc38d283) // 0 302 NHSTUB(strncpy ,0xfc38d23d) // 0 303 NHSTUB(strrchr ,0xfc13b359) // 0 304 NHSTUB(strtol ,0xfc13b34b) // 0 305 //NHSTUB(strtolx ,0xfc13b209) // 0 == 0xfc13b209 306 DEF(task_CaptSeq ,0xfc0bce67) // 0 307 DEF(task_DvlpSeqTask ,0xfc10ffbb) // 0 308 DEF(task_ExpDrv ,0xfc27baa1) // 0 309 DEF(task_FileWrite ,0xfc0736b3) // 0 310 DEF(task_InitFileModules ,0xfc0d4a01) // 0 311 DEF(task_MovieRecord ,0xfc100c55) // 0 312 DEF(task_PhySw ,0xfc08c8c9) // 0 313 DEF(task_TouchPanel ,0xfc133401) // 0 314 DEF(task_TricInitTask ,0xfc560791) // 0 315 DEF(hook_CreateTask ,0xbfe14a40) // 0 316 NHSTUB(time ,0x010e11eb) // 0 317 NHSTUB(vsprintf ,0xfc1049bf) // 0 318 NHSTUB(EngDrvRead ,0xfc38d2ed) // 0 319 NHSTUB(PTM_GetCurrentItem ,0xfc372141) // 0 320 NHSTUB(SetEventFlag ,0xbfe14e53) // 0 321 NHSTUB(transfer_src_overlay ,0xfc38ba7d) // 0 322 NHSTUB(bzero ,0x01100b74) // 0 323 NHSTUB(memset32 ,0x01100b78) // 0 324 NHSTUB(get_dial_hw_position ,0xfc4365dd) // 0 325 NHSTUB(PT_MFOn ,0xfc2a6f1d) // 0 326 NHSTUB(PT_MFOff ,0xfc2a6f4d) // 0 327 NHSTUB(GetAdChValue ,0xfc1f1c83) // 0 328 NHSTUB(EnableHDMIPower ,0xfc131925) // 0 329 NHSTUB(DisableHDMIPower ,0xfc131955) // 0 330 NHSTUB(SetVideoOutType ,0xfc5bb871) // 0 331 NHSTUB(GetVideoOutType ,0xfc5bb7dd) // 0 332 NHSTUB(IsWirelessConnect ,0xfc31d8f5) // 0