View Full Version : Apple iPhone framebuffers...it's plural.

October 15th, 2008, 20:30
Continuing my hunt for the Apple iPhone and iPod Touch framebuffer, I spoke to Saurik. We've both dabbled with low level methods of grabbing and writing to the screen. He was very helpful and explained that the iPhone and iPod Touch are triple buffered. He said only one buffer can be written to at a time (which I'm researching now if this can be worked around). This explains why I can be writing to just one buffer, and when setNeedsDisplay is called, it flickers out of view. Basically I will have to find the addresses of all three buffers and write to each of them each frame, or kill Springboard all together.

This triple buffer theory can be researched further by looking at:

The datasheet for the S3C6400X on which the iPhone is "based" upon: S3C6400X.pdf
The userguide for the S3C6400X: S3C6400X_UserManual_rev1-0_2008-02_661558um.pdf
The userguide seems to go into detail of the physical address of the framebuffer location and it's windows' buffers. Though I see no mention of triple buffering, as this must be handled on the OS level.

I am delaying the posting of the code used for a follow-up to this newly found information. Hopefully I can find the addresses to the other 2 buffers used by Apple. If not, I will post what I have so far.

Keeping you updated,