Mystique: Only update maback, the change will take place at the next retrace.
This commit is contained in:
@@ -886,6 +886,7 @@ mystique_recalctimings(svga_t *svga)
|
|||||||
if (mystique->type >= MGA_1064SG) {
|
if (mystique->type >= MGA_1064SG) {
|
||||||
/*Mystique, unlike most SVGA cards, allows display start to take
|
/*Mystique, unlike most SVGA cards, allows display start to take
|
||||||
effect mid-screen*/
|
effect mid-screen*/
|
||||||
|
#ifdef CHANGE_MA
|
||||||
if (svga->ma_latch != mystique->ma_latch_old) {
|
if (svga->ma_latch != mystique->ma_latch_old) {
|
||||||
if (svga->interlace && svga->oddeven)
|
if (svga->interlace && svga->oddeven)
|
||||||
svga->ma = svga->maback = (svga->maback - (mystique->ma_latch_old << 2)) + (svga->ma_latch << 2) + (svga->rowoffset << 1);
|
svga->ma = svga->maback = (svga->maback - (mystique->ma_latch_old << 2)) + (svga->ma_latch << 2) + (svga->rowoffset << 1);
|
||||||
@@ -893,6 +894,17 @@ mystique_recalctimings(svga_t *svga)
|
|||||||
svga->ma = svga->maback = (svga->maback - (mystique->ma_latch_old << 2)) + (svga->ma_latch << 2);
|
svga->ma = svga->maback = (svga->maback - (mystique->ma_latch_old << 2)) + (svga->ma_latch << 2);
|
||||||
mystique->ma_latch_old = svga->ma_latch;
|
mystique->ma_latch_old = svga->ma_latch;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
/* Only change maback so the new display start will take effect on the next
|
||||||
|
horizontal retrace. */
|
||||||
|
if (svga->ma_latch != mystique->ma_latch_old) {
|
||||||
|
if (svga->interlace && svga->oddeven)
|
||||||
|
svga->maback = (svga->maback - (mystique->ma_latch_old << 2)) + (svga->ma_latch << 2) + (svga->rowoffset << 1);
|
||||||
|
else
|
||||||
|
svga->maback = (svga->maback - (mystique->ma_latch_old << 2)) + (svga->ma_latch << 2);
|
||||||
|
mystique->ma_latch_old = svga->ma_latch;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
svga->rowoffset <<= 1;
|
svga->rowoffset <<= 1;
|
||||||
switch (mystique->xmulctrl & XMULCTRL_DEPTH_MASK) {
|
switch (mystique->xmulctrl & XMULCTRL_DEPTH_MASK) {
|
||||||
|
Reference in New Issue
Block a user