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) {