diff --git a/BizHawk.Client.Common/config/Config.cs b/BizHawk.Client.Common/config/Config.cs
index ca3209002b..20faf7e8b0 100644
--- a/BizHawk.Client.Common/config/Config.cs
+++ b/BizHawk.Client.Common/config/Config.cs
@@ -216,10 +216,12 @@ namespace BizHawk.Client.Common
 		public bool DisplayInput = false;
 		public bool DisplayRerecordCount = false;
 
-        public bool DispBlurry = false; // make display look ugly
-        public bool DispFixAspectRatio = true;
-        public bool DispFixScaleInteger = true;
-        public bool DispFullscreenHacks = true;
+		public bool DispBlurry = false; // make display look ugly
+		public bool DispFixAspectRatio = true;
+		public bool DispFixScaleInteger = true;
+		public bool DispFullscreenHacks = true;
+		public int DispSpeedupFeatures = 2;
+
 
 		public int DispFPSx = DefaultMessageOptions.DispFPSx;
 		public int DispFPSy = DefaultMessageOptions.DispFPSy;
diff --git a/BizHawk.Client.EmuHawk/DisplayManager/DisplayManager.cs b/BizHawk.Client.EmuHawk/DisplayManager/DisplayManager.cs
index 2205f423d2..97953fb7f4 100644
--- a/BizHawk.Client.EmuHawk/DisplayManager/DisplayManager.cs
+++ b/BizHawk.Client.EmuHawk/DisplayManager/DisplayManager.cs
@@ -333,12 +333,14 @@ namespace BizHawk.Client.EmuHawk
 		/// </summary>
 		public void UpdateSource(IVideoProvider videoProvider)
 		{
+			bool displayNothing = Global.Config.DispSpeedupFeatures == 0;
 			var job = new JobInfo
 			{
 				videoProvider = videoProvider,
-				simulate = false,
+				simulate = displayNothing,
 				chain_outsize = GraphicsControl.Size,
-				includeOSD = true
+				includeOSD = true,
+				
 			};
 			UpdateSourceInternal(job);
 		}
@@ -522,6 +524,8 @@ namespace BizHawk.Client.EmuHawk
 			IVideoProvider videoProvider = job.videoProvider;
 			bool simulate = job.simulate;
 			Size chain_outsize = job.chain_outsize;
+
+			//simulate = true;
 			
 			int vw = videoProvider.BufferWidth;
 			int vh = videoProvider.BufferHeight;
diff --git a/BizHawk.Client.EmuHawk/MainForm.cs b/BizHawk.Client.EmuHawk/MainForm.cs
index 5753d159ef..48f01cf917 100644
--- a/BizHawk.Client.EmuHawk/MainForm.cs
+++ b/BizHawk.Client.EmuHawk/MainForm.cs
@@ -1324,6 +1324,12 @@ namespace BizHawk.Client.EmuHawk
 				str = str + string.Format("({0}x{1}) - ", size.Width, size.Height);
 			}
 
+			//we need to display FPS somewhere, in this case
+			if (Global.Config.DispSpeedupFeatures == 0)
+			{
+				str = str + string.Format("({0} fps) -", _runloopLastFps);
+			}
+
 			if (Global.Emulator.IsNull())
 			{
 				str = str + "BizHawk" + (VersionInfo.DeveloperBuild ? " (interim) " : string.Empty);
@@ -2874,6 +2880,10 @@ namespace BizHawk.Client.EmuHawk
 					}
 
 					GlobalWin.OSD.FPS = fps_string;
+
+					//need to refresh window caption in this case
+					if (Global.Config.DispSpeedupFeatures == 0)
+						SetWindowText();
 				}
 
 				CaptureRewind(suppressCaptureRewind);
diff --git a/BizHawk.Client.EmuHawk/config/DisplayConfigLite.Designer.cs b/BizHawk.Client.EmuHawk/config/DisplayConfigLite.Designer.cs
index 43bd565742..40e2cb118f 100644
--- a/BizHawk.Client.EmuHawk/config/DisplayConfigLite.Designer.cs
+++ b/BizHawk.Client.EmuHawk/config/DisplayConfigLite.Designer.cs
@@ -36,7 +36,6 @@
 			this.lblUserFilterName = new System.Windows.Forms.Label();
 			this.btnSelectUserFilter = new System.Windows.Forms.Button();
 			this.rbUser = new System.Windows.Forms.RadioButton();
