Total colors, color depth

So there are 3 screen modes:
220x174x4 colors from ??? total colors
110x88x16colors from ??? total colors
96x64x256colors from ??? total colors

How many colors are in total color pallete?

What is depth?
2bit hires?
4bit middle res?
8bit lowres?

Is there fucntion to render buffer to vram or direct access to vram (DMA)?

You can choose the palette from 16 bit colors. The depth is as you said. There are also direct drawing functions where you give directly 16-bit color pixels to LCD, like directBitmap().

1 Like

2 bit = 4 colors
4 bit = 16 colors
8 bit = 256 colors
The function drawBitmap() draws through a buffer with those color depth/resolution restrictions (with a free palette) while directBitmap() renders directly to the screen without a buffer.


So as I understand there is abilitty of code own screen modes.Also that LCD can show 200 000 colors?

Yes, you can make your own screen modes if you will. The LCD hw supports 18 bit colors, but Pokitto hw uses only 16 bits.

The lcd controller is only being fed 16 data lines. 18-bit mode would need serious hardware tweaking

1 Like

The LCD panel does not have any “graphics modes” by itself. The native resolution is 176x220-16BPP. All the modes are converted from the mapped graphics buffer to the display RAM on refresh time. The code is here:

Look for the “lcdrefreshmode****” series for every graphics mode.

Here is another ST controlled tft panel. The page has atmega code samples as well and the older 1.0 revision of the manual.

I think the best would be to write hand optimized functions to copy/scale up an image from the graphics buffer to display RAM.
There are tricks like windowed write with auto increment we could use to draw sprites directly on the screen.
I’m planning to buy a matching LPC board with an ST7775R LCD controller (or an Orise OTM2201A) and start coding before Pokittos will be available. The emulator can’t do HW operations.

1 Like

Thank you for answers!

1 Like