diff --git a/menu/drivers/rgui.c b/menu/drivers/rgui.c index 12cbc3286e..71571bcff0 100644 --- a/menu/drivers/rgui.c +++ b/menu/drivers/rgui.c @@ -447,7 +447,20 @@ static uint16_t argb32_to_abgr1555(uint32_t col) #define argb32_to_pixel_platform_format(color) argb32_to_abgr1555(color) -#elif defined(PSP) || defined(GEKKO) +#elif defined(GEKKO) + +static uint16_t argb32_to_rgb5a3(uint32_t col) +{ + unsigned a = ((col >> 24) & 0xff) >> 5; + unsigned r = ((col >> 16) & 0xff) >> 4; + unsigned g = ((col >> 8) & 0xff) >> 4; + unsigned b = ((col & 0xff) ) >> 4; + return (a << 12) | (r << 8) | (g << 4) | b; +} + +#define argb32_to_pixel_platform_format(color) argb32_to_rgb5a3(color) + +#elif defined(PSP) static uint16_t argb32_to_abgr4444(uint32_t col) {