aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBALATON Zoltan <balaton@eik.bme.hu>2018-07-09 19:02:36 +0200
committerDavid Gibson <david@gibson.dropbear.id.au>2018-07-16 11:18:09 +1000
commit593a1cdd66ac83c1cefdd4cc5dd6338006fc202c (patch)
tree90abc7cd50960d97d0fdeb5402fa9a1fe1ae7226
parent9277d81f5c2c6f4d0b5e47c8476eb7ee7e5c0beb (diff)
downloadqemu-593a1cdd66ac83c1cefdd4cc5dd6338006fc202c.zip
qemu-593a1cdd66ac83c1cefdd4cc5dd6338006fc202c.tar.gz
qemu-593a1cdd66ac83c1cefdd4cc5dd6338006fc202c.tar.bz2
sm501: Update screen on frame buffer address change
When the guest changes the address of the frame buffer we need to refresh the screen to correctly display the new content. This fixes display update problems when changing between screens on AmigaOS. Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-rw-r--r--hw/display/sm501.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/hw/display/sm501.c b/hw/display/sm501.c
index 3661a89..9ab29d3 100644
--- a/hw/display/sm501.c
+++ b/hw/display/sm501.c
@@ -1235,6 +1235,7 @@ static void sm501_disp_ctrl_write(void *opaque, hwaddr addr,
if (value & 0x8000000) {
qemu_log_mask(LOG_UNIMP, "Panel external memory not supported\n");
}
+ s->do_full_update = true;
break;
case SM501_DC_PANEL_FB_OFFSET:
s->dc_panel_fb_offset = value & 0x3FF03FF0;
@@ -1298,6 +1299,7 @@ static void sm501_disp_ctrl_write(void *opaque, hwaddr addr,
if (value & 0x8000000) {
qemu_log_mask(LOG_UNIMP, "CRT external memory not supported\n");
}
+ s->do_full_update = true;
break;
case SM501_DC_CRT_FB_OFFSET:
s->dc_crt_fb_offset = value & 0x3FF03FF0;