More Hercules Plus and InColor fixes.

This commit is contained in:
OBattler
2023-08-11 05:42:08 +02:00
parent 4e9d208ce7
commit 6a022039bd
2 changed files with 6 additions and 3 deletions

View File

@@ -139,6 +139,7 @@ herculesplus_out(uint16_t port, uint8_t val, void *priv)
return;
old = dev->crtc[dev->crtcreg];
dev->crtc[dev->crtcreg] = val;
if (dev->crtc[10] == 6 && dev->crtc[11] == 7) {
/*Fix for Generic Turbo XT BIOS,
*which sets up cursor registers wrong*/
@@ -535,6 +536,7 @@ herculesplus_poll(void *priv)
int x;
int oldvc;
int oldsc;
int cw = HERCULESPLUS_CW;
VIDEO_MONITOR_PROLOGUE();
if (!dev->linepos) {
@@ -558,7 +560,7 @@ herculesplus_poll(void *priv)
if ((dev->ctrl & HERCULESPLUS_CTRL_GRAPH) && (dev->ctrl2 & HERCULESPLUS_CTRL2_GRAPH))
x = dev->crtc[1] << 4;
else
x = dev->crtc[1] * 9;
x = dev->crtc[1] * cw;
video_process_8(x, dev->displine);
}
@@ -621,7 +623,7 @@ herculesplus_poll(void *priv)
if ((dev->ctrl & HERCULESPLUS_CTRL_GRAPH) && (dev->ctrl2 & HERCULESPLUS_CTRL2_GRAPH))
x = dev->crtc[1] << 4;
else
x = dev->crtc[1] * 9;
x = dev->crtc[1] * cw;
dev->lastline++;
if ((dev->ctrl & 8) && ((x != xsize) || ((dev->lastline - dev->firstline) != ysize) || video_force_resize_get())) {
xsize = x;

View File

@@ -850,6 +850,7 @@ incolor_poll(void *priv)
int x;
int oldvc;
int oldsc;
int cw = INCOLOR_CW;
if (!dev->linepos) {
timer_advance_u64(&dev->timer, dev->dispofftime);
@@ -931,7 +932,7 @@ incolor_poll(void *priv)
if ((dev->ctrl & INCOLOR_CTRL_GRAPH) && (dev->ctrl2 & INCOLOR_CTRL2_GRAPH))
x = dev->crtc[1] << 4;
else
x = dev->crtc[1] * 9;
x = dev->crtc[1] * cw;
dev->lastline++;
if ((dev->ctrl & 8) && ((x != xsize) || ((dev->lastline - dev->firstline) != ysize) || video_force_resize_get())) {
xsize = x;