diff --git a/BizHawk.Emulation.Cores/Consoles/Atari/2600/M6532.cs b/BizHawk.Emulation.Cores/Consoles/Atari/2600/M6532.cs
index f7c854c0b4..92849ef9a9 100644
--- a/BizHawk.Emulation.Cores/Consoles/Atari/2600/M6532.cs
+++ b/BizHawk.Emulation.Cores/Consoles/Atari/2600/M6532.cs
@@ -74,13 +74,14 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
 
 				return Timer.Value;
 			}
-			
+			// TODO: fix this to match real behaviour
+            // This is an undocumented instruction whose behaviour is more dynamic then indicated here
 			if ((registerAddr & 0x5) == 0x5)
 			{
 				// Read interrupt flag
-				if (Timer.InterruptEnabled && Timer.InterruptFlag)
+				if (Timer.InterruptFlag) //Timer.InterruptEnabled && )
 				{
-					return 0x80;
+					return 0xC0;
 				}
 
 				return 0x00;
@@ -112,7 +113,7 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
 						// Write to Timer/1
 						Timer.PrescalerShift = 0;
 						Timer.Value = value;
-						Timer.PrescalerCount = 0;
+                        Timer.PrescalerCount = 0;// 1 << Timer.PrescalerShift;
 						Timer.InterruptFlag = false;
 					}
 					else if (registerAddr == 0x05)
@@ -120,7 +121,7 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
 						// Write to Timer/8
 						Timer.PrescalerShift = 3;
 						Timer.Value = value;
-						Timer.PrescalerCount = 0;
+                        Timer.PrescalerCount = 0;// 1 << Timer.PrescalerShift;
 						Timer.InterruptFlag = false;
 					}
 					else if (registerAddr == 0x06)
@@ -128,7 +129,7 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
 						// Write to Timer/64
 						Timer.PrescalerShift = 6;
 						Timer.Value = value;
-						Timer.PrescalerCount = 0;
+                        Timer.PrescalerCount = 0;// 1 << Timer.PrescalerShift;
 						Timer.InterruptFlag = false;
 					}
 					else if (registerAddr == 0x07)
@@ -136,7 +137,7 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
 						// Write to Timer/1024
 						Timer.PrescalerShift = 10;
 						Timer.Value = value;
-						Timer.PrescalerCount = 0;
+                        Timer.PrescalerCount = 0;// 1 << Timer.PrescalerShift;
 						Timer.InterruptFlag = false;
 					}
 				}