Good news, people... I completed the S5IS (1.01b) port
I know it's been a while since I started and I admit I didn't spend all time on only porting (I found it more interesting to experiment with some features I discovered) but at least it's done now. Today I just had to clean up the rest of my nonsense-debugging stuff, clean up ASM and get all this to work in the current trunk... which went a lot smoother and faster than I expected. It think these last bits took me a little over 7 hours including lunch.
Anyway, before you all fire up your cameras, I'd like to thank jeff666, ewavr and GrAnd for giving me some pointers (heh) I needed to complete this port.
I found it quite hard to start porting from scratch, so I don't think I could have done this without their help in this timespan. This is also why I have documented some things and I'm planning to make some real documentation on porting new cameras, although I'm not sure in what form yet. Also, during porting I found a lot of (hidden) features in the camera, some of which surprised me that they weren't in CHDK yet. I think you can expect at least some of them in the near future. I also still have a couple of ideas left and I think I found at least one flaw in CHDK, so I guess I'll have enough stuff to work on
Thank you for your patience, I hope you like it.
The source code should now be in SVN, for the impatient people I put a binary version online. I have tested as much as I can, please let me know when you find any problems.
Download:
binary version only, 1.01b.
Known issues:
- ISO overrides do not really seem to work beyond ISO 800 (as the camera sees it). Possibly the sensor doesn't go higher than ISO800 and ISO1600 is done artificially or something else is wrong, I don't know yet. I have the strong tendency to ignore this problem (low priority at least) because noise isn't acceptable at ISO400 or higher anyway.
- Overriding the subject distance only works when MF is enabled. This is a limitation of the camera, it will crash when MF is not enabled, so the override isn't activated in that case. There is still ONE method that I know of to crash the camera with the subject distance override, that's when you have subject distance override enabled, click the shoot-button halfway to get focus, enable MF without releasing the shutter button (SD override enabled) and then fully shooting. You shouldn't notice this behaviour, though, this method is quite useless when overriding SD anyway, so it seems silly to use it. However, one may forget setting MF and remember it at the last moment, so I'm going to try to find out what is causing it.
Edit: sand did the necessary changes to make this work on the S5IS 1.01a as well. His code is in the trunk and a binary build should be available soon (I think it's also referenced somewhere in this topic).