Disabled greatpsycho's (S)VGA clock skew in some situations, fixes #789 (needs a proper fix, but this will do as a band-aid).
This commit is contained in:
@@ -22,6 +22,7 @@
|
||||
#define FLAG_ADDR_BY8 2
|
||||
#define FLAG_EXT_WRITE 4
|
||||
#define FLAG_LATCH8 8
|
||||
#define FLAG_NOSKEW 16
|
||||
|
||||
|
||||
typedef struct {
|
||||
|
@@ -1312,6 +1312,7 @@ void *et4000w32p_init(const device_t *info)
|
||||
|
||||
et4000->svga.clock_gen = et4000->svga.ramdac;
|
||||
et4000->svga.getclock = stg_getclock;
|
||||
et4000->svga.adv_flags |= FLAG_NOSKEW;
|
||||
break;
|
||||
|
||||
case ET4000W32_DIAMOND:
|
||||
|
@@ -445,7 +445,7 @@ svga_recalctimings(svga_t *svga)
|
||||
|
||||
svga->interlace = 0;
|
||||
|
||||
svga->ma_latch = ((svga->crtc[0xc] << 8) | svga->crtc[0xd]) + ((svga->crtc[8] & 0x60) >> 5);
|
||||
svga->ma_latch = ((svga->crtc[0xc] << 8) | svga->crtc[0xd]);
|
||||
svga->ca_adj = 0;
|
||||
|
||||
svga->rowcount = svga->crtc[9] & 31;
|
||||
@@ -459,6 +459,8 @@ svga_recalctimings(svga_t *svga)
|
||||
svga->hdisp *= (svga->seqregs[1] & 1) ? 16 : 18;
|
||||
} else {
|
||||
svga->render = svga_render_text_80;
|
||||
if (!(svga->adv_flags & FLAG_NOSKEW))
|
||||
svga->ma_latch += ((svga->crtc[8] & 0x60) >> 5);
|
||||
svga->hdisp *= (svga->seqregs[1] & 1) ? 8 : 9;
|
||||
}
|
||||
svga->hdisp_old = svga->hdisp;
|
||||
|
Reference in New Issue
Block a user