From: Toni Wilen Date: Sat, 17 Oct 2020 17:00:11 +0000 (+0300) Subject: Move horizontal doubling to common code. X-Git-Tag: 4900~282 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=dd25191b903eefaa7cbbd8b2af643a1809e5cb4b;p=francis%2Fwinuae.git Move horizontal doubling to common code. --- diff --git a/pcem/vid_cl5429.cpp b/pcem/vid_cl5429.cpp index 7ad082dc..ee0b61e8 100644 --- a/pcem/vid_cl5429.cpp +++ b/pcem/vid_cl5429.cpp @@ -1158,10 +1158,7 @@ void gd5429_recalctimings(svga_t *svga) svga->horizontal_linedbl = svga->dispend * 9 / 10 >= svga->hdisp; if (svga->seqregs[7] & 0x01) { - if (svga->horizontal_linedbl) - svga->render = svga_render_8bpp_lowres; - else - svga->render = svga_render_8bpp_highres; + svga->render = svga_render_8bpp_highres; } svga->ma_latch |= ((svga->crtc[0x1b] & 0x01) << 16) | (((svga->crtc[0x1b] >> 2) & 3) << 17); @@ -1178,35 +1175,23 @@ void gd5429_recalctimings(svga_t *svga) switch (gd5429->hidden_dac_reg & 0xf) { case 0x0: - if (svga->horizontal_linedbl) - svga->render = svga_render_15bpp_lowres; - else - svga->render = svga_render_15bpp_highres; + svga->render = svga_render_15bpp_highres; svga->bpp = 15; break; case 0x1: - if (svga->horizontal_linedbl) - svga->render = svga_render_16bpp_lowres; - else - svga->render = svga_render_16bpp_highres; + svga->render = svga_render_16bpp_highres; svga->bpp = 16; break; case 0x5: if (gd5429->type >= CL_TYPE_GD5434 && (svga->seqregs[7] & 8)) { - if (svga->horizontal_linedbl) - svga->render = svga_render_32bpp_lowres; - else - svga->render = svga_render_32bpp_highres; + svga->render = svga_render_32bpp_highres; svga->bpp = 32; svga->rowoffset *= 2; } else { - if (svga->horizontal_linedbl) - svga->render = svga_render_24bpp_lowres; - else - svga->render = svga_render_24bpp_highres; + svga->render = svga_render_24bpp_highres; svga->bpp = 24; } break; @@ -1214,10 +1199,7 @@ void gd5429_recalctimings(svga_t *svga) } else { - if (svga->horizontal_linedbl) - svga->render = svga_render_15bpp_lowres; - else - svga->render = svga_render_15bpp_highres; + svga->render = svga_render_15bpp_highres; svga->bpp = 15; } } diff --git a/pcem/vid_s3.cpp b/pcem/vid_s3.cpp index 030dc59a..ab43dcde 100644 --- a/pcem/vid_s3.cpp +++ b/pcem/vid_s3.cpp @@ -1259,37 +1259,22 @@ void s3_recalctimings(svga_t *svga) switch (svga->bpp) { case 8: - if (svga->horizontal_linedbl) - svga->render = svga_render_8bpp_lowres; - else - svga->render = svga_render_8bpp_highres; + svga->render = svga_render_8bpp_highres; break; case 15: - if (svga->horizontal_linedbl) - svga->render = svga_render_15bpp_lowres; - else - svga->render = svga_render_15bpp_highres; + svga->render = svga_render_15bpp_highres; svga->hdisp /= 2; break; case 16: - if (svga->horizontal_linedbl) - svga->render = svga_render_16bpp_lowres; - else - svga->render = svga_render_16bpp_highres; + svga->render = svga_render_16bpp_highres; svga->hdisp /= 2; break; case 24: - if (svga->horizontal_linedbl) - svga->render = svga_render_24bpp_lowres; - else - svga->render = svga_render_24bpp_highres; + svga->render = svga_render_24bpp_highres; svga->hdisp /= 3; break; case 32: - if (svga->horizontal_linedbl) - svga->render = svga_render_32bpp_lowres; - else - svga->render = svga_render_32bpp_highres; + svga->render = svga_render_32bpp_highres; if (s3->chip != S3_TRIO32 && s3->chip != S3_TRIO64) svga->hdisp /= 4; break; diff --git a/pcem/vid_s3_virge.cpp b/pcem/vid_s3_virge.cpp index b029b991..f52aeb0b 100644 --- a/pcem/vid_s3_virge.cpp +++ b/pcem/vid_s3_virge.cpp @@ -607,34 +607,19 @@ static void s3_virge_recalctimings(svga_t *svga) switch (svga->bpp) { case 8: - if (svga->horizontal_linedbl) - svga->render = svga_render_8bpp_lowres; - else - svga->render = svga_render_8bpp_highres; + svga->render = svga_render_8bpp_highres; break; case 15: - if (svga->horizontal_linedbl) - svga->render = svga_render_15bpp_lowres; - else - svga->render = svga_render_15bpp_highres; + svga->render = svga_render_15bpp_highres; break; case 16: - if (svga->horizontal_linedbl) - svga->render = svga_render_16bpp_lowres; - else - svga->render = svga_render_16bpp_highres; + svga->render = svga_render_16bpp_highres; break; case 24: - if (svga->horizontal_linedbl) - svga->render = svga_render_24bpp_lowres; - else - svga->render = svga_render_24bpp_highres; + svga->render = svga_render_24bpp_highres; break; case 32: - if (svga->horizontal_linedbl) - svga->render = svga_render_32bpp_lowres; - else - svga->render = svga_render_32bpp_highres; + svga->render = svga_render_32bpp_highres; break; } } diff --git a/pcem/vid_svga.cpp b/pcem/vid_svga.cpp index 5de0adc3..7db56ac6 100644 --- a/pcem/vid_svga.cpp +++ b/pcem/vid_svga.cpp @@ -451,6 +451,19 @@ void svga_recalctimings(svga_t *svga) if (svga->vblankstart < svga->dispend) svga->dispend = svga->vblankstart; + if (svga->horizontal_linedbl) { + if (svga->render == svga_render_8bpp_highres) + svga->render = svga_render_8bpp_lowres; + if (svga->render == svga_render_15bpp_highres) + svga->render = svga_render_15bpp_lowres; + if (svga->render == svga_render_16bpp_highres) + svga->render = svga_render_16bpp_lowres; + if (svga->render == svga_render_24bpp_highres) + svga->render = svga_render_24bpp_lowres; + if (svga->render == svga_render_32bpp_highres) + svga->render = svga_render_32bpp_lowres; + } + crtcconst = svga->clock * svga->char_width; disptime = svga->htotal;