From 9ab0c54426553af38f277de836dcbeeeed217997 Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Fri, 12 Oct 2018 18:57:07 -0400 Subject: [PATCH] Eliminates faulty attempt to satisfy SMSVDP vertical counter test. --- Components/9918/9918.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Components/9918/9918.cpp b/Components/9918/9918.cpp index 567704a25..e083eb071 100644 --- a/Components/9918/9918.cpp +++ b/Components/9918/9918.cpp @@ -64,6 +64,7 @@ Base::Base(Personality p) : if(is_sega_vdp(personality_)) { mode_timing_.line_interrupt_position = 65; + mode_timing_.end_of_frame_interrupt_position.column = 63; mode_timing_.end_of_frame_interrupt_position.row = 193; } @@ -324,7 +325,7 @@ void TMS9918::run_for(const HalfCycles cycles) { // it is reloaded either when it overflows or upon every non-pixel line after the first. // It is otherwise decremented. if(is_sega_vdp(personality_)) { - if(row_ >= mode_timing_.total_lines-1 && row_ <= mode_timing_.pixel_lines) { + if(row_ >= 0 && row_ <= mode_timing_.pixel_lines) { --line_interrupt_counter; if(line_interrupt_counter == 0xff) { line_interrupt_pending_ = true;