Skip to content

Commit

Permalink
Add 8 level mono palettes
Browse files Browse the repository at this point in the history
  • Loading branch information
IanSB committed Mar 24, 2023
1 parent a7b4096 commit 3b538b3
Show file tree
Hide file tree
Showing 2 changed files with 62 additions and 15 deletions.
74 changes: 60 additions & 14 deletions src/osd.c
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,8 @@ static char *default_palette_names[] = {
"Mono_(3_level)",
"Mono_(4_level)",
"Mono_(6_level)",
"Mono_(8_level)",
"Mono_(8_level_RGB)",
"Mono_(8_level_YUV)",
"TI-99-4a",
"Spectrum_48K_9Col",
"Colour_Genie_S24",
Expand Down Expand Up @@ -2947,6 +2948,62 @@ void generate_palettes() {
g = r; b = r;
break;

#define b3 0x24 // b-y 3
#define b2 0x04 // b-y 2
#define b1 0x20 // b-y 1
#define b0 0x00 // b-y 0
#define r3 0x09 // r-y 3
#define r2 0x01 // r-y 2
#define r1 0x08 // r-y 1
#define r0 0x00 // r-y 0
#define g3 0x12 // y 3
#define g2 0x02 // y 2
#define g1 0x10 // y 1
#define g0 0x00 // y 0

case PALETTE_MONO8_RGB:
switch (i) {
/*
case g3:
r = 0xff;g=0xff;b=0xff; break;
case r3:
case b3:
r = 0xff;g=0xff;b=0x00; break;
case g2:
r = 0x00;g=0xff;b=0xff; break;
case r2:
r = 0x00;g=0xff;b=0x00; break;
case b2:
r = 0xff;g=0x00;b=0xff; break;
case g1:
r = 0xff;g=0x00;b=0x00; break;
case r1:
case b1:
r = 0x00;g=0x00;b=0xff; break;
case 0:
r = 0x00;g=0x00;b=0x00; break;
*/

case 0:
r = 0x00;g=0x00;b=0x00; break;
case r1 + b1:
r = 0x00;g=0x00;b=0xff; break;
case r1 + b1 + g1:
r = 0xff;g=0x00;b=0x00; break;
case r1 + b2 + g1:
r = 0xff;g=0x00;b=0xff; break;
case r2 + b2 + g1:
r = 0x00;g=0xff;b=0x00; break;
case r2 + b2 + g2:
r = 0x00;g=0xff;b=0xff; break;
case r3 + b3 + g2:
r = 0xff;g=0xff;b=0x00; break;
case r3 + b3 + g3:
r = 0xff;g=0xff;b=0xff; break;

}
break;

#define u3 0x24 // b-y 3
#define u2 0x04 // b-y 2
#define u1 0x20 // b-y 1
Expand All @@ -2960,7 +3017,7 @@ void generate_palettes() {
#define y1 0x10 // y 1
#define y0 0x00 // y 0

case PALETTE_MONO8:
case PALETTE_MONO8_YUV:
switch (i) {
case 0:
r = 0x00;g=0x00;b=0x00; break;
Expand Down Expand Up @@ -3020,18 +3077,7 @@ void generate_palettes() {
break;
//**********************************************************************************

#define b3 0x24 // b-y 3
#define b2 0x04 // b-y 2
#define b1 0x20 // b-y 1
#define b0 0x00 // b-y 0
#define r3 0x09 // r-y 3
#define r2 0x01 // r-y 2
#define r1 0x08 // r-y 1
#define r0 0x00 // r-y 0
#define g3 0x12 // y 3
#define g2 0x02 // y 2
#define g1 0x10 // y 1
#define g0 0x00 // y 0

case PALETTE_TI: {
r=g=b=0;

Expand Down
3 changes: 2 additions & 1 deletion src/osd.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,8 @@ enum {
PALETTE_MONO3,
PALETTE_MONO4,
PALETTE_MONO6,
PALETTE_MONO8,
PALETTE_MONO8_RGB,
PALETTE_MONO8_YUV,
PALETTE_TI,
PALETTE_SPECTRUM48K,
PALETTE_CGS24,
Expand Down

0 comments on commit 3b538b3

Please sign in to comment.