Continued, Edited and Up-Dated, from Reply #11
These porting attempts use the ArmU Disassembler and the attached ArmU Project Files.
Currently the ArmU Disassembly's produce a slightly different results for various reasons.
And ArmU probably has one or more minor bugs so with a typical DIG!C 4+ camera with
about 1000 Valid Offsets found by using ArmU there may be about 10 slightly different
disassembly results.
However, when fully debugged, most likely they will compile and run OK.
Examples of this are the a2500 and the Ixus 240-100c cameras.
The Porting Attempts (see Reply #11) work by "Pre-Setting" the Non-Valid Offsets to
Valid Offsets. This makes DIG!C 4+ CHDK Porting slightly easier to De-Bug.
Using the ArmU Disassembler (Line by Line) is a very tedious and potentially error prone but
normally along the way quite a few, but not all, other DIG!C 4+ canon code differences can also
be spotted.
Its also it's Important to note that CHDK originally Crashed with DIG!C 4+ Camera's as very
little was understood about the DIG!C 4+ Canon Code at that time. The latest sig finding seems
to work very well and is being continuously updated.
And to further complicated things some Windows 10 Pre-Views had a Dll file bug wich also crashed
the CHDK builds.
Also, in general, All these DIG!C 4+ porting attempts could have more than 12,000 Valid Offsets
"Differences" in total so there are bound to be "Some" other porting errors.
And some ports such as the Ixus 145, only the boot.c file, actually is the only "Fully" ported file.
Some or all of the other *.c files are just direct copy's of other camera as a typical DIG!C 4+
Porting starting point. The porting of capt.c file is the most difficult because it has about 50%
of the valid Offset difference and it also directly relates to the underlying hardware which is
slightly different for each DIG!C 4+ Camera.
Once the initial DIG!C 4+ Porting framework has be done, from an exiting and working "Reference"
CHDK Camera, DIG!C 4+ "Pre-Setting" and Porting can be continued by using more "Advanced"
DIG!C 4+ cameras such as the Ixus 150 and Ixus 160 as a suitable reference camera.
Some Dig!c 4+ ArmU Project Files are Attached for the missing CHDK DIG!C 4+ Ports.
However, Most, are still a work in progress at present, and will require some additional
"De-Bugging" and probably will contain various errors.
To Summarize, these DIG!C 4+ Porting Attempts, are very complex and not yet fully understood
subject. The process of "Pre-Setting" the Offsets is just a small and time consuming additional step
that may assist in better the understanding the DIG!c 4+ camera family tree.
"Pre-Setting" the Offsets "Should Not" affect the compiling the DIG!c 4+ camera family.
The "Pre-Set" Offsets are commented in the attached DIG!C 4+ CHDK files.
An Example ..... // 100c etc.
Also Attached is some details of a comparison of Port's of Ixus 145 Vs Ixus 150 cameras.
That shows the (complex) relationship and distributions of the valid offsets between pairs
of DIG!C 4+ Cameras.
More Details and continued here
http://chdk.setepontos.com/index.php?topic=11374.msg126219#msg126219H-H