Tandy: Slow down horizontal sync in low resolution modes.

This commit is contained in:
OBattler
2024-08-23 07:14:43 +02:00
parent 1a961db422
commit 0d43babac8

View File

@@ -718,8 +718,13 @@ recalc_timings(tandy_t *dev)
double _dispofftime;
double disptime;
disptime = vid->crtc[0] + 1;
_dispontime = vid->crtc[1];
if (vid->mode & 1) {
disptime = vid->crtc[0] + 1;
_dispontime = vid->crtc[1];
} else {
disptime = (vid->crtc[0] + 1) << 1;
_dispontime = vid->crtc[1] << 1;
}
_dispofftime = disptime - _dispontime;
_dispontime *= CGACONST;
@@ -795,7 +800,10 @@ vid_out(uint16_t addr, uint8_t val, void *priv)
break;
case 0x03d8:
old = vid->mode;
vid->mode = val;
if ((old ^ val) & 0x01)
recalc_timings(dev);
if (!dev->is_sl2)
update_cga16_color(vid->mode);
break;