I've successfully managed to override the fps on my sx220 100a.
The slow motion video mode on sx220 is limited to 640x480 so I needed to find a way to disable the audio to be able to use higher resolutions with fps overrides. This was the hardest part but I got lucky.To do it we have to:-modify a ram location(*(0xC2E3C+0x8)=0) in the right place in movie_rec.c task to prevent the audio being written.-start recording and call a function that effectively disables the AudioIC and prevents a crash after the recording stops.I found the function by backtracing 0xC0920000+0x118(audio on/off flag) to the movie record task.
set up a working cross-compiler on Ubuntu 1404 (x86) using the German pre-built versionSVN the latest trunk codeapplied funnel's changes to /platform/sx220hs/sub/101b/movie_rec.cadded entry for disable_audio to /include/conf.h compiled and ran a new DISKBOOT.BINchanged camera version references in his fpscontrol.lua script from 100a to 101b ran the fpscontrol.lua script with default values (camera on 720p Movie mode)
int disable_audio;
If you're not sure whether conf.disable_audio is effective, change( (int)conf.disable_audio == 1)to( 1 )
Have I missed any other required changes to disable audio?Could the movie_status==4 && *(int*)0x85B8==1) check be preventing sub_FF05BA94 being called?Could the problem lie with the 0xC2E3C address?
Disclaimer: I've never tried this.
You can check whether 0x85b8 and 0xc2e3c are used similarly in funnel's and your firmware version
//added to fix compiler error "loc_FF188A74:\n" "LDR R0, =0xC2E3C\n" "LDR R0, [R0,#8]\n" "CMP R0, #0\n" "BEQ sub_FF1863B0\n" "BNE sub_FF05BA94\n"
There is a small section at the very end of movie_rec.c in the 101b code that's missing from the 100a version:Code: [Select] //added to fix compiler error "loc_FF188A74:\n" "LDR R0, =0xC2E3C\n" "LDR R0, [R0,#8]\n" "CMP R0, #0\n" "BEQ sub_FF1863B0\n" "BNE sub_FF05BA94\n"This references both the 0xC2E3C value and the sub_FF05BA94 function used to disable audio.
Does his script work for you in the silent movie modes?
if( (int)conf.disable_audio == 1 && movie_status==4 && *(int*)0x85B8==1) //if recording_started && is_first_frame
Started by squirrelbait Feature Requests
Started by superphoto Hello, I'm a NEWBIE - HELP!! (Newbies assistance, User Guides and thank you notes)
Started by Jucifer Creative Uses of CHDK
Started by superphoto Feature Requests
Started by cfapostle Script Writing