add lag counter to LibsnesCore

per ilari, this should work correctly on certain games that poll the input in a particular way.  however, it is completely non-functional on many other games.  core digging is required for anything better.
This commit is contained in:
goyuken 2012-09-11 01:36:12 +00:00
parent 2fd67585b0
commit 578e247524
1 changed files with 7 additions and 0 deletions

View File

@ -278,6 +278,7 @@ namespace BizHawk.Emulation.Consoles.Nintendo.SNES
void snes_input_poll()
{
IsLagFrame = false;
}
void snes_video_refresh(int* data, int width, int height)
@ -312,10 +313,16 @@ namespace BizHawk.Emulation.Consoles.Nintendo.SNES
LibsnesDll.snes_set_layer_enable(4, 2, CoreInputComm.SNES_ShowOBJ_2);
LibsnesDll.snes_set_layer_enable(4, 3, CoreInputComm.SNES_ShowOBJ_3);
// if the input poll callback is called, it will set this to false
IsLagFrame = true;
//apparently this is one frame?
timeFrameCounter++;
LibsnesDll.snes_run();
if (IsLagFrame)
LagCount++;
//SNESGraphicsDecoder dec = new SNESGraphicsDecoder();
//64x64 @ 4k
//var bw = new BinaryWriter(File.OpenWrite("c:\\dump\\tiles.raw"));