1 #include "stubs_asm.h" 2 // BEWARE: thumb functions NEED the thumb bit in the below list 3 4 #define NULL_SUB 0xfc020485 // bx lr 5 #define RET1 0xfc020493 // mov r0, #1 ; bx lr 6 #define RET0 0xfc020487 // mov r0, #0 ; bx lr 7 8 NHSTUB(Feof_Fut, 0xfc326b11) // from CreateJumptable, after Fseek 9 NHSTUB(Fflush_Fut, 0xfc326b39) // directly after Feof_Fut in ROM 10 NHSTUB(SetFileTimeStamp, 0xfc317451) // from ref to 0x12cea600 @0xfc317464, similar to sx280hs 11 NHSTUB(SetFileAttributes, 0xfc317499) // function following SetFileTimeStamp in ROM 12 NHSTUB(RenameFile_Fut, 0xfc3268c1) // Via fc3505e2 similar to g7x fc41fef8, just after ref to DeleteFile_Fut, LDR 13 NHSTUB(MakeSDCardBootable, 0xfc3170e5) // in function before ref to "SCRIPT" @0xfc316cf8 14 NHSTUB(GetFocusLensSubjectDistanceFromLens, 0xfc3281bb) // call at 0xfc2375c6 via SetISFocusLensDistance_FW -> 0xfc2375c4 15 // based on ref to fc31152e (ref "%s/%3d%s") -> sub_fc16ca2a, which refs "___%02d" and "_%02d%02d" 16 NHSTUB(GetImageFolder, 0xfc310b09) 17 NHSTUB(apex2us, 0xfc1c8c83) // instructions around fc1c8cc0 similar to g7x fc3826c4 18 NHSTUB(GetDrive_TotalClusters, 0xfc316d57) // function immediately before GetDrive_FreeClusters in ROM 19 NHSTUB(LogCameraEvent, 0xfc2f2a0f) // debugging, from func csv 20 NHSTUB(CancelHPTimer, 0xfc126b7d) // At fc0f20c8, following LcdSequence, TakeSemaphoreStrictly calls similar to g7x fc0cd6b0 21 22 // NHSTUB(get_dial_hw_position, 0xfc110d61) // kbd_p1_f_cont->fc086ab4->fc08b5cc, 4 for jogdial 23 NHSTUB(PT_PlaySound, 0xfc3061c1) // via call from fc34f924 to fc3505e2, similar to g7x fc41fef8 24 25 // required because DryOS >=54 functions assert on unitialized event flag, sem etc 26 // see https://chdk.setepontos.com/index.php?topic=12516.0 27 NHSTUB(init_focus_eventflag, 0xfc54dd2b) // InitializeAdjustmentSystem->fc542300->fc54dd2a event flag matches MoveFocusLensToDistance 28 // NHSTUB(init_nd_eventflag, 0xfc54de35) // InitializeAdjustmentSystem->fc542300->fc54de34 event flag matches PutInNdFilter 29 NHSTUB(CreateBinarySemaphoreStrictly, 0xbfe1553f) // from csv 30 31 // via func fc07b6ba hooked in preshoot case, similar to g7x 32 NHSTUB(captseq_raw_addr_init, 0xfc0821d3) 33 34 35 // not implemented 36 NHSTUB(EnterToCompensationEVF,NULL_SUB) 37 NHSTUB(ExitFromCompensationEVF,NULL_SUB) 38 NHSTUB(ExpCtrlTool_StartContiAE,NULL_SUB) 39 NHSTUB(ExpCtrlTool_StopContiAE,NULL_SUB) 40 NHSTUB(Restart,NULL_SUB) 41 NHSTUB(SetParameterData,NULL_SUB) 42 NHSTUB(WriteSDCard,NULL_SUB) 43 NHSTUB(reboot_fw_update,NULL_SUB) 44 45 // from sx280 These don't exist 46 NHSTUB(SetZoomActuatorSpeedPercent, NULL_SUB) 47 NHSTUB(UnsetZoomForMovie, NULL_SUB)