diff options
Diffstat (limited to 'src/mess/video/spectrum.c')
-rw-r--r-- | src/mess/video/spectrum.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/mess/video/spectrum.c b/src/mess/video/spectrum.c index 9eaed423e6f..c663aa5b865 100644 --- a/src/mess/video/spectrum.c +++ b/src/mess/video/spectrum.c @@ -71,7 +71,7 @@ void spectrum_state::screen_eof_spectrum(screen_device &screen, bool state) if (state) { spectrum_UpdateBorderBitmap(); - spectrum_UpdateScreenBitmap(); + spectrum_UpdateScreenBitmap(true); m_frame_number++; @@ -198,7 +198,7 @@ PALETTE_INIT_MEMBER(spectrum_state,spectrum) palette.set_pen_colors(0, spectrum_palette, ARRAY_LENGTH(spectrum_palette)); } -void spectrum_state::spectrum_UpdateScreenBitmap() +void spectrum_state::spectrum_UpdateScreenBitmap(bool eof) { unsigned int x = machine().first_screen()->hpos(); unsigned int y = machine().first_screen()->vpos(); @@ -206,6 +206,9 @@ void spectrum_state::spectrum_UpdateScreenBitmap() int height = m_screen_bitmap.height(); + if ((m_previous_screen_x == x) && (m_previous_screen_y == y) && !eof) + return; + if (m_screen_bitmap.valid()) { //printf("update screen from %d,%d to %d,%d\n", m_previous_screen_x, m_previous_screen_y, x, y); |