1 // !!! THIS FILE IS GENERATED. DO NOT EDIT. !!! 2 #include "stubs_asm.h" 3 4 // Camera info: 5 // Main firmware start: 0xfc020000 6 // DRYOS R59 (DRYOS version 2.3, release #0059+p4) @ 0xfc5e2528 ref @ 0xfc048e34 7 // Firmware Ver GM1.00D // Found @ 0xfc3b38c8, "GM1.00D" @ 0xfc3b38d5 8 9 // Values for makefile.inc 10 // PLATFORMOSVER = 59 11 // DIGIC = 60 12 // MEMISOSTART = 0x3976c0 13 // MEMBASEADDR = 0x8000 14 // ARAM_HEAP_START = 0x006ce000# Found @0xfc3edc98 15 // ARAM_HEAP_SIZE = 0x00022000# Found @0xfc3edc6c 16 17 // Detected address ranges: 18 // ROM 0xfc000000 - 0xfe000000 (33554432 bytes) 19 // RAM code 0x010e1000 - 0x010fc278 copied from 0xfcdcd810 ( 111224 bytes) 20 // TCM code 0xbfe10800 - 0xbfe1633d copied from 0xfcde8a88 ( 23357 bytes) 21 // RAM data 0x00008000 - 0x000347d4 copied from 0xfcda103c ( 182228 bytes) 22 // EVEC 0x00000000 - 0x00000038 copied from 0xfc05c9f0 ( 56 bytes) 23 24 // Zico Xtensa blobs: 25 // zico_0 0xbff20000 - 0xbff27a50 copied from 0xfcb95204 ( 31312 bytes) 26 // zico_1 0xbff00000 - 0xbff04ad0 copied from 0xfcb9cc5c ( 19152 bytes) 27 // zico_2 0x80a00000 - 0x80b16788 copied from 0xfcba1734 (1140616 bytes) 28 29 // Omar ARM blobs: 30 // omar_0 0xdff00000 - 0xdff00f48 copied from 0xfc5e2598 ( 3912 bytes) 31 // omar_1 0x40700000 - 0x407506f4 copied from 0xfc5e34e0 ( 329460 bytes) 32 33 // Found DryOS versions: 34 // 0xfc5e2528 main "DRYOS version 2.3, release #0059+p4" 35 // 0xfc5f931c other "DRYOS version 2.3, release #0059+p4" 36 // 0xfcba2904 other "DRYOS version 2.3, release #0058+p8" 37 // 0xfd29b220 other "DRYOS version 2.3, release #0059+p3" 38 39 // CreateTask is not in RAM code 40 // use hook_CreateTask_low instead 41 42 // Values below go in 'platform_camera.h': 43 //#define CAM_DRYOS 1 44 //#define CAM_DRYOS_2_3_R39 1 // Defined for cameras with DryOS version R39 or higher 45 //#define CAM_DRYOS_2_3_R47 1 // Defined for cameras with DryOS version R47 or higher 46 //#define CAM_DRYOS_2_3_R59 1 // Defined for cameras with DryOS version R59 or higher 47 //#define CAM_HAS_WIFI 1 // Firmware has wifi support (only define if camera has hardware) 48 //#undef CAM_UNCACHED_BIT 49 //#define CAM_UNCACHED_BIT 0x40000000 // Found @0xfc1d4d7c 50 //#undef CAM_HAS_ND_FILTER // Camera does not have an ND filter 51 // Camera has an iris (CAM_HAS_IRIS_DIAPHRAGM default) 52 53 // physw_event_table 0xfc637e18 Found @0xfc505fa2 54 // Values below go in 'platform_kbd.h': 55 //#define SD_READONLY_FLAG 0x20000000 // Found @0xfc637ee0, levent 0x30a 56 //#define SD_READONLY_IDX 1 57 //#define USB_MASK 0x00800000 // Found @0xfc637f28, levent 0x302 58 //#define USB_IDX 2 59 //#define BATTCOVER_FLAG 0x00400000 // Found @0xfc637f20, levent 0x305 60 //#define BATTCOVER_IDX 2 61 62 // Keymap values for kbd.c. Additional keys may be present, only common values included here. 63 // WARNING: Key name / function may vary! Values for unknown DryOS versions should not be trusted! 64 //KeyMap keymap[] = { 65 // { 0, KEY_MENU ,0x00000020 }, // Found @0xfc637e40, levent 0x15 66 // { 0, KEY_UP ,0x00000040 }, // Found @0xfc637e48, levent 0x06 67 // { 0, KEY_DOWN ,0x00000080 }, // Found @0xfc637e50, levent 0x07 68 // { 0, KEY_RIGHT ,0x00000100 }, // Found @0xfc637e58, levent 0x09 69 // { 0, KEY_SET ,0x00000200 }, // Found @0xfc637e60, levent 0x0a 70 // { 0, KEY_LEFT ,0x00000400 }, // Found @0xfc637e68, levent 0x08 71 // { 0, KEY_PLAYBACK ,0x00000800 }, // Found @0xfc637e70, levent 0x101 72 // { 0, KEY_ERASE ,0x00001000 }, // Found @0xfc637e78, levent 0x0b 73 // { 0, KEY_VIDEO ,0x00002000 }, // Found @0xfc637e80, levent 0x02 74 // { 0, KEY_WIFI ,0x00010000 }, // Found @0xfc637e88, levent 0x103 75 // { 0, KEY_POWER ,0x00020000 }, // Found @0xfc637e90, levent 0x100 76 // { 1, KEY_SHOOT_FULL ,0x00000c00 }, // Found @0xfc637ed0, levent 0x01 77 // { 1, KEY_SHOOT_FULL_ONLY ,0x00000800 }, // Found @0xfc637ed0, levent 0x01 78 // { 1, KEY_SHOOT_HALF ,0x00000400 }, // Found @0xfc637ec8, levent 0x00 79 // { 0, 0, 0 } 80 //}; 81 82 // canon_mode_list 0xfc98b1f8 Found @0xfc071134 83 // Check modemap values from 'platform/CAMERA/shooting.c': 84 // 33297 0x8211 In firmware but not in current modemap 85 86 // Known propcases 87 // // PROPCASE_AFSTEP 13 88 // #define PROPCASE_FOCUS_STATE 18 89 // #define PROPCASE_AV 23 90 // #define PROPCASE_BV 40 91 // // PROPCASE_DELTA_DIGITALGAIN 85 92 // #define PROPCASE_DELTA_SV 87 93 // // PROPCASE_DELTA_ND 88 94 // // PROPCASE_FELOCK 123 95 // #define PROPCASE_FLASH_ADJUST_MODE 130 96 // #define PROPCASE_FLASH_FIRE 131 97 // // PROPCASE_HSCAPTURE 147 98 // #define PROPCASE_EV_CORRECTION_2 220 99 // #define PROPCASE_ORIENTATION_SENSOR 232 100 // #define PROPCASE_SV_MARKET 260 101 // // PROPCASE_SVFIX 261 102 // #define PROPCASE_TV 277 103 // Guessed propset: 12 104 105 // EXMEM types: 106 // EXMEM_RAMDISK 0 107 // EXMEM_COM 1 108 // EXMEM_FORMATTER 2 109 // EXMEM_FIRMUP 3 110 // EXMEM_FIRMUP_INFLATE 4 111 // EXMEM_FIRMUP_PICTURESTYLE 5 112 // EXMEM_DVLPWORK 6 113 // EXMEM_GPS 7 114 // EXMEM_FACEAUTH 8 115 // EXMEM_OHYEARLOG 9 116 // EXMEM_WIFI 10 117 // EXMEM_MULTI_PLY 11 118 // EXMEM_FEP 12 119 // EXMEM_LENS_FIRMUP 13 120 // EXMEM_LENS_COMPENSATION 14 121 // EXMEM_FILESTORE 15 122 // EXMEM_MOVIE_REC 16 123 // EXMEM_MOVIE_PLY 17 124 // EXMEM_WIDE 18 125 // EXMEM_AUTO_GIS_MODE 19 126 // EXMEM_NP_GIS_MODE 20 127 // EXMEM_TRIPODHDR_MODE 21 128 // EXMEM_HSHQ_MODE 22 129 // EXMEM_CRAW_REC 23 130 // EXMEM_CREATIVE_SHOT 24 131 132 // Values below can be overridden in 'stubs_min.S': 133 DEF(ctypes ,0xfc699f5c) // Found @0xfc03746c 134 DEF(physw_run ,0x00008190) // Found @0xfc589802 135 DEF(physw_sleep_delay ,0x00008198) // (0x8190+0x8) Found @0xfc589806 136 DEF(physw_status ,0x0003578c) // Found @0xfc589b4e 137 DEF(fileio_semaphore ,0x000139b0) // Found @0xfc069a2a 138 DEF(levent_table ,0xfc717e50) // Found @0xfc089ce0 139 DEF(FlashParamsTable ,0xfc98b5d8) // Found @0xfc071148 140 DEF(playrec_mode ,0x0000c144) // (0xc140+0x4) Found @0xfc309b7a 141 DEF(jpeg_count_str ,0x00135428) // Found @0xfc07fe00 142 DEF(zoom_busy ,0x0000bcf0) // (0xbcd0+0x20) Found @0xfc0ee012 143 DEF(focus_busy ,0x00013be4) // (0x13bdc+0x8) Found @0xfc333602 144 DEF(imager_active ,0x0000858c) // (0x8588+0x4) Found @0xfc3aa34c 145 DEF(canon_menu_active ,0x0000ce74) // (0xce6c+0x8) Found @0xfc31fe24 146 DEF(file_counter_var ,0x000138e0) // Found @0xfc17d09c 147 DEF(cameracon_state ,0x000089c0) // (0x89b0+0x10) Found @0xfc31bdc4 148 DEF(_nrflag ,0x0001c508) // (0x1c504+0x4) Found @0xfc1ed696 149 DEF(av_override_semaphore ,0x00020cdc) // Found @0xfc43fa58 150 DEF(active_bitmap_buffer ,0x0000ce28) // (0xcddc+0x4c) Found @0xfc348e28 151 DEF(displaytype ,0x0000964c) // (0x95f0+0x5c) Found @0xfc0e36ec 152 DEF(bitmap_buffer ,0x0000ce2c) // (0xcddc+0x50) Found @0xfc348e2e 153 DEF(live_free_cluster_count ,0x0013ab68) // (0x13ab30+0x38) Found @0xfc061e20 154 DEF_CONST(uiprop_count ,0x000000ea) // Found @0xfc06a720 155 DEF(exmem_alloc_table ,0x0003ec6c) // Found @0xfc3b2806 156 DEF(exmem_types_table ,0xfcda5260) // Found @0xfc3b280a 157 DEF_CONST(exmem_type_count ,0x00000019) // Found @0xfcda5260 158 DEF(debug_logging_ptr ,0x0001bf38) // Found @0xfc1ecae2 159 DEF(debug_logging_flag ,0x0001bf30) // Found @0xfc1ecadc 160 DEF(mzrm_sendmsg_ret_adr ,0xfc3215f1) 161 DEF_CONST(fw_yuv_layer_buf ,0x41141000) // Found @0xfc073dc0 162 // focus_len_table contains zoom focus lengths for use in 'get_focal_length' (main.c). 163 // each entry contains 2 int value(s), the first is the zoom focus length. 164 // there are 127 entries in the table - set NUM_FL to 127 165 //DEF(focus_len_table ,0xfdf3167c) // Found @0xfdf3167c, stubs_min = 0xfdf3167c (0xfdf3167c) 166 167 //NHSTUB(Feof_Fut ,0x00000000) // 0 *** != 0xfc34c989 168 //NHSTUB(Fflush_Fut ,0x00000000) // 0 *** != 0xfc34c9b1 169 //NHSTUB(GetDrive_TotalClusters ,0x00000000) // 0 *** != 0xfc352637 170 //NHSTUB(GetFocusLensSubjectDistanceFromLens ,0x00000000) // 0 *** != 0xfc3344e3 171 //NHSTUB(GetImageFolder ,0x00000000) // 0 *** != 0xfc32f40f 172 //NHSTUB(MakeSDCardBootable ,0x00000000) // 0 *** != 0xfc3529fd 173 //NHSTUB(RenameFile_Fut ,0x00000000) // 0 *** != 0xfc34c739 174 //NHSTUB(SetFileAttributes ,0x00000000) // 0 *** != 0xfc351823 175 //NHSTUB(SetFileTimeStamp ,0x00000000) // 0 *** != 0xfc3517db 176 //NHSTUB(SetParameterData ,0xfc06af67) // 0 *** != 0x00000000 177 //NHSTUB(_pow ,0x00000000) // 0 *** != 0x010f8718 178 //NHSTUB(apex2us ,0x00000000) // 0 *** != 0xfc21985b 179 //NHSTUB(exmem_alloc ,0x00000000) // 0 *** != 0xfc3b2e05 180 //NHSTUB(exmem_ualloc ,0x00000000) // 0 *** != 0xfc3b2d79 181 //NHSTUB(exmem_ufree ,0x00000000) // 0 *** != 0xfc3b2dd5 182 //NHSTUB(CancelHPTimer ,0x00000000) // 0 *** != 0xfc3b35b9 183 184 NHSTUB(CreateTask_low ,0xbfe10b85) // 0 185 NHSTUB(AllocateUncacheableMemory ,0xfc1d4d4d) // 0 186 NHSTUB(Close ,0xfc35151b) // 0 187 NHSTUB(CreateBinarySemaphore ,0xfc362eb9) // 0 188 NHSTUB(CreateTask ,0xfc35c1d3) // 0 189 NHSTUB(DebugAssert ,0xfc3a8965) // 0 190 NHSTUB(DeleteDirectory_Fut ,0xfc34c7e5) // 0 191 NHSTUB(DeleteFile_Fut ,0xfc34c79b) // 0 192 NHSTUB(DeleteSemaphore ,0xfc362f3d) // 0 193 NHSTUB(DoAELock ,0xfc27fccb) // 0 194 NHSTUB(DoAFLock ,0xfc27f8dd) // 0 195 //NHSTUB(EnterToCompensationEVF ,0x00000000) // 0 == 0x00000000 196 NHSTUB2(ExecuteEventProcedure ,0xfc369289) // 0 197 //NHSTUB(ExitFromCompensationEVF ,0x00000000) // 0 == 0x00000000 198 NHSTUB(ExitTask ,0xfc35c3c1) // 0 199 //NHSTUB(ExpCtrlTool_StartContiAE ,0x00000000) // 0 == 0x00000000 200 //NHSTUB(ExpCtrlTool_StopContiAE ,0x00000000) // 0 == 0x00000000 201 NHSTUB(Fclose_Fut ,0xfc34c847) // 0 202 NHSTUB(Fgets_Fut ,0xfc34c925) // 0 203 NHSTUB(Fopen_Fut ,0xfc34c81f) // 0 204 NHSTUB(Fread_Fut ,0xfc34c8b9) // 0 205 NHSTUB(FreeUncacheableMemory ,0xfc1d4d79) // 0 206 NHSTUB(Fseek_Fut ,0xfc34c957) // 0 207 NHSTUB(Fwrite_Fut ,0xfc34c8ef) // 0 208 NHSTUB(GetBatteryTemperature ,0xfc3afb43) // 0 209 NHSTUB(GetCCDTemperature ,0xfc3afaed) // 0 210 NHSTUB(GetCurrentAvValue ,0xfc0edb69) // 0 211 NHSTUB(GetCurrentShutterSpeed ,0xfc3c6b79) // 0 212 NHSTUB(GetUsableMaxAv ,0xfc3dfd19) // 0 213 NHSTUB(GetUsableMinAv ,0xfc3dfd07) // 0 214 NHSTUB(get_current_deltasv ,0xfc13c9b5) // 0 215 NHSTUB(GetCurrentDriveBaseSvValue ,0xfc334d35) // 0 216 NHSTUB(GetDrive_ClusterSize ,0xfc35215d) // 0 217 NHSTUB(GetFocusLensSubjectDistance ,0xfc3341e9) // 0 218 NHSTUB(GetKbdState ,0xfc5060f5) // 0 219 NHSTUB(GetMemInfo ,0xfc504cc5) // 0 220 NHSTUB(GetOpticalTemperature ,0xfc3afb97) // 0 221 NHSTUB(GetParameterData ,0xfc06afdf) // 0 222 NHSTUB(GetPropertyCase ,0xfc35b68d) // 0 223 NHSTUB(GetSystemTime ,0xfc442a4d) // 0 224 NHSTUB(GetVRAMHPixelsSize ,0xfc0e0cfd) // 0 225 NHSTUB(GetVRAMVPixelsSize ,0xfc0e0d05) // 0 226 NHSTUB(GetZoomLensCurrentPoint ,0xfc0ee265) // 0 227 NHSTUB(GetZoomLensCurrentPosition ,0xfc183371) // 0 228 NHSTUB(GiveSemaphore ,0xfc363025) // 0 229 NHSTUB(IsStrobeChargeCompleted ,0xfc11ebe5) // 0 230 NHSTUB(LEDDrive ,0xfc3e9df1) // 0 231 NHSTUB(LocalTime ,0xfc3b3afd) // 0 232 NHSTUB(LockMainPower ,0xfc0fde07) // 0 233 NHSTUB(MakeDirectory_Fut ,0xfc35188f) // 0 234 NHSTUB(MoveFocusLensToDistance ,0xfc52e72d) // 0 235 NHSTUB(MoveIrisWithAv ,0xfc43fa45) // 0 236 NHSTUB(MoveZoomLensWithPoint ,0xfc43fd8b) // 0 237 NHSTUB(Open ,0xfc3514dd) // 0 238 NHSTUB(PB2Rec ,0xfc31c56b) // 0 239 NHSTUB(PT_MoveDigitalZoomToWide ,0xfc27f0af) // 0 240 NHSTUB(PT_MoveOpticalZoomAt ,0xfc3ead91) // 0 241 NHSTUB(MoveOpticalZoomAt ,0xfc27efaf) // 0 242 NHSTUB(PT_PlaySound ,0xfc344951) // 0 243 NHSTUB(PostLogicalEventForNotPowerType ,0xfc35bf19) // 0 244 NHSTUB(PostLogicalEventToUI ,0xfc35bf4d) // 0 245 NHSTUB(PutInNdFilter ,0xfc52e9cd) // 0 246 NHSTUB(PutOutNdFilter ,0xfc52e9f3) // 0 247 NHSTUB(Read ,0xfc3a9291) // 0 248 NHSTUB(ReadFastDir ,0xfc436cf9) // 0 249 NHSTUB(Rec2PB ,0xfc31c639) // 0 250 //NHSTUB(Restart ,0x00000000) // 0 == 0x00000000 251 NHSTUB(ScreenLock ,0xfc3484e9) // 0 252 NHSTUB(ScreenUnlock ,0xfc3485f3) // 0 253 NHSTUB(SetAE_ShutterSpeed ,0xfc52be91) // 0 254 NHSTUB(SetAutoShutdownTime ,0xfc0fde57) // 0 255 NHSTUB(SetCurrentCaptureModeType ,0xfc355e8f) // 0 256 NHSTUB(SetDate ,0xfc52d3b7) // 0 257 NHSTUB(SetLogicalEventActive ,0xfc341225) // 0 258 NHSTUB(SetPropertyCase ,0xfc35b539) // 0 259 NHSTUB(SetScriptMode ,0xfc34125d) // 0 260 NHSTUB(SleepTask ,0xfc3690e1) // 0 261 NHSTUB(TakeSemaphore ,0xfc362fad) // 0 262 //NHSTUB(TurnOffBackLight ,0x00000000) // 0 == 0x00000000 263 //NHSTUB(TurnOnBackLight ,0x00000000) // 0 == 0x00000000 264 NHSTUB(TurnOnDisplay ,0xfc166eef) // 0 265 NHSTUB(TurnOffDisplay ,0xfc0e3729) // 0 266 NHSTUB(UnlockAE ,0xfc27fce9) // 0 267 NHSTUB(UnlockAF ,0xfc27f905) // 0 268 NHSTUB(UnlockMainPower ,0xfc0fdd9d) // 0 269 //NHSTUB(UnsetZoomForMovie ,0x00000000) // 0 == 0x00000000 270 NHSTUB(VbattGet ,0xfc0dbce3) // 0 271 NHSTUB(Write ,0xfc3519b7) // 0 272 //NHSTUB(WriteSDCard ,0x00000000) // 0 == 0x00000000 273 NHSTUB(_log ,0x010f8090) // 0 274 NHSTUB(_log10 ,0x010f85b0) // 0 275 NHSTUB(_sqrt ,0x010fa798) // 0 276 NHSTUB(add_ptp_handler ,0xfc32224b) // 0 277 NHSTUB(close ,0xfc3a918b) // 0 278 NHSTUB(free ,0xfc369ebb) // 0 279 NHSTUB(kbd_p1_f ,0xfc589b47) // 0 280 NHSTUB(kbd_p1_f_cont ,0xfc589b4f) // 0 281 NHSTUB(kbd_p2_f ,0xfc58955d) // 0 282 NHSTUB(kbd_read_keys ,0xfc589b11) // 0 283 NHSTUB(kbd_read_keys_r2 ,0xfc505f9f) // 0 284 NHSTUB(lseek ,0xfc3516f9) // 0 285 NHSTUB(malloc ,0xfc369e85) // 0 286 NHSTUB(memcmp ,0xfc36a061) // 0 287 NHSTUB(memcpy ,0xfc3b4821) // 0 288 NHSTUB(memset ,0xfc5117e1) // 0 289 NHSTUB(mktime_ext ,0xfc506ebd) // 0 290 NHSTUB(open ,0xfc3a911b) // 0 291 NHSTUB(OpenFastDir ,0xfc436c59) // 0 292 NHSTUB(closedir ,0xfc436c21) // 0 293 NHSTUB(get_fstype ,0xfc3520f7) // 0 294 NHSTUB(qsort ,0xfc3ee2b9) // 0 295 NHSTUB(rand ,0xfc3b4803) // 0 296 //NHSTUB(reboot_fw_update ,0x00000000) // 0 == 0x00000000 297 NHSTUB(set_control_event ,0xfc340f19) // 0 298 NHSTUB(srand ,0xfc3b47fd) // 0 299 NHSTUB(stat ,0xfc351731) // 0 300 NHSTUB(strcat ,0xfc369de9) // 0 301 NHSTUB(strchr ,0xfc3b4909) // 0 302 NHSTUB(strcmp ,0xfc369f11) // 0 303 NHSTUB(strcpy ,0xfc369eed) // 0 304 NHSTUB(strftime ,0xfc3b4379) // 0 305 NHSTUB(strlen ,0xfc369ff9) // 0 306 NHSTUB(strncmp ,0xfc3b48df) // 0 307 NHSTUB(strncpy ,0xfc369f93) // 0 308 NHSTUB(strrchr ,0xfc10220d) // 0 309 NHSTUB(strtol ,0xfc507093) // 0 310 NHSTUB(strtolx ,0xfc506f51) // 0 311 DEF(task_CaptSeq ,0xfc0f2b2f) // 0 312 DEF(task_DvlpSeqTask ,0xfc18f03b) // 0 313 DEF(task_ExpDrv ,0xfc2af0cb) // 0 314 DEF(task_InitFileModules ,0xfc0972a5) // 0 315 DEF(task_MovieRecord ,0xfc18a60b) // 0 316 DEF(task_PhySw ,0xfc589801) // 0 317 DEF(task_TricInitTask ,0xfc521929) // 0 318 DEF(hook_CreateTask_low ,0xbfe10b84) // 0 319 NHSTUB(time ,0xfc101e83) // 0 320 NHSTUB(vsprintf ,0xfc1021e7) // 0 321 NHSTUB(EngDrvRead ,0xfc3630fd) // 0 322 NHSTUB(PTM_GetCurrentItem ,0xfc35ab2f) // 0 323 NHSTUB(DisableISDriveError ,0xfc440a19) // 0 324 NHSTUB(SetHPTimerAfterNow ,0xfc3b3521) // 0 325 NHSTUB(SetEventFlag ,0xfc369bbd) // 0 326 NHSTUB(transfer_src_overlay ,0xfc3481bd) // 0 327 NHSTUB(bzero ,0x010f54d8) // 0 328 NHSTUB(memset32 ,0x010f54dc) // 0 329 NHSTUB(get_dial_hw_position ,0xfc3e43b9) // 0 330 NHSTUB(PT_MFOn ,0xfc280b3b) // 0 331 NHSTUB(PT_MFOff ,0xfc280b6b) // 0 332 NHSTUB(GetAdChValue ,0xfc3acb93) // 0 333 NHSTUB(EnableHDMIPower ,0xfc0e4c0f) // 0 334 NHSTUB(DisableHDMIPower ,0xfc0e4c45) // 0 335 NHSTUB(SetVideoOutType ,0xfc52c401) // 0 336 NHSTUB(GetVideoOutType ,0xfc52c38d) // 0 337 NHSTUB(IsWirelessConnect ,0xfc2fdedb) // 0