Thanks ! Tested this mod on a vanilla r1457 (Windows 7 / CHDK-Shell) It's compatible with all cross compilers currently supplied with CHDK-Shell: GCC 3.4.6 / 4.4.0 / 4.5.1(note that these all use - and are compiled with - GCC 3.4.5 as native compiler, on Windows MinGW/MSYS)

...Thanks ! Tested this mod on a vanilla r1457 (Windows 7 / CHDK-Shell) It's compatible with all cross compilers currently supplied with CHDK-Shell: GCC 3.4.6 / 4.4.0 / 4.5.1(note that these all use - and are compiled with - GCC 3.4.5 as native compiler, on Windows MinGW/MSYS)...

I'm glad if the info helped!

I haven't tried with a different version of gcc yet, but I have traced the problem to revision 1448 (my build setup works to revision 1447). Specifically to this addition in finsig_dryos.c (line 3666):

//if ((fw.dryos_ver >= find_min_ver(curr_name)) && (fw.dryos_ver <= find_max_ver(curr_name)))//print_results(curr_name); }The loop itself wants to run 4 times in my case, but crashes in the third iteration of calling find_matches2(&fw, k). Specifically, right after entering in this loop inside the find_matches2 function (line 2321:)

for (i = 0; string_sigs[i].ev_name != 0 && !found_ev; i++){if (strcmp(curr_name, string_sigs[i].name) == 0){tried_ev = 1;if (find_strsig(fw, &string_sigs[i], k)){found_ev = 1;break;}}}The third time does not pass the the first if statement, which suggest comparing outside the scope of the string_sigs array. Either the functions gets called to many times or for loop parameters aren't sane.

FuncsList func_list2[] ={ { "ResetZoomLens", 0, 0 }, { "ResetFocusLens", 0, 0 },};So, shouldn't that only have to make run the loop only twice? And disabling this part of signature finding would only ignore these two functions?

As for reference ports compiling, I realised I don't have their firmware dumps in the build, so the signature finding gets skipped (another *herp* moment).

Now just a cosmetic bug or two to figure out (like how to make the menus in rec and play mode the same color) and the A2200 100b firmware should be BETA quality!

Colors in CHDK are a pain - with recent cameras having less useful colors in the palette, as well as different palettes in each mode (some cameras having up to 16 different palettes).

I implemented a solution for the G12/SX30/SX40/IXUS310 that updates unused entries in the palette with CHDK specific colors. Given the A2200 is from the same era it may be possible to implement this. You need to find some memory addresses for the palette buffer and active palette index though.

...Colors in CHDK are a pain - with recent cameras having less useful colors in the palette, as well as different palettes in each mode (some cameras having up to 16 different palettes).

I implemented a solution for the G12/SX30/SX40/IXUS310 that updates unused entries in the palette with CHDK specific colors. Given the A2200 is from the same era it may be possible to implement this. You need to find some memory addresses for the palette buffer and active palette index though....

I'll give it a shot. Somehow I managed to figure it out this far. Big thanks of course to everybody for all the help on the forums!