Hi,
I have some code that reads and writes to the viewport in play mode. Code that worked well on the A720is didn't work on the A570is. For every other image nothing happened. My firmware is 101a.
I did some investigating and found that there are two addresses for the play viewport display, each used on every other image.
The existing routine for getting the viewport address is vid_get_viewport_fb_d(). It reads the viewport address from 0x7C090. I searched around that area and found a suitable address at 0x7C0A4. This seems to work. The address at 0x7C0A4 is 0x104B8F50.
EDIT: Doesn't work for zoomed images. Needs more investigation. One address seems to hold the unzoomed image, the other is used for zooming.
So I have a new routine:
void *vid_get_viewport_fb_d2()
{
return (void*)(*(int*)0x7C0A4);
}
It seems that the viewport data is always at the original address, but the display for every other image is at the new address. So I can read the data from the original address, then have to write to both to always get it displayed.
Anyone have an idea what is going on?
Why is the viewport address read from another place. Can it change during camera operation?
Jon