-			this.tbScanlineIntensity = new BizHawk.Client.EmuHawk.TransparentTrackBar();
 			this.rbNone = new System.Windows.Forms.RadioButton();
 			this.rbScanlines = new System.Windows.Forms.RadioButton();
 			this.rbHq2x = new System.Windows.Forms.RadioButton();
@@ -71,8 +70,13 @@
 			this.label7 = new System.Windows.Forms.Label();
 			this.rbGDIPlus = new System.Windows.Forms.RadioButton();
 			this.tpMisc = new System.Windows.Forms.TabPage();
+			this.groupBox5 = new System.Windows.Forms.GroupBox();
+			this.rbDisplayAbsoluteZero = new System.Windows.Forms.RadioButton();
+			this.rbDisplayMinimal = new System.Windows.Forms.RadioButton();
+			this.rbDisplayFull = new System.Windows.Forms.RadioButton();
 			this.tabPage1 = new System.Windows.Forms.TabPage();
 			this.groupBox4 = new System.Windows.Forms.GroupBox();
+			this.cbFSAutohideMouse = new System.Windows.Forms.CheckBox();
 			this.label1 = new System.Windows.Forms.Label();
 			this.cbFullscreenHacks = new System.Windows.Forms.CheckBox();
 			this.cbStatusBarFullscreen = new System.Windows.Forms.CheckBox();
@@ -82,11 +86,10 @@
 			this.cbStatusBarWindowed = new System.Windows.Forms.CheckBox();
 			this.label9 = new System.Windows.Forms.Label();
 			this.cbMenuWindowed = new System.Windows.Forms.CheckBox();
-			this.trackbarFrameSizeWindowed = new BizHawk.Client.EmuHawk.TransparentTrackBar();
 			this.cbCaptionWindowed = new System.Windows.Forms.CheckBox();
-			this.cbFSAutohideMouse = new System.Windows.Forms.CheckBox();
+			this.tbScanlineIntensity = new BizHawk.Client.EmuHawk.TransparentTrackBar();
+			this.trackbarFrameSizeWindowed = new BizHawk.Client.EmuHawk.TransparentTrackBar();
 			this.groupBox1.SuspendLayout();
-			((System.ComponentModel.ISupportInitialize)(this.tbScanlineIntensity)).BeginInit();
 			this.grpFinalFilter.SuspendLayout();
 			this.grpARSelection.SuspendLayout();
 			this.tabControl1.SuspendLayout();
@@ -95,9 +98,11 @@
 			this.tpDispMethod.SuspendLayout();
 			this.groupBox3.SuspendLayout();
 			this.tpMisc.SuspendLayout();
+			this.groupBox5.SuspendLayout();
 			this.tabPage1.SuspendLayout();
 			this.groupBox4.SuspendLayout();
 			this.groupBox2.SuspendLayout();
+			((System.ComponentModel.ISupportInitialize)(this.tbScanlineIntensity)).BeginInit();
 			((System.ComponentModel.ISupportInitialize)(this.trackbarFrameSizeWindowed)).BeginInit();
 			this.SuspendLayout();
 			// 
@@ -179,19 +184,6 @@
 			this.rbUser.Text = "User";
 			this.rbUser.UseVisualStyleBackColor = true;
 			// 
-			// tbScanlineIntensity
-			// 
-			this.tbScanlineIntensity.LargeChange = 32;
-			this.tbScanlineIntensity.Location = new System.Drawing.Point(83, 55);
-			this.tbScanlineIntensity.Maximum = 256;
-			this.tbScanlineIntensity.Name = "tbScanlineIntensity";
-			this.tbScanlineIntensity.Size = new System.Drawing.Size(70, 42);
-			this.tbScanlineIntensity.TabIndex = 3;
-			this.tbScanlineIntensity.TickFrequency = 32;
-			this.tbScanlineIntensity.TickStyle = System.Windows.Forms.TickStyle.TopLeft;
-			this.tbScanlineIntensity.Scroll += new System.EventHandler(this.tbScanlineIntensity_Scroll);
-			this.tbScanlineIntensity.ValueChanged += new System.EventHandler(this.tbScanlineIntensity_Scroll);
-			// 
 			// rbNone
 			// 
 			this.rbNone.AutoSize = true;
