From 93422f4b1c5afa76fd9bfdfc687f6b9428745c7f Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Fri, 16 Apr 2021 22:40:51 -0400 Subject: [PATCH] Brings timings into line with WoS specs. --- Machines/Sinclair/ZXSpectrum/Video.hpp | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/Machines/Sinclair/ZXSpectrum/Video.hpp b/Machines/Sinclair/ZXSpectrum/Video.hpp index 0da1e59c2..57f1996e9 100644 --- a/Machines/Sinclair/ZXSpectrum/Video.hpp +++ b/Machines/Sinclair/ZXSpectrum/Video.hpp @@ -98,9 +98,9 @@ template class Video { .contention_duration = 129 * 2, // i.e. interrupt is first signalled 14368 cycles before the first video fetch. - .interrupt_time = (228*311 - 14368) * 2, + .interrupt_time = (228*311 - 14360) * 2, - .delays = { + .delays = { // Should start at 14365 2, 1, 0, 0, 14, 13, @@ -115,19 +115,17 @@ template class Video { return result; } - // TODO: fix 48kb and 128kb timings, below. - if constexpr (timing == VideoTiming::OneTwoEightK) { constexpr Timings result = { .cycles_per_line = 228 * 2, .lines_per_frame = 311, - .contention_leadin = 2 * 2, + .contention_leadin = 4 * 2, .contention_duration = 128 * 2, - .interrupt_time = (228*311 - 14366) * 2, + .interrupt_time = (228*311 - 14357) * 2, - .delays = { + .delays = { // Should start at 14361. 12, 11, 10, 9, 8, 7, @@ -147,12 +145,12 @@ template class Video { .cycles_per_line = 224 * 2, .lines_per_frame = 312, - .contention_leadin = 2 * 2, + .contention_leadin = 4 * 2, .contention_duration = 128 * 2, - .interrupt_time = (224*312 - 14339) * 2, + .interrupt_time = (224*312 - 14331) * 2, - .delays = { + .delays = { // Should start at 14335. 12, 11, 10, 9, 8, 7,