CHiPs44 / hagl_pico_vgaboard

HAGL HAL for Raspberry Pi Pico VGA board (scanvideo)
Other
6 stars 2 forks source link

Amstrad CPC palettes #9

Closed CHiPs44 closed 1 year ago

CHiPs44 commented 1 year ago

cf. https://www.cpcwiki.eu/index.php/CPC_Palette

27 colors in an 3x3x3 RGB cube

Default palettes to be found:

CHiPs44 commented 1 year ago
#DEFINE CPC_00_BLACK            PICO_SCANVIDEO_PIXEL_FROM_RGB8(0x00, 0x00, 0x00) /* #000000 */
#DEFINE CPC_01_BLUE             PICO_SCANVIDEO_PIXEL_FROM_RGB8(0x00, 0x00, 0x80) /* #000080 */
#DEFINE CPC_02_BRIGHT_BLUE      PICO_SCANVIDEO_PIXEL_FROM_RGB8(0x00, 0x00, 0xff) /* #0000FF */
#DEFINE CPC_03_RED              PICO_SCANVIDEO_PIXEL_FROM_RGB8(0x80, 0x00, 0x00) /* #800000 */
#DEFINE CPC_04_MAGENTA          PICO_SCANVIDEO_PIXEL_FROM_RGB8(0xff, 0x00, 0x00) /* #FF0000 */
#DEFINE CPC_05_MAUVE            PICO_SCANVIDEO_PIXEL_FROM_RGB8(0x80, 0x00, 0x80) /* #800080 */
#DEFINE CPC_06_BRIGHT_RED       PICO_SCANVIDEO_PIXEL_FROM_RGB8(0x80, 0x00, 0xff) /* #8000FF */
#DEFINE CPC_07_PURPLE           PICO_SCANVIDEO_PIXEL_FROM_RGB8(0xff, 0x00, 0x80) /* #FF0080 */
#DEFINE CPC_08_BRIGHT_MAGENTA   PICO_SCANVIDEO_PIXEL_FROM_RGB8(0xff, 0x00, 0xff) /* #FF00FF */
#DEFINE CPC_09_GREEN            PICO_SCANVIDEO_PIXEL_FROM_RGB8(0x00, 0x80, 0x00) /* #008000 */
#DEFINE CPC_10_CYAN             PICO_SCANVIDEO_PIXEL_FROM_RGB8(0x00, 0x80, 0x80) /* #008080 */
#DEFINE CPC_11_SKY_BLUE         PICO_SCANVIDEO_PIXEL_FROM_RGB8(0x00, 0x80, 0xff) /* #0080FF */
#DEFINE CPC_12_YELLOW           PICO_SCANVIDEO_PIXEL_FROM_RGB8(0x80, 0x80, 0x00) /* #808000 */
#DEFINE CPC_13_WHITE            PICO_SCANVIDEO_PIXEL_FROM_RGB8(0x80, 0x80, 0x80) /* #808080 */
#DEFINE CPC_14_PASTEL_BLUE      PICO_SCANVIDEO_PIXEL_FROM_RGB8(0x80, 0x80, 0xff) /* #8080FF */
#DEFINE CPC_15_ORANGE           PICO_SCANVIDEO_PIXEL_FROM_RGB8(0xff, 0x80, 0x00) /* #FF8000 */
#DEFINE CPC_16_PINK             PICO_SCANVIDEO_PIXEL_FROM_RGB8(0xff, 0x80, 0x80) /* #FF8080 */
#DEFINE CPC_17_PASTEL_MAGENTA   PICO_SCANVIDEO_PIXEL_FROM_RGB8(0xff, 0x80, 0xff) /* #FF80FF */
#DEFINE CPC_18_BRIGHT_GREEN     PICO_SCANVIDEO_PIXEL_FROM_RGB8(0x00, 0xff, 0x00) /* #00FF00 */
#DEFINE CPC_19_SEA_GREEN        PICO_SCANVIDEO_PIXEL_FROM_RGB8(0x00, 0xff, 0x80) /* #00FF80 */
#DEFINE CPC_20_BRIGHT_CYAN      PICO_SCANVIDEO_PIXEL_FROM_RGB8(0x00, 0xff, 0xff) /* #00FFFF */
#DEFINE CPC_21_LIME             PICO_SCANVIDEO_PIXEL_FROM_RGB8(0x80, 0xff, 0x00) /* #80FF00 */
#DEFINE CPC_22_PASTEL_GREEN     PICO_SCANVIDEO_PIXEL_FROM_RGB8(0x80, 0xff, 0x80) /* #80FF80 */
#DEFINE CPC_23_PASTEL_CYAN      PICO_SCANVIDEO_PIXEL_FROM_RGB8(0x80, 0xff, 0xff) /* #80FFFF */
#DEFINE CPC_24_BRIGHT_YELLOW    PICO_SCANVIDEO_PIXEL_FROM_RGB8(0xff, 0xff, 0x00) /* #FFFF00 */
#DEFINE CPC_25_PASTEL_YELLOW    PICO_SCANVIDEO_PIXEL_FROM_RGB8(0xff, 0xff, 0x80) /* #FFFF80 */
#DEFINE CPC_26_BRIGHT_WHITE     PICO_SCANVIDEO_PIXEL_FROM_RGB8(0xff, 0xff, 0xff) /* #FFFFFF */
CHiPs44 commented 1 year ago

Default colors: https://www.manualslib.com/manual/851404/Amstrad-Cpc-6128.html?page=63

CHiPs44 commented 1 year ago
/** @brief Amstrad CPC default palette for mode 0 */
uint16_t vgaboard_palette_4bpp_cpc_mode0[] = {
    CPC_01_BLUE,
    CPC_24_BRIGHT_YELLOW,
    CPC_20_BRIGHT_CYAN,
    CPC_06_BRIGHT_RED,
    CPC_26_BRIGHT_WHITE,
    CPC_00_BLACK,
    CPC_02_BRIGHT_BLUE,
    CPC_08_BRIGHT_MAGENTA,
    CPC_10_CYAN,
    CPC_12_YELLOW,
    CPC_14_PASTEL_BLUE,
    CPC_16_PINK,
    CPC_18_BRIGHT_GREEN,
    CPC_22_PASTEL_GREEN,
    CPC_01_BLUE, // Flashing with CPC_24_BRIGHT_YELLOW
    CPC_16_PINK, // Flashing with CPC_11_SKY_BLUE
};

/** @brief Amstrad CPC default palette for mode 1 */
uint16_t vgaboard_palette_2bpp_cpc_mode1[] = {
    CPC_01_BLUE,
    CPC_24_BRIGHT_YELLOW,
    CPC_20_BRIGHT_CYAN,
    CPC_06_BRIGHT_RED
};

/** @brief Amstrad CPC default palette for mode 2 */
uint16_t vgaboard_palette_1bpp_cpc_mode2[] = {
    CPC_01_BLUE,
    CPC_24_BRIGHT_YELLOW
};