From c1c85dba569143cfdcf15e7b3ea1b3dc939bb317 Mon Sep 17 00:00:00 2001 From: pjgat09 Date: Tue, 30 Oct 2012 23:12:09 +0000 Subject: [PATCH] A2600: Implemented atari graphics toggles except for playfield --- BizHawk.Emulation/Consoles/Atari/2600/TIA.cs | 35 +++++++++++++++----- 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/BizHawk.Emulation/Consoles/Atari/2600/TIA.cs b/BizHawk.Emulation/Consoles/Atari/2600/TIA.cs index b864ade428..0f4ecdfbc8 100644 --- a/BizHawk.Emulation/Consoles/Atari/2600/TIA.cs +++ b/BizHawk.Emulation/Consoles/Atari/2600/TIA.cs @@ -698,9 +698,13 @@ namespace BizHawk.Emulation.Consoles.Atari // Pick the pixel color from collisions - uint pixelColor = palette[playField.bkColor]; + uint pixelColor = 0x000000; + if (core.CoreInputComm.Atari2600_ShowBG) + { + pixelColor = palette[playField.bkColor]; + } - if ((collisions & CXPF) != 0) + if ((collisions & CXPF) != 0) // && core.CoreInputComm.Atari2600_ShowPF) { if (playField.score) { @@ -722,34 +726,49 @@ namespace BizHawk.Emulation.Consoles.Atari if ((collisions & CXBL) != 0) { ball.collisions |= collisions; - pixelColor = palette[playField.pfColor]; + if (core.CoreInputComm.Atari2600_ShowBall) + { + pixelColor = palette[playField.pfColor]; + } } if ((collisions & CXM1) != 0) { player1.missile.collisions |= collisions; - pixelColor = palette[player1.color]; + if (core.CoreInputComm.Atari2600_ShowMissle2) + { + pixelColor = palette[player1.color]; + } } if ((collisions & CXP1) != 0) { player1.collisions |= collisions; - pixelColor = palette[player1.color]; + if (core.CoreInputComm.Atari2600_ShowPlayer2) + { + pixelColor = palette[player1.color]; + } } if ((collisions & CXM0) != 0) { player0.missile.collisions |= collisions; - pixelColor = palette[player0.color]; + if (core.CoreInputComm.Atari2600_ShowMissle1) + { + pixelColor = palette[player0.color]; + } } if ((collisions & CXP0) != 0) { player0.collisions |= collisions; - pixelColor = palette[player0.color]; + if (core.CoreInputComm.Atari2600_ShowPlayer1) + { + pixelColor = palette[player0.color]; + } } - if (playField.priority && (collisions & CXPF) != 0) + if (playField.priority && (collisions & CXPF) != 0) // && core.CoreInputComm.Atari2600_ShowPF) { if (playField.score) {