aboutsummaryrefslogtreecommitdiff
path: root/source/nds/entry.cpp
diff options
context:
space:
mode:
authorNebuleon Fumika2012-12-25 16:00:34 -0500
committerNebuleon Fumika2012-12-26 11:29:47 -0500
commit9c1742f6cb2043d0ed6a61ab6de3bef0aad6dc56 (patch)
tree7f52adbb95afedc11cee0e724623be0a8351914c /source/nds/entry.cpp
parent7f0e1fee814df6c44ced04246f511b0f91787673 (diff)
downloadsnes9x2005-9c1742f6cb2043d0ed6a61ab6de3bef0aad6dc56.tar.gz
snes9x2005-9c1742f6cb2043d0ed6a61ab6de3bef0aad6dc56.tar.bz2
snes9x2005-9c1742f6cb2043d0ed6a61ab6de3bef0aad6dc56.zip
Universally use update method 2 for the lower screen and 0 for the upper screen. Method 1 causes problems after about 15 minutes; despite the double-buffering, screen updates start to tear in the middle consistently.
Diffstat (limited to 'source/nds/entry.cpp')
-rw-r--r--source/nds/entry.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/source/nds/entry.cpp b/source/nds/entry.cpp
index ea5f6ce..ce8d732 100644
--- a/source/nds/entry.cpp
+++ b/source/nds/entry.cpp
@@ -174,7 +174,10 @@ bool8 S9xDeinitUpdate (int Width, int Height, bool8 /*sixteen_bit*/)
break;
}
- ds2_flipScreen(UP_SCREEN, 1); // synchronise to vblank to avoid tearing
+ ds2_flipScreen(UP_SCREEN, 0);
+ // A problem with update method 1 (wait, double buffer) means that, after
+ // about 15 minutes of play time, the screen starts to half-redraw every
+ // frame. With update method 0, this is mitigated. (Method 2 is too slow.)
return (TRUE);
}
@@ -598,7 +601,6 @@ int sfc_main (int argc, char **argv)
if (Settings.Paused)
{
S9xSetSoundMute (TRUE);
- // mdelay(50); // Delete this delay
unsigned short screen[256*192];
copy_screen((void*)screen, up_screen_addr, 0, 0, 256, 192);