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);
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;
}
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;
}
}
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;
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;
}
}
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;