From nafrafs lvdumps it looks like this camera has 720x240 viewport and bitmap, similar to older cameras like D10 (I expected to be 480 like elph130). So the only (probable) error I see is returning a height of 480 in playback mode. I'm assuming the chdkptp live view shows the whole viewport area, it looks to me like it does but it's hard to be certain.
This wouldn't explain the
issue nafraf reported with the zebra. I'm not sure how this would happen, an lvdump showing it might be useful. One thing that occurs to me is that zebra does not currently honor DRAW_ON_ACTIVE_BITMAP_BUFFER_ONLY, disp_zebra just draws on both buffers, and assumes the second immediately follows the first. If there was a gap, that might produce something like nafraf described.
Here's a test build that has the playback mode height set to 240 and shows the bitmap addresses. I'm mostly interested in the BM0 and BM1 values.
https://app.box.com/s/6m917eq3z6bepg1se2gs1v6o0zpsxaiqI'm posting this publicly, but the usual elph160
bricking warning applies. If it destroys your camera don't blame us.