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, 0xfc326b09) // from CreateJumptable, after Fseek 9 NHSTUB(Fflush_Fut, 0xfc326b31) // directly after Feof_Fut in ROM 10 NHSTUB(SetFileTimeStamp, 0xfc317449) // from ref to 0x12cea600 @fc31745c, similar to sx280hs 11 NHSTUB(SetFileAttributes, 0xfc317491) // function following SetFileTimeStamp in ROM 12 NHSTUB(RenameFile_Fut, 0xfc3268b9) // Via fc3505da similar to g7x fc41fef8, just after ref to DeleteFile_Fut, LDR 13 NHSTUB(MakeSDCardBootable, 0xfc3170dd) // in function before ref to "SCRIPT" @0xfc316cf0 14 NHSTUB(GetFocusLensSubjectDistanceFromLens, 0xfc3281b3) // call at 0xfc2375be via SetISFocusLensDistance_FW -> 0xfc2375bc 15 // based on ref to fc311526 (ref "%s/%3d%s") -> sub_fc16ca2a, which refs "___%02d" and "_%02d%02d" 16 NHSTUB(GetImageFolder, 0xfc310b01) 17 NHSTUB(apex2us, 0xfc1c8c7b) // instructions around fc1c8cb8 similar to g7x fc3826c4 18 NHSTUB(GetDrive_TotalClusters, 0xfc316d4f) // function immediately before GetDrive_FreeClusters in ROM 19 NHSTUB(LogCameraEvent, 0xfc2f2a07) // 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, 0xfc3061b9) // via call from fc34f91c to fc3505da, 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, 0xfc54dd23) // InitializeAdjustmentSystem->fc5422f8->fc54dd22 event flag matches MoveFocusLensToDistance 28 // NO nd 29 //NHSTUB(init_nd_eventflag, 0xfc54de2d) // InitializeAdjustmentSystem->fc5422f8->fc54de2d event flag matches PutInNdFilter 30 NHSTUB(CreateBinarySemaphoreStrictly, 0xbfe1553f) // from csv 31 32 // via func fc07b6ba hooked in preshoot case, similar to g7x 33 NHSTUB(captseq_raw_addr_init, 0xfc0821d3) 34 35 36 // not implemented 37 NHSTUB(EnterToCompensationEVF,NULL_SUB) 38 NHSTUB(ExitFromCompensationEVF,NULL_SUB) 39 NHSTUB(ExpCtrlTool_StartContiAE,NULL_SUB) 40 NHSTUB(ExpCtrlTool_StopContiAE,NULL_SUB) 41 NHSTUB(Restart,NULL_SUB) 42 NHSTUB(SetParameterData,NULL_SUB) 43 NHSTUB(WriteSDCard,NULL_SUB) 44 NHSTUB(reboot_fw_update,NULL_SUB) 45 46 // from sx280 These don't exist 47 NHSTUB(SetZoomActuatorSpeedPercent, NULL_SUB) 48 NHSTUB(UnsetZoomForMovie, NULL_SUB)