kopia lustrzana https://github.com/hoglet67/RGBtoHDMI
Update palettes
rodzic
b06913a690
commit
6b4efcad4c
|
@ -64,9 +64,9 @@ preload_capture_line_even:
|
|||
capture_line_even_8bpp:
|
||||
push {lr}
|
||||
tst r3, #BIT_VSYNC_MARKER
|
||||
ldrne r5, =0x01010101
|
||||
ldrne r5, =0x40404040
|
||||
moveq r5, #0
|
||||
ldrne r6, =0x01010101
|
||||
ldrne r6, =0x40404040
|
||||
moveq r6, #0
|
||||
tst r3, #BIT_DEBUG
|
||||
eorne r5, r5, #0x05 //magenta in leftmost
|
||||
|
@ -141,9 +141,9 @@ preload_capture_line_odd:
|
|||
capture_line_odd_8bpp:
|
||||
push {lr}
|
||||
tst r3, #BIT_VSYNC_MARKER
|
||||
ldrne r5, =0x01010101
|
||||
ldrne r5, =0x40404040
|
||||
moveq r5, #0
|
||||
ldrne r6, =0x01010101
|
||||
ldrne r6, =0x40404040
|
||||
moveq r6, #0
|
||||
tst r3, #BIT_DEBUG
|
||||
eorne r5, r5, #0x05 //magenta in leftmost
|
||||
|
|
|
@ -1252,7 +1252,7 @@ skip_psync_loop_simple_fast_loop\@:
|
|||
|
||||
.macro SETUP_VSYNC_DEBUG_R11_R12
|
||||
tst r3, #BIT_VSYNC_MARKER
|
||||
ldrne r11, =0x01010101
|
||||
ldrne r11, =0x40404040
|
||||
moveq r11, #0
|
||||
movne r12, r11
|
||||
moveq r12, #0
|
||||
|
@ -1263,7 +1263,7 @@ skip_psync_loop_simple_fast_loop\@:
|
|||
|
||||
.macro SETUP_VSYNC_DEBUG_R11_R12_DOUBLE
|
||||
tst r3, #BIT_VSYNC_MARKER
|
||||
ldrne r11, =0x00010001
|
||||
ldrne r11, =0x00400040
|
||||
moveq r11, #0
|
||||
movne r12, r11
|
||||
moveq r12, #0
|
||||
|
@ -1406,7 +1406,7 @@ skip_psync_loop_simple_fast_loop\@:
|
|||
orr r9, r9, r8
|
||||
orr r10, r10, r8
|
||||
tst r3, #BIT_VSYNC_MARKER
|
||||
ldrne r8, =0x01010101
|
||||
ldrne r8, =0x40404040
|
||||
eorne r9, r9, r8 // eor in the VSync indicator (orr doesn't work on zx80/81 due to white screen)
|
||||
eorne r10, r10, r8
|
||||
tst r3, #BIT_DEBUG
|
||||
|
|
29
src/osd.c
29
src/osd.c
|
@ -2730,15 +2730,12 @@ void generate_palettes() {
|
|||
r = (i & 0x20) ? 0xaa : 0x00;
|
||||
r = (i & 0x10) ? (r + 0x55) : r;
|
||||
g = r; b = r;
|
||||
if (i & 1) {
|
||||
r ^= 0xff;
|
||||
}
|
||||
break;
|
||||
|
||||
case PALETTE_DRAGON_COCO:
|
||||
case PALETTE_DRAGON_COCO_FULL: {
|
||||
if ((i & 0x40) == 0x40) {
|
||||
r = 0; g = 0; b = 0;
|
||||
r = 0xff; g = 0; b = 0;
|
||||
} else {
|
||||
switch (i & 0x2d) { //these five are luma independent
|
||||
case (bz + rp):
|
||||
|
@ -2794,7 +2791,7 @@ void generate_palettes() {
|
|||
|
||||
case PALETTE_ATOM_6847_EMULATORS: {
|
||||
if ((i & 0x40) == 0x40) {
|
||||
r = 0; g = 0; b = 0;
|
||||
r = 0xff; g = 0; b = 0;
|
||||
} else {
|
||||
switch (i & 0x2d) { //these five are luma independent
|
||||
case (bz + rp):
|
||||
|
@ -2849,7 +2846,7 @@ void generate_palettes() {
|
|||
|
||||
case PALETTE_ATOM_MKII: {
|
||||
if ((i & 0x40) == 0x40) {
|
||||
r = 0; g = 0; b = 0;
|
||||
r = 0xff; g = 0; b = 0;
|
||||
} else {
|
||||
switch (i & 0x2d) { //these five are luma independent
|
||||
case (bz + rp):
|
||||
|
@ -2905,7 +2902,7 @@ void generate_palettes() {
|
|||
case PALETTE_ATOM_MKII_PLUS:
|
||||
case PALETTE_ATOM_MKII_FULL: {
|
||||
if ((i & 0x40) == 0x40) {
|
||||
r = 0; g = 0; b = 0;
|
||||
r = 0xff; g = 0; b = 0;
|
||||
} else {
|
||||
switch (i & 0x2d) { //these five are luma independent
|
||||
case (bz + rp):
|
||||
|
@ -2966,9 +2963,6 @@ void generate_palettes() {
|
|||
r = 0xff; break ;
|
||||
}
|
||||
g = r; b = r;
|
||||
if (i & 1) {
|
||||
r ^= 0xff;
|
||||
}
|
||||
break;
|
||||
case PALETTE_MONO3:
|
||||
switch (i & 0x12) {
|
||||
|
@ -2981,9 +2975,6 @@ void generate_palettes() {
|
|||
r = 0xff; break ;
|
||||
}
|
||||
g = r; b = r;
|
||||
if (i & 1) {
|
||||
r ^= 0xff;
|
||||
}
|
||||
break;
|
||||
case PALETTE_MONO4:
|
||||
switch (i & 0x12) {
|
||||
|
@ -2997,9 +2988,6 @@ void generate_palettes() {
|
|||
r = 0xff; break ;
|
||||
}
|
||||
g = r; b = r;
|
||||
if (i & 1) {
|
||||
r ^= 0xff;
|
||||
}
|
||||
break;
|
||||
case PALETTE_MONO6:
|
||||
switch (i & 0x24) {
|
||||
|
@ -3019,9 +3007,6 @@ void generate_palettes() {
|
|||
r = 0xff; break ;
|
||||
}
|
||||
g = r; b = r;
|
||||
if (i & 1) {
|
||||
r ^= 0xff;
|
||||
}
|
||||
break;
|
||||
|
||||
case PALETTE_YG_4:
|
||||
|
@ -4204,12 +4189,18 @@ void generate_palettes() {
|
|||
|
||||
|
||||
}
|
||||
|
||||
if ((i & 0x40) && (palette != PALETTE_RrGgBbI)) {
|
||||
r ^= 0xff;
|
||||
}
|
||||
|
||||
if (m == -1) { // calculate mono if not already set
|
||||
m = ((299 * r + 587 * g + 114 * b + 500) / 1000);
|
||||
if (m > 255) {
|
||||
m = 255;
|
||||
}
|
||||
}
|
||||
|
||||
palette_array[palette][i] = (m << 24) | (b << 16) | (g << 8) | r;
|
||||
}
|
||||
strncpy(palette_names[palette], default_palette_names[palette], MAX_NAMES_WIDTH);
|
||||
|
|
Ładowanie…
Reference in New Issue