From 08ba4e7911ab981bd511e5298fa403f6d2508bab Mon Sep 17 00:00:00 2001 From: David Kuder Date: Tue, 25 Apr 2023 16:20:29 -0400 Subject: [PATCH] Unified mono_rendering flag In preparation for Video7 monochrome mode, add unified flag for mono rendering --- vga/render.c | 3 +++ vga/render_dgr.c | 2 +- vga/render_dhgr.c | 2 +- vga/render_hires.c | 2 +- vga/render_lores.c | 2 +- 5 files changed, 7 insertions(+), 4 deletions(-) diff --git a/vga/render.c b/vga/render.c index 7909768..383865e 100644 --- a/vga/render.c +++ b/vga/render.c @@ -14,6 +14,7 @@ uint16_t text_border; compat_t machinefont = MACHINE_INVALID; bool userfont = false; +bool mono_rendering = false; uint16_t DELAYED_COPY_DATA(mono_colors)[14] = { _RGB(0x00, 0x00, 0x00), _RGB(0xFF, 0xFF, 0xFF), // White Normal @@ -196,6 +197,8 @@ void DELAYED_COPY_CODE(render_loop)() { text_back = mono_colors[palette*2]; text_border = (palette == 0x6) ? text_fore : text_back; } + + mono_rendering = ((soft_switches & SOFTSW_MONOCHROME) || (mono_palette & 0x8)); if(internal_flags & IFLAGS_TEST) { render_testpattern(); diff --git a/vga/render_dgr.c b/vga/render_dgr.c index ea58d30..94d5f5f 100644 --- a/vga/render_dgr.c +++ b/vga/render_dgr.c @@ -65,7 +65,7 @@ static void DELAYED_COPY_CODE(render_dgr_line)(bool p2, uint line) { sl_pos++; i = 0; - if((soft_switches & SOFTSW_MONOCHROME) || (mono_palette & 0x8)) { + if(mono_rendering) { while(i < 40) { while((dotc <= 18) && (i < 40)) { color1 |= dgr_dot_pattern[((i & 1) << 4) | (line_bufb[i] & 0xf)] << dotc; diff --git a/vga/render_dhgr.c b/vga/render_dhgr.c index cdc3e70..2d17516 100644 --- a/vga/render_dhgr.c +++ b/vga/render_dhgr.c @@ -65,7 +65,7 @@ static void DELAYED_COPY_CODE(render_dhgr_line)(bool p2, uint line) { uint32_t pixeldata; i = 0; - if((soft_switches & SOFTSW_MONOCHROME) || (mono_palette & 0x8)) { + if(mono_rendering) { while(i < 40) { // Load in as many subpixels as possible while((dotc < 28) && (i < 40)) { diff --git a/vga/render_hires.c b/vga/render_hires.c index 8dac829..676d8a0 100644 --- a/vga/render_hires.c +++ b/vga/render_hires.c @@ -55,7 +55,7 @@ static void DELAYED_COPY_CODE(render_hires_line)(bool p2, uint line) { uint32_t pixeldata; uint i; - if((soft_switches & SOFTSW_MONOCHROME) || (mono_palette & 0x8)) { + if(mono_rendering) { while(i < 40) { // Load in as many subpixels as possible while((dotc < 18) && (i < 40)) { diff --git a/vga/render_lores.c b/vga/render_lores.c index 8f14e5a..5d105f4 100644 --- a/vga/render_lores.c +++ b/vga/render_lores.c @@ -79,7 +79,7 @@ static void DELAYED_COPY_CODE(render_lores_line)(bool p2, uint line) { sl2->data[sl_pos] = (text_border|THEN_EXTEND_3) | ((text_border|THEN_EXTEND_3) << 16); // 8 pixels per word sl_pos++; - if((soft_switches & SOFTSW_MONOCHROME) || (mono_palette & 0x8)) { + if(mono_rendering) { for(i = 0; i < 40; i+=2) { color1 = lores_dot_pattern[line_buf[i] & 0xf] << 14; color2 = lores_dot_pattern[(line_buf[i] >> 4) & 0xf] << 14;