1 // !!! THIS FILE IS GENERATED. DO NOT EDIT. !!! 2 #include "stubs_asm.h" 3 4 // Camera info: 5 // Main firmware start: 0xfc020000 6 // DRYOS R54 (DRYOS version 2.3, release #0054+p3) @ 0xfc514920 ref @ 0xfc0497ac 7 // Firmware Ver GM1.00E // Found @ 0xfc1366bc, "GM1.00E" @ 0xfc1366c9 8 9 // Values for makefile.inc 10 // PLATFORMOSVER = 54 11 // DIGIC = 60 12 // MEMISOSTART = 0x35bb28 13 // MEMBASEADDR = 0x8000 14 // ARAM_HEAP_START = 0x006ce000# Found @0xfc1bc880 15 // ARAM_HEAP_SIZE = 0x00022000# Found @0xfc1bc85a 16 17 // Detected address ranges: 18 // ROM 0xfc000000 - 0xfe000000 (33554432 bytes) 19 // RAM code 0x010c1000 - 0x010df808 copied from 0xfcc64c5c ( 124936 bytes) 20 // RAM data 0x00008000 - 0x0002efdc copied from 0xfcc3dc80 ( 159708 bytes) 21 // EVEC 0x00000000 - 0x00000038 copied from 0xfc05d104 ( 56 bytes) 22 23 // Zico Xtensa blobs: 24 // zico_0 0xbff20000 - 0xbff27398 copied from 0xfca30bec ( 29592 bytes) 25 // zico_1 0xbff00000 - 0xbff04a70 copied from 0xfca37f8c ( 19056 bytes) 26 // zico_2 0x80a00000 - 0x80b09020 copied from 0xfca3ca04 (1085472 bytes) 27 28 // Found DryOS versions: 29 // 0xfc514920 main "DRYOS version 2.3, release #0054+p3" 30 // 0xfc52af78 other "DRYOS version 2.3, release #0054+p3" 31 // 0xfca3d9e4 other "DRYOS version 2.3, release #0054+p4" 32 33 // Values below go in 'platform_camera.h': 34 //#define CAM_DRYOS 1 35 //#define CAM_DRYOS_2_3_R39 1 // Defined for cameras with DryOS version R39 or higher 36 //#define CAM_DRYOS_2_3_R47 1 // Defined for cameras with DryOS version R47 or higher 37 //#undef CAM_UNCACHED_BIT 38 //#define CAM_UNCACHED_BIT 0x40000000 // Found @0xfc148c98 39 //#undef CAM_HAS_ND_FILTER // Camera does not have an ND filter 40 // Camera has an iris (CAM_HAS_IRIS_DIAPHRAGM default) 41 42 // physw_event_table 0xfc5693dc Found @0xfc06e124 43 // Values below go in 'platform_kbd.h': 44 //#define SD_READONLY_FLAG 0x20000000 // Found @0xfc569464, levent 0x20a 45 //#define SD_READONLY_IDX 1 46 //#define USB_MASK 0x10000000 // Found @0xfc5694e4, levent 0x202 47 //#define USB_IDX 2 48 //#define BATTCOVER_FLAG 0x04000000 // Found @0xfc5694dc, levent 0x205 49 //#define BATTCOVER_IDX 2 50 //#define ANALOG_AV_FLAG 0x00008000 // Found @0xfc56944c, levent 0x200 (non-inverted logic) 51 //#define ANALOG_AV_IDX 1 52 53 // Keymap values for kbd.c. Additional keys may be present, only common values included here. 54 // WARNING: Key name / function may vary! Values for unknown DryOS versions should not be trusted! 55 //KeyMap keymap[] = { 56 // { 0, KEY_POWER ,0x00000001 }, // Found @0xfc5693dc, levent 0x100 57 // { 0, KEY_PLAYBACK ,0x00000002 }, // Found @0xfc5693e4, levent 0x101 58 // { 0, KEY_SHOOT_FULL ,0x0000000c }, // Found @0xfc5693f4, levent 0x01 59 // { 0, KEY_SHOOT_FULL_ONLY ,0x00000008 }, // Found @0xfc5693f4, levent 0x01 60 // { 0, KEY_SHOOT_HALF ,0x00000004 }, // Found @0xfc5693ec, levent 0x00 61 // { 0, KEY_VIDEO ,0x00000100 }, // Found @0xfc5693fc, levent 0x02 62 // { 0, KEY_MENU ,0x00000200 }, // Found @0xfc569404, levent 0x0e 63 // { 0, KEY_DISPLAY ,0x00002000 }, // Found @0xfc56940c, levent 0x0d 64 // { 0, KEY_UP ,0x00004000 }, // Found @0xfc569414, levent 0x06 65 // { 0, KEY_DOWN ,0x00008000 }, // Found @0xfc56941c, levent 0x07 66 // { 0, KEY_RIGHT ,0x00010000 }, // Found @0xfc569424, levent 0x09 67 // { 1, KEY_LEFT ,0x00000004 }, // Found @0xfc56942c, levent 0x08 68 // { 1, KEY_SET ,0x00000008 }, // Found @0xfc569434, levent 0x0a 69 // { 1, KEY_WIFI ,0x00000020 }, // Found @0xfc569444, levent 0x103 70 // { 0, 0, 0 } 71 //}; 72 73 // canon_mode_list 0xfc867474 Found @0xfc3761bc 74 // Check modemap values from 'platform/CAMERA/shooting.c': 75 // 33335 0x8237 In firmware but not in current modemap 76 // 32832 0x8040 In firmware but not in current modemap 77 // 16943 0x422f In firmware but not in current modemap 78 // 16945 0x4231 In firmware but not in current modemap 79 // 33295 0x820f In firmware but not in current modemap 80 81 // Known propcases 82 // // PROPCASE_AFSTEP 13 83 // #define PROPCASE_FOCUS_STATE 18 84 // #define PROPCASE_AV 23 85 // #define PROPCASE_BV 34 86 // // PROPCASE_DELTA_DIGITALGAIN 77 87 // #define PROPCASE_DELTA_SV 79 88 // // PROPCASE_DELTA_ND 80 89 // // PROPCASE_FELOCK 114 90 // #define PROPCASE_FLASH_ADJUST_MODE 121 91 // #define PROPCASE_FLASH_FIRE 122 92 // // PROPCASE_HSCAPTURE 138 93 // #define PROPCASE_EV_CORRECTION_2 210 94 // #define PROPCASE_ORIENTATION_SENSOR 222 95 // #define PROPCASE_SV_MARKET 249 96 // // PROPCASE_SVFIX 250 97 // #define PROPCASE_TV 265 98 // Guessed propset: 6 99 100 // EXMEM types: 101 // EXMEM_RAMDISK 0 102 // EXMEM_COM 1 103 // EXMEM_FORMATTER 2 104 // EXMEM_SHADING 3 105 // EXMEM_FAMODE 4 106 // EXMEM_FIRMUP 5 107 // EXMEM_FIRMUP_VRAM 6 108 // EXMEM_FIRMUP_INFLATE 7 109 // EXMEM_DVLPWORK 8 110 // EXMEM_EVF 9 111 // EXMEM_SCRIPT 10 112 // EXMEM_GPS 11 113 // EXMEM_FACEAUTH 12 114 // EXMEM_OHYEARLOG 13 115 // EXMEM_WIFI 14 116 // EXMEM_MULTI_PLY 15 117 // EXMEM_FEP 16 118 // EXMEM_FILESTORE 17 119 // EXMEM_MOVIE_REC 18 120 // EXMEM_MOVIE_PLY 19 121 // EXMEM_WIFI_RESIZE 20 122 // EXMEM_PCEVF 21 123 // EXMEM_WIDE 22 124 // EXMEM_NARROW 23 125 // EXMEM_AUTO_GIS_MODE 24 126 // EXMEM_NP_GIS_MODE 25 127 // EXMEM_TRIPODHDR_MODE 26 128 // EXMEM_HSHQ_MODE 27 129 // EXMEM_CRAW_REC 28 130 // EXMEM_CREATIVE_SHOT 29 131 // EXMEM_BACKBLUR 30 132 133 // Values below can be overridden in 'stubs_min.S': 134 DEF(ctypes ,0xfc5149c8) // Found @0xfc03b7cc 135 DEF(physw_run ,0x000082c8) // Found @0xfc07a0be 136 DEF(physw_sleep_delay ,0x000082d0) // (0x82c8+0x8) Found @0xfc07a0c2 137 DEF(physw_status ,0x000308b0) // Found @0xfc07a3bc 138 DEF(fileio_semaphore ,0x00013264) // Found @0xfc06c076 139 DEF(levent_table ,0xfc635680) // Found @0xfc0bb1bc 140 DEF(FlashParamsTable ,0xfc86772c) // Found @0xfc3761d0 141 DEF(playrec_mode ,0x0000bbb4) // (0xbbb0+0x4) Found @0xfc2b719a 142 DEF(jpeg_count_str ,0x00157130) // Found @0xfc1f5a7a 143 DEF(zoom_busy ,0x0000b88c) // (0xb86c+0x20) Found @0xfc12a982 144 DEF(focus_busy ,0x00013448) // (0x13440+0x8) Found @0xfc2dc05a 145 DEF(imager_active ,0x0000863c) // (0x8638+0x4) Found @0xfc11cd66 146 //DEF(canon_menu_active ,0x0000c7b4), stubs_min = 0x0000c7b4 (0x0000c7b0+0x4) 147 //DEF(file_counter_var ,0x00013128), stubs_min = 0x00013128 (0x00013128) 148 DEF(_nrflag ,0x0001b8e4) // (0x1b8e0+0x4) Found @0xfc3145f2 149 //DEF(av_override_semaphore ,0x00022784), stubs_min = 0x00022784 (0x00022784) 150 DEF(active_bitmap_buffer ,0x0000c784) // (0xc754+0x30) Found @0xfc30d300 151 //DEF(displaytype ,0x00008f98), stubs_min = 0x00008f98 (0x8f98) 152 //DEF(bitmap_buffer ,0x0000c788), stubs_min = 0x0000c788 (0xc754+0x34) 153 DEF(palette_control ,0x00014b2c) // Found @0xfc308a30 154 DEF(palette_buffer_ptr ,0x00014b44) // (0x14b2c+0x18) Found @0xfc308a4e 155 DEF(active_palette_buffer ,0x00014b3c) // (0x14b2c+0x10) Found @0xfc308a36 156 DEF_CONST(uiprop_count ,0x0000009d) // Found @0xfc0bb660 157 DEF(exmem_alloc_table ,0x00037a40) // Found @0xfc06e71e 158 DEF(exmem_types_table ,0xfcc418fc) // Found @0xfc06e722 159 DEF_CONST(exmem_type_count ,0x0000001f) // Found @0xfcc418fc 160 // focus_len_table contains zoom focus lengths for use in 'get_focal_length' (main.c). 161 // each entry contains 2 int value(s), the first is the zoom focus length. 162 // there are 112 entries in the table - set NUM_FL to 112 163 //DEF(focus_len_table ,0xfdf2ce94) // Found @0xfdf2ce94, stubs_min = 0xfdf2ce94 (0xfdf2ce94) 164 165 //NHSTUB(EnterToCompensationEVF ,0x00000000) // 0 *** != 0xfc25c1a9 166 //NHSTUB(ExitFromCompensationEVF ,0x00000000) // 0 *** != 0xfc254ce9 167 //NHSTUB(ExpCtrlTool_StartContiAE ,0x00000000) // 0 *** != 0xfc24d359 168 //NHSTUB(ExpCtrlTool_StopContiAE ,0x00000000) // 0 *** != 0xfc24d439 169 //NHSTUB(Feof_Fut ,0x00000000) // 0 *** != 0xfc2d7d95 170 //NHSTUB(Fflush_Fut ,0x00000000) // 0 *** != 0xfc2d7dbd 171 //NHSTUB(GetDrive_TotalClusters ,0x00000000) // 0 *** != 0xfc307985 172 //NHSTUB(GetFocusLensSubjectDistanceFromLens ,0x00000000) // 0 *** != 0xfc2dcf41 173 //NHSTUB(GetImageFolder ,0x00000000) // 0 *** != 0xfc2e07d9 174 //NHSTUB(MakeSDCardBootable ,0x00000000) // 0 *** != 0xfc307d93 175 //NHSTUB(RenameFile_Fut ,0x00000000) // 0 *** != 0xfc2d7b45 176 //NHSTUB(Restart ,0x00000000) // 0 *** != 0xfc0a6e95 177 //NHSTUB(SetFileAttributes ,0x00000000) // 0 *** != 0xfc308145 178 //NHSTUB(SetFileTimeStamp ,0x00000000) // 0 *** != 0xfc3080fd 179 //NHSTUB(SetParameterData ,0x00000000) // 0 *** != 0xfc0bbdd7 180 //NHSTUB(WriteSDCard ,0x00000000) // 0 *** != 0xfc0e851d 181 //NHSTUB(apex2us ,0x00000000) // 0 *** != 0xfc313637 182 //NHSTUB(reboot_fw_update ,0x00000000) // 0 *** != 0xfc370b89 183 //NHSTUB(CancelHPTimer ,0x00000000) // 0 *** != 0xfc1360f5 184 185 NHSTUB(AllocateUncacheableMemory ,0xfc148c69) // 0 186 NHSTUB(Close ,0xfc307eb1) // 0 187 NHSTUB(CreateBinarySemaphore ,0x010c5919) // 0 188 NHSTUB(CreateTask ,0x010c5075) // 0 189 NHSTUB(DebugAssert ,0x010c5c6d) // 0 190 NHSTUB(DeleteDirectory_Fut ,0xfc2d7bf1) // 0 191 NHSTUB(DeleteFile_Fut ,0xfc2d7ba7) // 0 192 NHSTUB(DoAELock ,0xfc25c231) // 0 193 NHSTUB(DoAFLock ,0xfc25bebf) // 0 194 NHSTUB2(ExecuteEventProcedure ,0xfc2ddb69) // 0 195 NHSTUB(ExitTask ,0x010c5249) // 0 196 NHSTUB(Fclose_Fut ,0xfc2d7c53) // 0 197 NHSTUB(Fgets_Fut ,0xfc2d7d31) // 0 198 NHSTUB(Fopen_Fut ,0xfc2d7c2b) // 0 199 NHSTUB(Fread_Fut ,0xfc2d7cc5) // 0 200 NHSTUB(FreeUncacheableMemory ,0xfc148c95) // 0 201 NHSTUB(Fseek_Fut ,0xfc2d7d63) // 0 202 NHSTUB(Fwrite_Fut ,0xfc2d7cfb) // 0 203 NHSTUB(GetBatteryTemperature ,0xfc12452d) // 0 204 NHSTUB(GetCCDTemperature ,0xfc1244d1) // 0 205 NHSTUB(GetCurrentAvValue ,0xfc12a525) // 0 206 NHSTUB(GetCurrentShutterSpeed ,0xfc14975f) // 0 207 NHSTUB(GetUsableMaxAv ,0xfc1a2c7b) // 0 208 NHSTUB(GetUsableMinAv ,0xfc1a2c69) // 0 209 NHSTUB(GetDrive_ClusterSize ,0xfc30747b) // 0 210 NHSTUB(GetDrive_FreeClusters ,0xfc3079a9) // 0 211 NHSTUB(GetFocusLensSubjectDistance ,0xfc2dcc47) // 0 212 NHSTUB(GetKbdState ,0xfc06e207) // 0 213 NHSTUB(GetMemInfo ,0xfc3d4cdd) // 0 214 NHSTUB(GetOpticalTemperature ,0xfc124587) // 0 215 NHSTUB(GetParameterData ,0xfc0bbe57) // 0 216 NHSTUB(GetPropertyCase ,0xfc2ef51d) // 0 217 NHSTUB(GetSystemTime ,0xfc40e739) // 0 218 NHSTUB(GetVRAMHPixelsSize ,0xfc12006d) // 0 219 NHSTUB(GetVRAMVPixelsSize ,0xfc120075) // 0 220 NHSTUB(GetZoomLensCurrentPoint ,0xfc12abcd) // 0 221 NHSTUB(GetZoomLensCurrentPosition ,0xfc12ab61) // 0 222 NHSTUB(GiveSemaphore ,0x010c5a85) // 0 223 NHSTUB(IsStrobeChargeCompleted ,0xfc16c6a3) // 0 224 NHSTUB(LEDDrive ,0xfc1b6911) // 0 225 NHSTUB(LocalTime ,0x010c6281) // 0 226 NHSTUB(LockMainPower ,0xfc136c6f) // 0 227 NHSTUB(MakeDirectory_Fut ,0xfc30819b) // 0 228 NHSTUB(MoveFocusLensToDistance ,0xfc45d257) // 0 229 NHSTUB(MoveIrisWithAv ,0xfc40cb75) // 0 230 NHSTUB(MoveZoomLensWithPoint ,0xfc40d325) // 0 231 NHSTUB(Open ,0xfc307e2d) // 0 232 NHSTUB(PB2Rec ,0xfc0cd749) // 0 233 NHSTUB(PT_MoveDigitalZoomToWide ,0xfc25b817) // 0 234 NHSTUB(PT_MoveOpticalZoomAt ,0xfc1b7795) // 0 235 NHSTUB(MoveOpticalZoomAt ,0xfc25b63d) // 0 236 NHSTUB(PT_PlaySound ,0xfc13a0f9) // 0 237 NHSTUB(PostLogicalEventForNotPowerType ,0xfc305e69) // 0 238 NHSTUB(PostLogicalEventToUI ,0xfc305e95) // 0 239 NHSTUB(PutInNdFilter ,0xfc45d539) // 0 240 NHSTUB(PutOutNdFilter ,0xfc45d55f) // 0 241 NHSTUB(Read ,0xfc119b79) // 0 242 NHSTUB(ReadFastDir ,0xfc0faf71) // 0 243 NHSTUB(Rec2PB ,0xfc0cd787) // 0 244 NHSTUB(ScreenLock ,0xfc30d24f) // 0 245 NHSTUB(ScreenUnlock ,0xfc30d28d) // 0 246 NHSTUB(SetAE_ShutterSpeed ,0xfc459d69) // 0 247 NHSTUB(SetAutoShutdownTime ,0xfc136cbb) // 0 248 NHSTUB(SetCurrentCaptureModeType ,0xfc2de78d) // 0 249 NHSTUB(SetLogicalEventActive ,0xfc3068a7) // 0 250 NHSTUB(SetPropertyCase ,0xfc2ef3e7) // 0 251 NHSTUB(SetScriptMode ,0xfc3068df) // 0 252 NHSTUB(SleepTask ,0x010c4fdd) // 0 253 NHSTUB(TakeSemaphore ,0x010c5a0d) // 0 254 NHSTUB(TurnOffBackLight ,0xfc1212c3) // 0 255 NHSTUB(TurnOnBackLight ,0xfc121283) // 0 256 NHSTUB(TurnOnDisplay ,0xfc0e3a1d) // 0 257 NHSTUB(TurnOffDisplay ,0xfc0e3a2f) // 0 258 NHSTUB(UnlockAE ,0xfc25c24f) // 0 259 NHSTUB(UnlockAF ,0xfc25bee7) // 0 260 NHSTUB(UnlockMainPower ,0xfc136c0b) // 0 261 //NHSTUB(UnsetZoomForMovie ,0x00000000) // 0 == 0x00000000 262 NHSTUB(VbattGet ,0xfc11a537) // 0 263 NHSTUB(Write ,0xfc307ee9) // 0 264 NHSTUB(_log ,0x010daf58) // 0 265 NHSTUB(_log10 ,0x010db478) // 0 266 NHSTUB(_pow ,0x010db5e0) // 0 267 NHSTUB(_sqrt ,0x010dd660) // 0 268 NHSTUB(add_ptp_handler ,0xfc0b2aef) // 0 269 NHSTUB(close ,0xfc119a73) // 0 270 NHSTUB(exmem_alloc ,0xfc06ebed) // 0 271 NHSTUB(exmem_ualloc ,0xfc06e9db) // 0 272 NHSTUB(exmem_ufree ,0xfc06ebb1) // 0 273 NHSTUB(free ,0xfc30faf7) // 0 274 NHSTUB(kbd_p1_f ,0xfc07a3b5) // 0 275 NHSTUB(kbd_p1_f_cont ,0xfc07a3bd) // 0 276 NHSTUB(kbd_p2_f ,0xfc079e89) // 0 277 NHSTUB(kbd_read_keys ,0xfc07a37f) // 0 278 NHSTUB(kbd_read_keys_r2 ,0xfc06e121) // 0 279 NHSTUB(lseek ,0xfc30800d) // 0 280 NHSTUB(malloc ,0xfc30fac1) // 0 281 NHSTUB(memcmp ,0xfc30fb3b) // 0 282 NHSTUB(memcpy ,0xfc0d91c1) // 0 283 NHSTUB(memset ,0xfc1febc5) // 0 284 NHSTUB(mktime_ext ,0xfc3d695d) // 0 285 NHSTUB(open ,0xfc119a03) // 0 286 NHSTUB(OpenFastDir ,0xfc0faed1) // 0 287 NHSTUB(closedir ,0xfc0fae99) // 0 288 NHSTUB(get_fstype ,0xfc307415) // 0 289 NHSTUB(qsort ,0xfc3ed63d) // 0 290 NHSTUB(rand ,0xfc1feba7) // 0 291 NHSTUB(set_control_event ,0xfc3065ed) // 0 292 NHSTUB(srand ,0xfc1feba1) // 0 293 NHSTUB(stat ,0xfc308045) // 0 294 NHSTUB(strcat ,0xfc30f979) // 0 295 NHSTUB(strchr ,0xfc13c83d) // 0 296 NHSTUB(strcmp ,0xfc30f9e3) // 0 297 NHSTUB(strcpy ,0xfc30f9bf) // 0 298 NHSTUB(strftime ,0xfc13c275) // 0 299 NHSTUB(strlen ,0xfc30fa35) // 0 300 NHSTUB(strncmp ,0xfc13c813) // 0 301 NHSTUB(strncpy ,0xfc30f99b) // 0 302 NHSTUB(strrchr ,0xfc0d9255) // 0 303 NHSTUB(strtol ,0xfc13c7db) // 0 304 NHSTUB(strtolx ,0xfc13c699) // 0 305 DEF(task_CaptSeq ,0xfc12de09) // 0 306 DEF(task_DvlpSeqTask ,0xfc1ba4f7) // 0 307 DEF(task_ExpDrv ,0xfc276991) // 0 308 DEF(task_FileWrite ,0xfc0640ad) // 0 309 DEF(task_InitFileModules ,0xfc0aa0a1) // 0 310 DEF(task_MovieRecord ,0xfc1b40e3) // 0 311 DEF(task_PhySw ,0xfc07a0bd) // 0 312 DEF(task_TricInitTask ,0xfc3c5ded) // 0 313 DEF(hook_CreateTask ,0x010c5074) // 0 314 NHSTUB(time ,0x010c5f21) // 0 315 NHSTUB(vsprintf ,0xfc0afa03) // 0 316 NHSTUB(EngDrvRead ,0xfc30f865) // 0 317 NHSTUB(PTM_GetCurrentItem ,0xfc30f5e5) // 0 318 NHSTUB(DisableISDriveError ,0xfc40d9b5) // 0 319 NHSTUB(SetHPTimerAfterNow ,0xfc13605d) // 0 320 NHSTUB(SetEventFlag ,0x010c547b) // 0 321 NHSTUB(transfer_src_overlay ,0xfc30c92d) // 0 322 NHSTUB(bzero ,0x010d87a0) // 0 323 NHSTUB(memset32 ,0x010d87a4) // 0 324 //NHSTUB(get_dial_hw_position ,0xfc364be9) // 0 == 0xfc364be9 325 NHSTUB(PT_MFOn ,0xfc25d123) // 0 326 NHSTUB(PT_MFOff ,0xfc25d153) // 0 327 NHSTUB(GetAdChValue ,0xfc0cf693) // 0 328 NHSTUB(EnableHDMIPower ,0xfc0ab3c3) // 0 329 NHSTUB(DisableHDMIPower ,0xfc0ab3f9) // 0 330 NHSTUB(SetVideoOutType ,0xfc45a2f9) // 0 331 NHSTUB(GetVideoOutType ,0xfc45a265) // 0