Magic Lantern Firmware Wiki

See 2.0.4_StateObjects (thanks AJ!)

ALL State Objects are listed below,

and can be found by following the function :

ROM:FF1D85E4 ; void *__cdecl CreateStateObject(char *name, int zero, int *ValSubList, int TotInputs, int TotStates)

See drawing FSM with Graphviz to see how the State Machines can drawn easily.

where it is created ValSubList States Inputs what for ? object addr storage
sub_FF0601B4 FF456794 4 0x18 display device 0x23D8+0x84
sub_FF0601B4 FF456A94 4 0x18 display device 0x23D8+0x88
sub_FF07DC84 FF4AAF64 12 0x14 SCSState 0x31C8+4
sub_FF07DC84 FF4AB6E4 5 0x14 SCSEshutState 0x31C8+8
sub_FF07DC84 FF4ABA04 4 0x14 SCSSRState 0x31C8+12
sub_FF080F54 FF4ABC88 0xE 0x11 SBSState 0x3228+0x1C
sub_FF083F0C FF4AC3FC 7 10 SPSState 0x3284+0x2c
sub_FF086958 FF4AC654 10 0xB SDSRearState 0x37A4+0x10
sub_FF0888F0 FF4ACA0C 10 0xD SDSFrontState 0x381C+0x1C
sub_FF0888F0 FF4ACE1C 4 0xD SDSFrontState 0x381C+0x20
sub_FF0888F0 FF4ACFBC 2 0xD SDSFrontState 0x381C+0x24
sub_FF0888F0 FF4AD08C 2 0xD SDSFrontState 0x381C+0x28
sub_FF09F3D0 FF4AEC54 1 0xB FSSState 0x41A0
sub_FF0A49C8 FF4AECB0 4 5 FCSState 0x41B0
sub_FF0A99B8 FF4AFB10 1 5 EMState 0x421C
sub_FF0B1C5C FF4AFCE0 2 0x1F SRMState 0x42A8+4
sub_FF0C02BC FF4B05E4 9 7 SRMExMem1_1State 0x42D4+0x20
sub_FF0C02BC FF4B05E4 9 7 SRMExMem1_2State 0x42D4+0x24
sub_FF0E09F4 FF4B19AC 1 1 DpImgEditState 0x4B20+4
sub_FF0F40F4 FF4B1A18 16 0x1D LVState 0x4B4C+0x28
sub_FF0F40F4 FF4B27B0 7 7 LVRecState 0x4B4C+0x2C
sub_FF0F87B8 FF4B367C 3 0xB LVAngelState 0x4CE4
sub_FF0FC6D0 FF4B55E4 7 0xC LVCAEState 0x51D0+0x14
sub_FF0FD35C FF4B58D8 10 0xE LVCAFState 0x5200+0xC
sub_FF0FDFA4 FF4B5E48 4 0xD LVCDEVState 0x5234+0x44
sub_FF120FD0 FF4B8540 3 0xA MotionDetectState 0x5568+0x30
sub_FF122148 FF4B8634 4 4 RDState 0x5608
sub_FF12CD80 FF4B8810 2 0x40 PtpDpsState 0x569C+0xC
sub_FF131898 FF4B8D5C 5 8 PtpSdioEvent 0x56FC+8
sub_FF145DB8 FF4B9100 3 6 TOMState 0x58FC
sub_FF14B624 FF4B91DC 2 6 CeresState 0x593C
sub_FF157E70 FF4B9330 5 10 FMNormalState 0x5954
sub_FF1721EC FF4B9FD4 2 3 0x5B24+4. write? 0x5B24
sub_FF176C58 FF4BA008 0xC 0xA MovRecState 0x5B34
sub_FF17BAC4 FF4C3074 0x14 0x14 MovPlayState 0x5B40
sub_FF1ABE54 FF4C46E0 3 9 AudioLevel 0x6920+0xC
sub_FF1B3A00 FF4C49D4 0xB 0xD USBControlPipe
sub_FF1B3A00 FF4C4E4C 9 0xB USBDataPipeBulkIn
sub_FF1B3A00 FF4C5164 6 9 USBDataPipeBulkOut
sub_FF1B3A00 FF4C5314 5 8 USBDataPipeInterrupt
sub_FF1B3A00 FF4C5454 1 5 USBDeviceEvent
sub_FF1B8200 FF4C5D0C 1 0x12 PropState 0x69C0
sub_FF1CF568 FF4C8FAC 0xB 5 CECState 0x7B88
sub_FF1D07A8 FF4C9218 2 0xE DMState 0x7D54
sub_FF22FA58 FF4CE5B8 1 0x13 DpState 0x4470
sub_FF251888 FF4D9F0C 5 8 PtpEvent 0x1C96C+4
sub_FF2549D4 FF4DA288 0x12 0x15 PtpTrans 0x1C978
sub_FF2570F8 FF4DB184 0x12 0x15 PtpSdioTrans 0x1C984
sub_FF25AE88 FF4DC1A8 0x12 0x15 PtpSdioHddTrans 0x1CACC
sub_FF25D850 FF4DD1A8 2 2 SdioDrvState 0x1CB18
sub_FF26448C FF4DD360 1 7 MrkState 0x1CB38
sub_FF26A738 FF4DD704 4 0xA VOIState 0x1CB4C
sub_FF2700DC FF4DD898 3 5 0x1CBF8. MovReader 0x1CBF8+4
sub_FF274354 FF4DD910 3 5 0x1CC00+4. Gero 0x1CC00
sub_FF276A20 FF4DDCC4 1 2 FRState allocated
sub_FF277060 FF4DDCD8 3 5 FWState allocated
sub_FF2E0ADC FF4E455C 5 8 IPCMasterState 0x1FDA8
sub_FF2E0B20 FF4E469C 1 8 IPCSlaveState 0x1FDA8+4
sub_FF33E268 FF51981C 1 6 SdioTskState 0x207E8
sub_FF34820C FF51BA14 2 5 CrpDecState 0x20914+4