From c9c38216328c1132515805e52393af5519315547 Mon Sep 17 00:00:00 2001 From: goyuken Date: Sun, 16 Dec 2012 01:34:02 +0000 Subject: [PATCH] 7800: add lag flag. breaks savestates. this marks our first change to EMU7800.Core --- .../Consoles/Atari/7800/Atari7800.cs | 3 +-- BizHawk.MultiClient/output/dll/EMU7800.dll | Bin 154624 -> 140288 bytes EMU7800/Core/InputState.cs | 19 ++++++++++++++++-- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/BizHawk.Emulation/Consoles/Atari/7800/Atari7800.cs b/BizHawk.Emulation/Consoles/Atari/7800/Atari7800.cs index 62ff4030a2..1ba07d247e 100644 --- a/BizHawk.Emulation/Consoles/Atari/7800/Atari7800.cs +++ b/BizHawk.Emulation/Consoles/Atari/7800/Atari7800.cs @@ -22,12 +22,11 @@ namespace BizHawk.Emulation public void FrameAdvance(bool render, bool rendersound) { _frame++; - _islag = true; ControlAdapter.Convert(Controller, theMachine.InputState); theMachine.ComputeNextFrame(avProvider.framebuffer); - _islag = false; // until we put in a working lagometer + _islag = theMachine.InputState.Lagged; if (_islag) { diff --git a/BizHawk.MultiClient/output/dll/EMU7800.dll b/BizHawk.MultiClient/output/dll/EMU7800.dll index d1dd8ee406f498beac34a136bc3456b6829d948f..4c4b5d1059df4d980dc85060ae34f39eb370d8fa 100644 GIT binary patch literal 140288 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 z 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