Written for/on: Powershot S3 IS - WARNING! USE WITH MAJOR CAUTION!!
Also works on: (unknown)

I wanted to update the tutorial page section on using the new set_zoom_speed and set_zoom commands. Since you no longer had to manually set your zoom speed before using them (with S-series cameras). But before removing the old info, I thought I'd better test to see if the set_zoom_speed was getting set to the last manually selected zoom speed (as in the earlier versions of CHDK). I ran into a potentially harmful but potentially WONDERFUL bug. If you run the "Zoom Shoot!" script without the set_zoom_speed command, and manually select a SLOW zoom-in speed before running it, it will refocus some internal lens elements so you can use Zoom with S-Macro mode! As if you had put a +4 or +5 diopter close-up lens on your camera and using full-zoom range. The trouble is that you can hear your camera's internal motors straining during this process as it hits up against some internal stop, and the only way you can get out of this Tele-Macro mode is by turning your camera off and on again. Perhaps GrAnd or others can find a way to implement this amazingly useful bug in a safe way? So I thought I'd include it here. This is very much worth investigating, if only I felt it was available in a safer method than this. :-)

p.s. If someone can find a shorter way to reproduce this bug without all the extra shoot and zoom_rel commands and stuff, please show how you did it. I tried removing some commands from the zoom-shoot script to shorten things up, but then I could no longer get the camera to trigger into this tele-s-macro mode. So, I just left the brunt of the script intact, removed the set_zoom_speed command (which doing so caused this bug in the first place) and included the warning.

You can read some further comments about using this HERE. I have also found that the amount of Tele-macro capability changes depending on how much you zoom-in (slowly) before running this script. Too much slow zoom-in beforehand (setting the zoom step above 60 or so, in slow mode) may also cause the camera to shut down. The lens assembly that gets moved with this script can be positioned at various locations depending on where it stops when the script ends. Sometimes you get no tele-macro effect at all, sometimes it's vast. Trying to reproduce the same level of tele-macro mode seems difficult. There's no rhyme nor reason to it at times. It also seems to change if you zoom and refocus a lot after exiting the script. I've probably tested this about two dozen times now (with no apparent damage to the camera) to try to figure out the best and safest settings to get it to be the most effective, but I still feel unsafe using it due to the noises the focusing and zooming mechanisms make at times.

Usage notes:

USE WITH CAUTION! Could potentially harm your lens' zooming and focusing mechanisms. Leave the number of shots and step settings on their defaults (2 and 8 respectively). In order to reproduce this "bug" -- Before running this script, manually zoom your lens in and out at fast speed, and then manually zoom-IN for a bit at SLOW speed, release zoom-rocker, then run script. After you exit <ALT> mode (end the script) your camera's lens is now in a zoom-able S-Macro Mode! Turn camera off and on to reset lens back to normal.

rem Author ~Keoeeit~
rem Written for S3

rem CHDK Build 122 or later required
@title Tele-S-Macro Mode
@param a Shoot count
@default a 2
@param b Steps 1 to (A)8,14 (S)128
@default b 8

if a<2 then a=2
if b<1 then b=1
get_zoom r

print "Setting Tele-S-Macro Mode"
print "USE WITH CAUTION!!!!!!!"
print "Press shutter to exit NOW"
print "if unsure of use."
sleep 5000
set_zoom 0
print "Shoot 1 of", a
for s=2 to a
 print "Zooming-in ", b; "steps..."
 set_zoom_rel b
 print "Shoot", s, "of", a
next s

print "Resetting Zoom..."
set_zoom r
click "shoot_half"