The emulator no longer waits for blit on window resize, fixes both the freeze on window move and the EGA half size problem on XT machines.

This commit is contained in:
OBattler
2017-07-22 10:58:12 +02:00
parent dd93543bad
commit 6332864e45
2 changed files with 10 additions and 9 deletions

View File

@@ -532,13 +532,16 @@ void ega_poll(void *p)
}
else if (!(ega->gdcreg[6] & 1))
{
if (ega_jega_enabled(ega))
if (fullchange)
{
ega_render_text_jega(ega, drawcursor);
}
else
{
ega_render_text_standard(ega, drawcursor);
if (ega_jega_enabled(ega))
{
ega_render_text_jega(ega, drawcursor);
}
else
{
ega_render_text_standard(ega, drawcursor);
}
}
}
else
@@ -639,7 +642,7 @@ void ega_poll(void *p)
if (ega->interlace && !ega->oddeven) ega->lastline++;
if (ega->interlace && ega->oddeven) ega->firstline--;
if ((x != xsize || (ega->lastline - ega->firstline) != ysize) || update_overscan)
if ((x != xsize || (ega->lastline - ega->firstline + 1) != ysize) || update_overscan)
{
xsize = x;
ysize = ega->lastline - ega->firstline + 1;
@@ -763,7 +766,6 @@ void ega_poll(void *p)
ega->sc = 0;
ega->dispon = 1;
ega->displine = (ega->interlace && ega->oddeven) ? 1 : 0;
ega->displine = 0;
ega->scrollcache = ega->attrregs[0x13] & 7;
}
if (ega->sc == (ega->crtc[10] & 31))

View File

@@ -334,7 +334,6 @@ void mainthread(LPVOID param)
if (!video_fullscreen && win_doresize && (winsizex > 0) && (winsizey > 0))
{
video_wait_for_blit();
SendMessage(hwndStatus, SB_GETBORDERS, 0, (LPARAM) sb_borders);
GetWindowRect(ghwnd, &r);
MoveWindow(hwndRender, 0, 0, winsizex, winsizey, TRUE);