1 #include "stubs_asm.h" 2 3 // BEWARE: thumb functions NEED the thumb bit in the below list 4 5 #define NULL_SUB 0xfc0212a5 // bx lr 6 #define RET1 0xfc001eeb // mov r0, #1 ; bx lr 7 #define RET0 0xfc000981 // mov r0, #0 ; bx lr 8 9 NHSTUB(Feof_Fut, 0xfc325d21) // from CreateJumptable, after Fseek 10 NHSTUB(Fflush_Fut, 0xfc325d49) // directly after Feof_Fut in ROM 11 NHSTUB(displaybusyonscreen, 0xfc34586d) // 0xfc356638 ref _PBBusyScrn 12 NHSTUB(undisplaybusyonscreen, 0xfc345905) // near display* above 13 NHSTUB(SetFileTimeStamp, 0xfc3582d1) // from ref to 0x12cea600 @0xfc3582e4, similar to sx280hs 14 NHSTUB(SetFileAttributes, 0xfc358319) // function following SetFileTimeStamp in ROM 15 NHSTUB(RenameFile_Fut, 0xfc325ad1) // from ref to ".RPC" @0xfc11019a, similar to sx280hs 16 NHSTUB(MakeSDCardBootable, 0xfc357f65) // in function before ref to "SCRIPT" @0xfc357b78 17 NHSTUB(GetFocusLensSubjectDistanceFromLens, 0xfc31fdfd) // call at 0xfc305ef0 similar to sx280 0xfc26ea22, from earlier ISDriver.c assert 18 // based on ref to fc32190b -> sub_fc469ee2, which refs "___%02d" and "_%02d%02d" 19 NHSTUB(GetImageFolder, 0xfc320ebf) 20 NHSTUB(apex2us, 0xfc382687) // Shutter.c asserts in sub_fc16e57e, similar to sx280 sub_fc2a63d6 21 NHSTUB(GetDrive_TotalClusters, 0xfc357bd7) // function immediately before GetDrive_FreeClusters in ROM 22 NHSTUB(LogCameraEvent, 0xfc36000b) // debugging, from func csv 23 NHSTUB(CancelHPTimer, 0xfc158e25) // At 0xfc0cd6b0, following LcdSequence, TakeSemaphoreStrictly calls similar to sx280 24 25 NHSTUB(get_dial_hw_position, 0xfc491e7d) // kbd_p1_f_cont->fc075c1c->fc077438->func 4=rear dial, 5=front dial 26 27 // required because DryOS >=54 functions assert on unitialized event flag, sem etc 28 // see https://chdk.setepontos.com/index.php?topic=12516.0 29 NHSTUB(init_focus_eventflag, 0xfc4f3bd7) // InitializeAdjustmentSystem->fc3d31c4->fc4f3bd6 event flag matches MoveFocusLensToDistance 30 NHSTUB(init_nd_eventflag, 0xfc4f3ce9) // InitializeAdjustmentSystem->fc3d31c4->fc4f3ce8 event flag matches PutInNdFilter 31 NHSTUB(CreateBinarySemaphoreStrictly,0x010e5bb7) // for av_override_semaphore 32 33 // gets raw address and other stuff for next shot, stores in structure pointed to by r1 34 // via sub_fc1e58d8, sub_fc1e56a6 called from capt_seq_task. Calls sub_fc184310 to get raw address 35 NHSTUB(captseq_raw_addr_init,0xfc152773) 36 37 // TODO temp for compile 38 NHSTUB(EnterToCompensationEVF,NULL_SUB) 39 NHSTUB(ExitFromCompensationEVF,NULL_SUB) 40 NHSTUB(ExpCtrlTool_StartContiAE,NULL_SUB) 41 NHSTUB(ExpCtrlTool_StopContiAE,NULL_SUB) 42 NHSTUB(Restart,NULL_SUB) 43 NHSTUB(SetParameterData,NULL_SUB) 44 NHSTUB(WriteSDCard,NULL_SUB) 45 NHSTUB(reboot_fw_update,NULL_SUB) 46 47 // from sx280 These don't exist 48 NHSTUB(SetZoomActuatorSpeedPercent, NULL_SUB) 49 NHSTUB(UnsetZoomForMovie, NULL_SUB)