The way program mode works (auto mode and the various scene and art-filter modes generally follow this) should be easy to understand. After all, Olympus have kindly given us a chart at the back of the manual letting us know how the camera will operate with the 14-42 mm kit lens at 14 mm. Unfortunately, there is a problem with this: the chart does not reflect the default behaviour of the camera.

On the chart, the camera keeps the aperture wide open (f/3.5) as the light level climbs until an exposure time of 1/30s is reached. At this point aperture and exposure time climb together until an aperture of f/11 is reached, when the aperture is once again fixed and only the exposure time increases. The default behaviour is similar to this, except that the critical exposure time when the aperture starts closing is 1/60s, not 1/30s.

If this exposure time sounds familiar, it's probably because this is the same exposure at which Auto-ISO kicks in. This makes sense, after all, you wouldn't want to start raising the ISO level until you'd reached the widest aperture. This is also, of course, the flash speed, and once again it is the flash controls that affect how program mode works.

This is now starting to make sense. The flash is set to go off with the aperture wide open (which maximises the light from the flash that reaches the sensor), but before the ISO starts to climb. In auto mode, this is the point at which the flash will pop-up and go off (unless you've turned this function off), and with forced flash this is the minimum exposure it will allow (the maximum being the X-sync speed, of course).

Having tested this at a variety of focal lengths, it appears that the point at which the aperture starts to close is always linked to the flash speed: never above the X-sync; never below the slow-flash limit; 1/2f if between these two.

However, to get the behaviour out of program mode that is shown on the graph, you have to change the slow-flash limit from the default value of 1/60s to 1/30s. Why the limit defaults to this higher value is still a mystery to me - and presumably the person who drew up the program mode graph!