OK, I found the correct value for PARAM_FILE_COUNTER so it doesn't crash on this anymore.Tried to run romlog.lua but get "SystemEventInit failed" message.'ExecuteEventProcedure' was found in the firmware dump and looks OK.Regards,Phil.
Trying to get a raw image out of the camera.Implemented capt_seq_task by copying the code from IDA - camera works correctly if I call the firmware functions. I know it gets to my capt_seq_task code by blinking the LED.The capt_seq_task code doesn't look like any of other implementation in the current trunk (that I can see).
Any suggestions on how best to tackle understanding and patching the capt_seq_task code?What sort of things should I be looking for?
Quote from: philmoz on 28 / November / 2010, 20:17:06Trying to get a raw image out of the camera.Implemented capt_seq_task by copying the code from IDA - camera works correctly if I call the firmware functions. I know it gets to my capt_seq_task code by blinking the LED.The capt_seq_task code doesn't look like any of other implementation in the current trunk (that I can see).In sx30 100h, I see CaptSeqTask at FF8868C0QuoteAny suggestions on how best to tackle understanding and patching the capt_seq_task code?What sort of things should I be looking for?Normally, refer to other cameras and do the same thing they do. If it really is very different, then you have to find pieces of code that are executed at similar stages in the shooting process.captseq, like most of the Canon tasks, sits in a loop reading messages. There is a big jumptable (switch statement) which handles all the different messages. The messages correspond to different stages of the shooting process: pre-capture, capture, shooting related setting changes etc.Generally, overrides are set somewhere in message 0, and raw hook is called somewhere in message 1.You may want to look at other in-progress ports of recent cameras (sx210, ixus300, s95).
Rather than blinking, you may want to log messages to a file. You can use the cameras built in functions to do this, the StartRedirectUART event proc will send the cameras console output to a file, and then you can use Printf to put things there.You can also send things to the camera log (same as recorded in the romlog for a crash or assert) using LogPrintf(<number>,...). You can find out valid values of <number> by looking at calls in the firmware. On d10, 0x120 is an SS: message.This camera log isn't normally saved anywhere, but you can send the most recent messages to the uart log by calling ShowCameraLogThe nice thing about using the camera log is that you get time stamped messages from the original firmware too, so you can see where in the sequence yours is called. You can also search for the strings in the canon factory messages to find the corresponding code.You can wrap your logging calls with ASM_SAFE to avoid trashing registers. See include/asmsafe.hUART redirection is discussed in the canon basic thread http://chdk.setepontos.com/index.php?topic=5549.0I've attached the lua module I wrote to set up uart logging.
Started by kandrews
« 1 2 3 4 »
Started by philmoz
« 1 2 ... 28 29 »
Started by markoneswift
Started by hulland
« 1 2 3 4 »
Hello, I'm a NEWBIE - HELP!! (Newbies assistance, User Guides and thank you notes)
Started by speedlite
« 1 2 »