From c971fba7df0b2ba0739fefcd9eadb4f405eb44f0 Mon Sep 17 00:00:00 2001
From: "J.D. Purcell" <jdpurcell@gmail.com>
Date: Thu, 15 Dec 2016 22:10:38 -0500
Subject: [PATCH] Prevent divide by zero. Would sometimes result in fSkipFrames
 being PositiveInfinity, which gets propagated to fSkipFramesError, resulting
 in the "while (fSkipFramesError <= -1.0f..." loop freezing.

---
 BizHawk.Client.EmuHawk/Throttle.cs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/BizHawk.Client.EmuHawk/Throttle.cs b/BizHawk.Client.EmuHawk/Throttle.cs
index 8ae8117998..c528d02023 100644
--- a/BizHawk.Client.EmuHawk/Throttle.cs
+++ b/BizHawk.Client.EmuHawk/Throttle.cs
@@ -245,7 +245,7 @@ namespace BizHawk.Client.EmuHawk
 			endticks = GetCurTime();
 
 			// calculate time since last frame
-			ulong diffticks = endticks - beginticks;
+			ulong diffticks = Math.Max(endticks - beginticks, 1);
 			float diff = (float)diffticks / afsfreq;
 
 			// calculate time since last frame not including throttle sleep time