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