@@ -377,17 +369,17 @@
 			// 
 			// label2
 			// 
-			this.label2.Location = new System.Drawing.Point(4, 28);
+			this.label2.Location = new System.Drawing.Point(3, 125);
 			this.label2.Name = "label2";
-			this.label2.Size = new System.Drawing.Size(398, 45);
+			this.label2.Size = new System.Drawing.Size(398, 27);
 			this.label2.TabIndex = 17;
 			this.label2.Text = "Some people think the whitenoise is a great idea, and some people don\'t. Enabling" +
-    " this displays an Oxoo instead.";
+    " this displays black instead.";
 			// 
 			// checkSnowyNullEmulator
 			// 
 			this.checkSnowyNullEmulator.AutoSize = true;
-			this.checkSnowyNullEmulator.Location = new System.Drawing.Point(3, 3);
+			this.checkSnowyNullEmulator.Location = new System.Drawing.Point(3, 105);
 			this.checkSnowyNullEmulator.Name = "checkSnowyNullEmulator";
 			this.checkSnowyNullEmulator.Size = new System.Drawing.Size(159, 17);
 			this.checkSnowyNullEmulator.TabIndex = 16;
@@ -565,6 +557,7 @@
 			// 
 			// tpMisc
 			// 
+			this.tpMisc.Controls.Add(this.groupBox5);
 			this.tpMisc.Controls.Add(this.label2);
 			this.tpMisc.Controls.Add(this.checkSnowyNullEmulator);
 			this.tpMisc.Location = new System.Drawing.Point(4, 22);
@@ -574,6 +567,52 @@
 			this.tpMisc.Text = "Misc";
 			this.tpMisc.UseVisualStyleBackColor = true;
 			// 
+			// groupBox5
+			// 
+			this.groupBox5.Controls.Add(this.rbDisplayAbsoluteZero);
+			this.groupBox5.Controls.Add(this.rbDisplayMinimal);
+			this.groupBox5.Controls.Add(this.rbDisplayFull);
+			this.groupBox5.Location = new System.Drawing.Point(3, 3);
+			this.groupBox5.Name = "groupBox5";
+			this.groupBox5.Size = new System.Drawing.Size(371, 96);
+			this.groupBox5.TabIndex = 20;
+			this.groupBox5.TabStop = false;
+			this.groupBox5.Text = "Display Features (for speeding up replays)";
+			// 
+			// rbDisplayAbsoluteZero
+			// 
+			this.rbDisplayAbsoluteZero.AutoSize = true;
+			this.rbDisplayAbsoluteZero.Location = new System.Drawing.Point(7, 66);
+			this.rbDisplayAbsoluteZero.Name = "rbDisplayAbsoluteZero";
+			this.rbDisplayAbsoluteZero.Size = new System.Drawing.Size(174, 17);
+			this.rbDisplayAbsoluteZero.TabIndex = 2;
+			this.rbDisplayAbsoluteZero.TabStop = true;
+			this.rbDisplayAbsoluteZero.Text = "Absolute Zero - Display Nothing";
+			this.rbDisplayAbsoluteZero.UseVisualStyleBackColor = true;
+			// 
+			// rbDisplayMinimal
+			// 
+			this.rbDisplayMinimal.AutoSize = true;
+			this.rbDisplayMinimal.Enabled = false;
+			this.rbDisplayMinimal.Location = new System.Drawing.Point(7, 43);
+			this.rbDisplayMinimal.Name = "rbDisplayMinimal";
+			this.rbDisplayMinimal.Size = new System.Drawing.Size(185, 17);
+			this.rbDisplayMinimal.TabIndex = 1;
+			this.rbDisplayMinimal.TabStop = true;
+			this.rbDisplayMinimal.Text = "Minimal - Display HUD Only (TBD)";
+			this.rbDisplayMinimal.UseVisualStyleBackColor = true;
+			// 
+			// rbDisplayFull
+			// 
+			this.rbDisplayFull.AutoSize = true;
+			this.rbDisplayFull.Location = new System.Drawing.Point(7, 20);
+			this.rbDisplayFull.Name = "rbDisplayFull";
+			this.rbDisplayFull.Size = new System.Drawing.Size(137, 17);
+			this.rbDisplayFull.TabIndex = 0;
+			this.rbDisplayFull.TabStop = true;
+			this.rbDisplayFull.Text = "Full - Display Everything";
+			this.rbDisplayFull.UseVisualStyleBackColor = true;
+			// 
 			// tabPage1
 			// 
 			this.tabPage1.Controls.Add(this.groupBox4);
