From 5e220562e452f5ce6f055d64706ab49a1bd95f05 Mon Sep 17 00:00:00 2001
From: Thomas Harte <thomas.harte@gmail.com>
Date: Sat, 21 May 2016 21:44:54 -0400
Subject: [PATCH] Actually, the four-clock delay, with palette taking effect
 immediately, appears to be correct. So back to the drawing board on that.

---
 Machines/Atari2600/Atari2600.cpp | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/Machines/Atari2600/Atari2600.cpp b/Machines/Atari2600/Atari2600.cpp
index 7701e51a0..5767be297 100644
--- a/Machines/Atari2600/Atari2600.cpp
+++ b/Machines/Atari2600/Atari2600.cpp
@@ -79,12 +79,12 @@ Machine::~Machine()
 
 void Machine::update_timers(int mask)
 {
-	unsigned int upcomingEventsPointerPlus1 = (_upcomingEventsPointer + 1)%number_of_upcoming_events;
-	unsigned int upcomingEventsPointerPlus2 = (_upcomingEventsPointer + 2)%number_of_upcoming_events;
-	unsigned int upcomingEventsPointerPlus3 = (_upcomingEventsPointer + 3)%number_of_upcoming_events;
-	unsigned int upcomingEventsPointerPlus4 = (_upcomingEventsPointer + 4)%number_of_upcoming_events;
-	unsigned int upcomingEventsPointerPlus5 = (_upcomingEventsPointer + 5)%number_of_upcoming_events;
-	unsigned int upcomingEventsPointerPlus6 = (_upcomingEventsPointer + 6)%number_of_upcoming_events;
+//	unsigned int upcomingEventsPointerPlus1 = (_upcomingEventsPointer + 1)%number_of_upcoming_events;
+	unsigned int upcomingEventsPointerPlus2 = (_upcomingEventsPointer + 4)%number_of_upcoming_events;
+	unsigned int upcomingEventsPointerPlus3 = (_upcomingEventsPointer + 5)%number_of_upcoming_events;
+	unsigned int upcomingEventsPointerPlus4 = (_upcomingEventsPointer + 6)%number_of_upcoming_events;
+//	unsigned int upcomingEventsPointerPlus5 = (_upcomingEventsPointer + 5)%number_of_upcoming_events;
+//	unsigned int upcomingEventsPointerPlus6 = (_upcomingEventsPointer + 6)%number_of_upcoming_events;
 //	unsigned int upcomingEventsPointerPlus7 = (_upcomingEventsPointer + 7)%number_of_upcoming_events;
 //	unsigned int upcomingEventsPointerPlus8 = (_upcomingEventsPointer + 8)%number_of_upcoming_events;
 
@@ -227,12 +227,14 @@ uint8_t Machine::get_output_pixel()
 		_collisions[7] |= (1 << 6);
 
 	// apply appropriate priority to pick a colour
-	uint8_t playfieldPixel = _playfieldOutput | ballPixel;
+	uint8_t playfieldPixel = _playfieldOutput;// | ballPixel;
 	uint8_t outputColour = playfieldPixel ? playfieldColour : _backgroundColour;
 
 	if(!(_playfieldControl&0x04) || !playfieldPixel) {
-		if(playerPixels[1] || missilePixels[1]) outputColour = _playerColour[1];
-		if(playerPixels[0] || missilePixels[0]) outputColour = _playerColour[0];
+		if(missilePixels[1]) outputColour = _playerColour[1];
+		if(missilePixels[0]) outputColour = _playerColour[0];
+//		if(playerPixels[1] || missilePixels[1]) outputColour = _playerColour[1];
+//		if(playerPixels[0] || missilePixels[0]) outputColour = _playerColour[0];
 	}
 
 	// return colour