fix dualscreen 3d frameskip screen cloning/flickering regression from r3422

This commit is contained in:
zeromus 2010-03-25 03:10:11 +00:00
parent e068592d6b
commit c8210b838d
2 changed files with 10 additions and 10 deletions

View File

@ -1478,6 +1478,15 @@ static void execHardware_hstart()
nds.VCount++; nds.VCount++;
//end of 3d vblank
//this should be 214, but we are going to be generous for games with tight timing
//they shouldnt be changing any textures at 262 but they might accidentally still be at 214
//so..
if(CommonSettings.rigorous_timing && nds.VCount==214 || !CommonSettings.rigorous_timing && nds.VCount==262)
{
gfx3d_VBlankEndSignal(frameSkipper.ShouldSkip3D());
}
if(nds.VCount==263) if(nds.VCount==263)
{ {
nds.VCount=0; nds.VCount=0;
@ -1515,16 +1524,6 @@ static void execHardware_hstart()
//it may not be necessary. //it may not be necessary.
triggerDma(EDMAMode_MemDisplay); triggerDma(EDMAMode_MemDisplay);
} }
//end of 3d vblank
//this should be 214, but we are going to be generous for games with tight timing
//they shouldnt be changing any textures at 262 but they might accidentally still be at 214
//so..
if(CommonSettings.rigorous_timing && nds.VCount==214 || !CommonSettings.rigorous_timing && nds.VCount==262)
{
gfx3d_VBlankEndSignal(frameSkipper.ShouldSkip3D());
}
} }
void NDS_Reschedule() void NDS_Reschedule()

View File

@ -493,6 +493,7 @@ extern struct TCommonSettings {
, spuInterpolationMode(SPUInterpolation_Linear) , spuInterpolationMode(SPUInterpolation_Linear)
, manualBackupType(0) , manualBackupType(0)
, spu_advanced(false) , spu_advanced(false)
, rigorous_timing(false)
{ {
strcpy(ARM9BIOS, "biosnds9.bin"); strcpy(ARM9BIOS, "biosnds9.bin");
strcpy(ARM7BIOS, "biosnds7.bin"); strcpy(ARM7BIOS, "biosnds7.bin");