@@ -600,6 +639,16 @@
 			this.groupBox4.TabStop = false;
 			this.groupBox4.Text = "Fullscreen";
 			// 
+			// cbFSAutohideMouse
+			// 
+			this.cbFSAutohideMouse.AutoSize = true;
+			this.cbFSAutohideMouse.Location = new System.Drawing.Point(87, 19);
+			this.cbFSAutohideMouse.Name = "cbFSAutohideMouse";
+			this.cbFSAutohideMouse.Size = new System.Drawing.Size(139, 17);
+			this.cbFSAutohideMouse.TabIndex = 28;
+			this.cbFSAutohideMouse.Text = "Auto-hide Mouse Cursor";
+			this.cbFSAutohideMouse.UseVisualStyleBackColor = true;
+			// 
 			// label1
 			// 
 			this.label1.Location = new System.Drawing.Point(7, 88);
@@ -691,17 +740,6 @@
 			this.cbMenuWindowed.Text = "Menu";
 			this.cbMenuWindowed.UseVisualStyleBackColor = true;
 			// 
-			// trackbarFrameSizeWindowed
-			// 
-			this.trackbarFrameSizeWindowed.LargeChange = 1;
-			this.trackbarFrameSizeWindowed.Location = new System.Drawing.Point(6, 33);
-			this.trackbarFrameSizeWindowed.Maximum = 2;
-			this.trackbarFrameSizeWindowed.Name = "trackbarFrameSizeWindowed";
-			this.trackbarFrameSizeWindowed.Size = new System.Drawing.Size(99, 42);
-			this.trackbarFrameSizeWindowed.TabIndex = 21;
-			this.trackbarFrameSizeWindowed.Value = 1;
-			this.trackbarFrameSizeWindowed.ValueChanged += new System.EventHandler(this.trackbarFrameSizeWindowed_ValueChanged);
-			// 
 			// cbCaptionWindowed
 			// 
 			this.cbCaptionWindowed.AutoSize = true;
@@ -712,15 +750,29 @@
 			this.cbCaptionWindowed.Text = "Caption";
 			this.cbCaptionWindowed.UseVisualStyleBackColor = true;
 			// 
-			// cbFSAutohideMouse
+			// tbScanlineIntensity
 			// 
-			this.cbFSAutohideMouse.AutoSize = true;
-			this.cbFSAutohideMouse.Location = new System.Drawing.Point(87, 19);
-			this.cbFSAutohideMouse.Name = "cbFSAutohideMouse";
-			this.cbFSAutohideMouse.Size = new System.Drawing.Size(139, 17);
-			this.cbFSAutohideMouse.TabIndex = 28;
-			this.cbFSAutohideMouse.Text = "Auto-hide Mouse Cursor";
-			this.cbFSAutohideMouse.UseVisualStyleBackColor = true;
+			this.tbScanlineIntensity.LargeChange = 32;
+			this.tbScanlineIntensity.Location = new System.Drawing.Point(83, 55);
+			this.tbScanlineIntensity.Maximum = 256;
+			this.tbScanlineIntensity.Name = "tbScanlineIntensity";
+			this.tbScanlineIntensity.Size = new System.Drawing.Size(70, 42);
+			this.tbScanlineIntensity.TabIndex = 3;
+			this.tbScanlineIntensity.TickFrequency = 32;
+			this.tbScanlineIntensity.TickStyle = System.Windows.Forms.TickStyle.TopLeft;
+			this.tbScanlineIntensity.Scroll += new System.EventHandler(this.tbScanlineIntensity_Scroll);
+			this.tbScanlineIntensity.ValueChanged += new System.EventHandler(this.tbScanlineIntensity_Scroll);
+			// 
+			// trackbarFrameSizeWindowed
+			// 
+			this.trackbarFrameSizeWindowed.LargeChange = 1;
+			this.trackbarFrameSizeWindowed.Location = new System.Drawing.Point(6, 33);
+			this.trackbarFrameSizeWindowed.Maximum = 2;
+			this.trackbarFrameSizeWindowed.Name = "trackbarFrameSizeWindowed";
+			this.trackbarFrameSizeWindowed.Size = new System.Drawing.Size(99, 42);
+			this.trackbarFrameSizeWindowed.TabIndex = 21;
+			this.trackbarFrameSizeWindowed.Value = 1;
+			this.trackbarFrameSizeWindowed.ValueChanged += new System.EventHandler(this.trackbarFrameSizeWindowed_ValueChanged);
 			// 
 			// DisplayConfigLite
 			// 
