diff vdp.c @ 1629:079e5b9d59ce

Forcefully update the display when entering the 68K debugger so you can see it update in realtime as you step through the code
author Michael Pavone <pavone@retrodev.com>
date Thu, 01 Nov 2018 20:14:56 -0700
parents 3c1661305219
children c4ba3177b72d
line wrap: on
line diff
--- a/vdp.c	Wed Oct 31 21:58:59 2018 -0700
+++ b/vdp.c	Thu Nov 01 20:14:56 2018 -0700
@@ -1720,6 +1720,22 @@
 	}
 }
 
+void vdp_force_update_framebuffer(vdp_context *context)
+{
+	uint16_t lines_max = (context->flags2 & FLAG2_REGION_PAL) 
+			? 240 + BORDER_TOP_V30_PAL + BORDER_BOT_V30_PAL 
+			: 224 + BORDER_TOP_V28 + BORDER_BOT_V28;
+			
+	uint16_t to_fill = lines_max - context->output_lines;
+	memset(
+		((char *)context->fb) + context->output_pitch * context->output_lines,
+		0,
+		to_fill * context->output_pitch
+	);
+	render_framebuffer_updated(context->cur_buffer, context->h40_lines > context->output_lines / 2 ? LINEBUF_SIZE : (256+HORIZ_BORDER));
+	context->fb = render_get_framebuffer(context->cur_buffer, &context->output_pitch);
+}
+
 static void advance_output_line(vdp_context *context)
 {
 	if (headless) {