PicoMite V6.01.00 betas


Author Message
Volhout

Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 6101
Posted: 08:15am 02 Sep 2025      

Stan,

On VGA and HDMI the screen memory (FRAMEBUFFER N) is inside the pico. And also the FRAMEBUFFER LAYER memory is inside the pico. The VGA/HDMI shows L overlayed on N automatically (assuming you have FRAMEBUFFER L enabled). The overlaying is part of the video driver, and happens real time when generating the video data that is put on the HDMI/VGA cable.

On an LCD screen the FRAMEBUFFER N is actually inside the LCD itself, so overlaying L is very slow (via SPI get pixel data from the LCD, combine it with data in L, and SPI write it back to screen). The trick that is used is to create a "virtual" framebuffer in memory (FRAMEBUFFER F) and the same overlay FRAMEBUFFER L. The FRAMEBUFFER MERGE command (for LCD's only) merges the RAM values in F and L, and blasts that at maximum speed to the LCD. So the LCD is not read, it is only used as an output device when this happens. This is much faster, and allows to use the LCD for video games.

Volhout