Attempt at fixing the Paradise VGA 640x480x8bpp mode in Windows 3.0.
This commit is contained in:
@@ -122,6 +122,7 @@ void paradise_out(uint16_t addr, uint8_t val, void *p)
|
|||||||
{
|
{
|
||||||
svga->gdcreg[0xe] = val;
|
svga->gdcreg[0xe] = val;
|
||||||
paradise_remap(paradise);
|
paradise_remap(paradise);
|
||||||
|
svga_recalctimings(svga);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -251,9 +252,11 @@ void paradise_recalctimings(svga_t *svga)
|
|||||||
if (paradise->type == WD90C30)
|
if (paradise->type == WD90C30)
|
||||||
svga->interlace = (svga->crtc[0x2d] & 0x20);
|
svga->interlace = (svga->crtc[0x2d] & 0x20);
|
||||||
|
|
||||||
svga->lowres = !(svga->gdcreg[0xe] & 0x01);
|
if (svga->gdcreg[0xe] & 0x01) {
|
||||||
if (svga->bpp == 8 && !svga->lowres)
|
svga->bpp = 8;
|
||||||
|
svga->lowres = 0;
|
||||||
svga->render = svga_render_8bpp_highres;
|
svga->render = svga_render_8bpp_highres;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void paradise_write(uint32_t addr, uint8_t val, void *p)
|
static void paradise_write(uint32_t addr, uint8_t val, void *p)
|
||||||
|
Reference in New Issue
Block a user