@@ -738,7 +790,6 @@
 			this.Text = "Display Configuration";
 			this.groupBox1.ResumeLayout(false);
 			this.groupBox1.PerformLayout();
-			((System.ComponentModel.ISupportInitialize)(this.tbScanlineIntensity)).EndInit();
 			this.grpFinalFilter.ResumeLayout(false);
 			this.grpFinalFilter.PerformLayout();
 			this.grpARSelection.ResumeLayout(false);
@@ -752,11 +803,14 @@
 			this.groupBox3.PerformLayout();
 			this.tpMisc.ResumeLayout(false);
 			this.tpMisc.PerformLayout();
+			this.groupBox5.ResumeLayout(false);
+			this.groupBox5.PerformLayout();
 			this.tabPage1.ResumeLayout(false);
 			this.groupBox4.ResumeLayout(false);
 			this.groupBox4.PerformLayout();
 			this.groupBox2.ResumeLayout(false);
 			this.groupBox2.PerformLayout();
+			((System.ComponentModel.ISupportInitialize)(this.tbScanlineIntensity)).EndInit();
 			((System.ComponentModel.ISupportInitialize)(this.trackbarFrameSizeWindowed)).EndInit();
 			this.ResumeLayout(false);
 
@@ -820,5 +874,9 @@
 		private System.Windows.Forms.Label label10;
 		private System.Windows.Forms.NumericUpDown nudPrescale;
 		private System.Windows.Forms.CheckBox cbFSAutohideMouse;
+		private System.Windows.Forms.GroupBox groupBox5;
+		private System.Windows.Forms.RadioButton rbDisplayAbsoluteZero;
+		private System.Windows.Forms.RadioButton rbDisplayMinimal;
+		private System.Windows.Forms.RadioButton rbDisplayFull;
 	}
 }
\ No newline at end of file
diff --git a/BizHawk.Client.EmuHawk/config/DisplayConfigLite.cs b/BizHawk.Client.EmuHawk/config/DisplayConfigLite.cs
index 6b2b6ae63f..261b5bce4a 100644
--- a/BizHawk.Client.EmuHawk/config/DisplayConfigLite.cs
+++ b/BizHawk.Client.EmuHawk/config/DisplayConfigLite.cs
@@ -36,6 +36,10 @@ namespace BizHawk.Client.EmuHawk.config
 			checkPadInteger.Checked = Global.Config.DispFixScaleInteger;
 			cbFullscreenHacks.Checked = Global.Config.DispFullscreenHacks;
 
+			if (Global.Config.DispSpeedupFeatures == 2) rbDisplayFull.Checked = true;
+			if (Global.Config.DispSpeedupFeatures == 1) rbDisplayMinimal.Checked = true;
+			if (Global.Config.DispSpeedupFeatures == 0) rbDisplayAbsoluteZero.Checked = true;
+
 			rbOpenGL.Checked = Global.Config.DispMethod == Config.EDispMethod.OpenGL;
 			rbGDIPlus.Checked = Global.Config.DispMethod == Config.EDispMethod.GdiPlus;
 			rbD3D9.Checked = Global.Config.DispMethod == Config.EDispMethod.SlimDX9;
@@ -107,6 +111,10 @@ namespace BizHawk.Client.EmuHawk.config
 			Global.Config.DispChrome_FrameWindowed = trackbarFrameSizeWindowed.Value;
 			Global.Config.DispChrome_Fullscreen_AutohideMouse = cbFSAutohideMouse.Checked;
 
+			if (rbDisplayFull.Checked) Global.Config.DispSpeedupFeatures = 2;
+			if (rbDisplayMinimal.Checked) Global.Config.DispSpeedupFeatures = 1;
+			if (rbDisplayAbsoluteZero.Checked) Global.Config.DispSpeedupFeatures = 0;
+
 			// HACK:: null emulator's settings don't persist to config normally
 			{
 				NullEmulator.NullEmulatorSettings s;