Jump to content

djrobx

Members
  • Posts

    1
  • Joined

  • Last visited

Everything posted by djrobx

  1. I know this is a very old topic, but this post shows up in a google search. I had exactly this same problem with FCE ultra on a new Vista installation after years of trouble free use. I worked on the source for a while to try and track down the problem and managed to solve it (at least for my machine ) The issue seems to be that FCEU doesn't "react" to a sound buffer underflow condition quickly enough. It waits until the sound buffer is completely empty before accelerating the framerate (uflow=1) to compensate for it. By then it's too late. So, I changed the check to look for a half-full buffer. Further, if you have your "Frameskip" value set to 0 (which seems logical, if you're using Vsync), the mechanism to "fill" the sound buffer becomes limited by vsync/double buffer and the buffer is unable to properly fill itself (uflow condition does nothing). Solution there is just to set frameskip to something greater than 0. I also made some additional changes to the update loop to make sure a frame refresh isn't called when recovering from underflow. Some people will never see this happen. If your sound card's clock is exactly right or slightly slow, your buffer will always remain full. It has no problem delaying for a frame to wait for the sound buffer to empty (that's how the sound throttling works). It's just the code to skip a frame when the sound is running a little faster than the framerate that didn't quite work right. I've uploaded my modified fceu here: http://www.tvrules.net/misc/fceu.zip Also note that in this version the game controllers are not stored by GUID but by controller number (that was the reason I figured out how to get the source compiled years ago). So you may need to reconfigure you game controllers to use with my version.
×
×
  • Create New...