1.1 --- a/lib/vga_display.c Sun Nov 04 00:04:09 2018 +0100
1.2 +++ b/lib/vga_display.c Sun Nov 04 00:46:43 2018 +0100
1.3 @@ -251,11 +251,21 @@
1.4
1.5 void vga_set_frame(display_config_t *display_config)
1.6 {
1.7 + vga_wait_visible();
1.8 +
1.9 vga_display.screen_start = display_config->screen_start;
1.10 vga_display.screen_limit = display_config->screen_limit;
1.11 vga_display.screen_size = display_config->screen_size;
1.12 }
1.13
1.14 +/* Wait for the visible region to be completed. */
1.15 +
1.16 +void vga_wait_visible(void)
1.17 +{
1.18 + while (((volatile void (*)()) vga_display.state_handler) == visible_active)
1.19 + __asm__ __volatile__("wait");
1.20 +}
1.21 +
1.22
1.23
1.24 /* Display state machine interrupt handler. */