Hello & welcome, psychobabble !
Is it necessary to write code from scratch or do CHDK programmers get the code from the camera and then modify it?
No, normally a similar camera can be used as base, e.g. for the SX10 this may be the S5 or the SD990
Where can I get any existing code for the SX10 (or similar camera if there is none for the SX10 yet) so that I can begin studing it?
CHDK SVN + ewavr's diff...
Are there any special programs I need to write/compile/upload code to the camera or can I just use a text editor and save the file with a specific extension and then put in on a memory card?
You'll find all informations in the wikia -
For_DevelopersThe "easy" way is to use Windows with IDA Pro, CHDK-Shell & the included gcc development kit (links are in the wikia)
Would I need to know how to program in anything besides ARM?
The "model dependent" things are coded in ARM assembler, most of the common CHDK "core" is written in C.
There are some special tools for developers, e.g. the ->signature finder, encryption/decryption tools etc.
Read the informations in the wikia & in the forum (porting threads), study the sources (e.g. the S5 1.01b with lots of comments).
The
camera articles in the CHDK wikia often have some additional informations...
To start with ewavr's sources from above you prepare a dev environment using the
CHDK-Shell (full version with gcc dev kit), install (unzip) it, let it download the CHDK sources, append ewavr's diff file & compile it.