Multi-monitor support (backend preparation part)

This commit is contained in:
Cacodemon345
2022-07-03 01:07:13 +06:00
parent 4e8a27a214
commit 8a3367ff6f
37 changed files with 537 additions and 345 deletions

View File

@@ -119,6 +119,7 @@ typedef struct {
cursoron,
cgablink;
int vsynctime;
int fullchange;
int vadj;
uint16_t ma, maback;
int dispon;
@@ -242,7 +243,7 @@ vid_out_1512(uint16_t addr, uint8_t val, void *priv)
vid->crtc[vid->crtcreg] = val & crtc_mask[vid->crtcreg];
if (old != val) {
if (vid->crtcreg < 0xe || vid->crtcreg > 0x10) {
fullchange = changeframecount;
vid->fullchange = changeframecount;
recalc_timings_1512(vid);
}
}
@@ -1113,7 +1114,7 @@ vid_out_200(uint16_t addr, uint8_t val, void *priv)
mda->crtc[mda->crtcreg] = val & crtc_mask[mda->crtcreg];
if (old != val) {
if (mda->crtcreg < 0xe || mda->crtcreg > 0x10) {
fullchange = changeframecount;
vid->fullchange = changeframecount;
mda_recalctimings(mda);
}
}
@@ -1145,7 +1146,7 @@ vid_out_200(uint16_t addr, uint8_t val, void *priv)
cga->crtc[cga->crtcreg] = val & crtc_mask[cga->crtcreg];
if (old != val) {
if (cga->crtcreg < 0xe || cga->crtcreg > 0x10) {
fullchange = changeframecount;
vid->fullchange = changeframecount;
cga_recalctimings(cga);
}
}

View File

@@ -97,7 +97,7 @@ typedef struct compaq_plasma_t
int linepos, displine;
uint8_t *vram;
uint64_t dispontime, dispofftime;
int dispon;
int dispon, fullchange;
} compaq_plasma_t;
static uint8_t cga_crtcmask[32] =
@@ -375,7 +375,7 @@ compaq_plasma_out(uint16_t addr, uint8_t val, void *priv)
if (old != val) {
if (self->cga.crtcreg < 0xe || self->cga.crtcreg > 0x10) {
fullchange = changeframecount;
self->fullchange = changeframecount;
compaq_plasma_recalctimings(self);
}
}

View File

@@ -81,6 +81,7 @@ typedef struct {
int dispon;
int con, coff, cursoron, blink;
int vsynctime;
int fullchange;
int vadj;
uint16_t ma, maback;
uint64_t dispontime, dispofftime;
@@ -162,7 +163,7 @@ vid_out(uint16_t addr, uint8_t val, void *p)
pcjr->crtc[pcjr->crtcreg] = val & crtcmask[pcjr->crtcreg];
if (old != val) {
if (pcjr->crtcreg < 0xe || pcjr->crtcreg > 0x10) {
fullchange = changeframecount;
pcjr->fullchange = changeframecount;
recalc_timings(pcjr);
}
}

View File

@@ -91,6 +91,7 @@ typedef struct {
int con, coff,
cursoron,
blink;
int fullchange;
int vsynctime;
int vadj;
uint16_t ma, maback;
@@ -536,7 +537,7 @@ vid_out(uint16_t addr, uint8_t val, void *priv)
vid->crtc[vid->crtcreg] = val & crtcmask[vid->crtcreg];
if (old != val) {
if (vid->crtcreg < 0xe || vid->crtcreg > 0x10) {
fullchange = changeframecount;
vid->fullchange = changeframecount;
recalc_timings(dev);
}
}