Cores: All cores must update Frame counter post-emulation. NOTE: This is a sync breaking change for MGBA movies using RTC, as the time sent to the core was the pre-incremented time.
This commit is contained in:
parent
7c661b5520
commit
4165b2893d
|
@ -38,6 +38,7 @@ namespace BizHawk.Emulation.Common
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets the current frame count
|
/// Gets the current frame count
|
||||||
|
/// Frame must be incremented after emulation in the core
|
||||||
/// </summary>
|
/// </summary>
|
||||||
int Frame { get; }
|
int Frame { get; }
|
||||||
|
|
||||||
|
|
|
@ -30,8 +30,6 @@ namespace BizHawk.Emulation.Cores.Computers.MSX
|
||||||
if (_controller.IsPressed("P2 B2")) ctrl2_byte -= 0x20;
|
if (_controller.IsPressed("P2 B2")) ctrl2_byte -= 0x20;
|
||||||
|
|
||||||
if (current_controller == MSXControllerKB) { kb_rows_check(controller); }
|
if (current_controller == MSXControllerKB) { kb_rows_check(controller); }
|
||||||
|
|
||||||
_frame++;
|
|
||||||
|
|
||||||
if (Tracer.Enabled)
|
if (Tracer.Enabled)
|
||||||
{
|
{
|
||||||
|
@ -45,7 +43,9 @@ namespace BizHawk.Emulation.Cores.Computers.MSX
|
||||||
LibMSX.MSX_settracecallback(MSX_Pntr, tracecb);
|
LibMSX.MSX_settracecallback(MSX_Pntr, tracecb);
|
||||||
|
|
||||||
LibMSX.MSX_frame_advance(MSX_Pntr, ctrl1_byte, ctrl2_byte, kb_rows, true, true);
|
LibMSX.MSX_frame_advance(MSX_Pntr, ctrl1_byte, ctrl2_byte, kb_rows, true, true);
|
||||||
|
|
||||||
|
_frame++;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,6 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
||||||
{
|
{
|
||||||
_controller = controller;
|
_controller = controller;
|
||||||
|
|
||||||
_frame++;
|
|
||||||
_islag = true;
|
_islag = true;
|
||||||
|
|
||||||
// Handle all the console controls here
|
// Handle all the console controls here
|
||||||
|
@ -76,6 +75,8 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
||||||
|
|
||||||
_tia.LineCount = 0;
|
_tia.LineCount = 0;
|
||||||
|
|
||||||
|
_frame++;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -68,8 +68,6 @@ namespace BizHawk.Emulation.Cores.Atari.A7800Hawk
|
||||||
cpu.TraceCallback = null;
|
cpu.TraceCallback = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
_frame++;
|
|
||||||
|
|
||||||
if (controller.IsPressed("Power"))
|
if (controller.IsPressed("Power"))
|
||||||
{
|
{
|
||||||
// it seems that theMachine.Reset() doesn't clear ram, etc
|
// it seems that theMachine.Reset() doesn't clear ram, etc
|
||||||
|
@ -89,6 +87,8 @@ namespace BizHawk.Emulation.Cores.Atari.A7800Hawk
|
||||||
_lagCount++;
|
_lagCount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_frame++;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -121,7 +121,6 @@ namespace BizHawk.Emulation.Cores.Atari.Lynx
|
||||||
|
|
||||||
public bool FrameAdvance(IController controller, bool render, bool rendersound = true)
|
public bool FrameAdvance(IController controller, bool render, bool rendersound = true)
|
||||||
{
|
{
|
||||||
Frame++;
|
|
||||||
if (controller.IsPressed("Power"))
|
if (controller.IsPressed("Power"))
|
||||||
{
|
{
|
||||||
LibLynx.Reset(Core);
|
LibLynx.Reset(Core);
|
||||||
|
@ -135,6 +134,8 @@ namespace BizHawk.Emulation.Cores.Atari.Lynx
|
||||||
LagCount++;
|
LagCount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Frame++;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -25,8 +25,6 @@ namespace BizHawk.Emulation.Cores.ColecoVision
|
||||||
SoftReset();
|
SoftReset();
|
||||||
}
|
}
|
||||||
|
|
||||||
_frame++;
|
|
||||||
|
|
||||||
_isLag = true;
|
_isLag = true;
|
||||||
if (_tracer.Enabled)
|
if (_tracer.Enabled)
|
||||||
{
|
{
|
||||||
|
@ -164,6 +162,8 @@ namespace BizHawk.Emulation.Cores.ColecoVision
|
||||||
_lagCount++;
|
_lagCount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_frame++;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -21,8 +21,6 @@ namespace BizHawk.Emulation.Cores.Consoles.Vectrex
|
||||||
cpu.TraceCallback = null;
|
cpu.TraceCallback = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
_frame++;
|
|
||||||
|
|
||||||
if (controller.IsPressed("Power"))
|
if (controller.IsPressed("Power"))
|
||||||
{
|
{
|
||||||
HardReset();
|
HardReset();
|
||||||
|
@ -74,6 +72,8 @@ namespace BizHawk.Emulation.Cores.Consoles.Vectrex
|
||||||
_lagcount++;
|
_lagcount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_frame++;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,6 @@ namespace BizHawk.Emulation.Cores.Intellivision
|
||||||
_cpu.TraceCallback = null;
|
_cpu.TraceCallback = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
_frame++;
|
|
||||||
_sticRow = -1;
|
_sticRow = -1;
|
||||||
|
|
||||||
// read the controller state here for now
|
// read the controller state here for now
|
||||||
|
@ -125,6 +124,8 @@ namespace BizHawk.Emulation.Cores.Intellivision
|
||||||
SoftReset();
|
SoftReset();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_frame++;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -27,8 +27,6 @@ namespace BizHawk.Emulation.Cores.Consoles.O2Hawk
|
||||||
cpu.TraceCallback = null;
|
cpu.TraceCallback = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
_frame++;
|
|
||||||
|
|
||||||
if (controller.IsPressed("Power"))
|
if (controller.IsPressed("Power"))
|
||||||
{
|
{
|
||||||
HardReset();
|
HardReset();
|
||||||
|
@ -48,6 +46,8 @@ namespace BizHawk.Emulation.Cores.Consoles.O2Hawk
|
||||||
_lagcount++;
|
_lagcount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_frame++;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -116,7 +116,6 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBA
|
||||||
|
|
||||||
public bool FrameAdvance(IController controller, bool render, bool renderSound = true)
|
public bool FrameAdvance(IController controller, bool render, bool renderSound = true)
|
||||||
{
|
{
|
||||||
Frame++;
|
|
||||||
if (controller.IsPressed("Power"))
|
if (controller.IsPressed("Power"))
|
||||||
{
|
{
|
||||||
LibmGBA.BizReset(Core);
|
LibmGBA.BizReset(Core);
|
||||||
|
@ -147,6 +146,8 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBA
|
||||||
// this should be called in hblank on the appropriate line, but until we implement that, just do it here
|
// this should be called in hblank on the appropriate line, but until we implement that, just do it here
|
||||||
_scanlinecb?.Invoke();
|
_scanlinecb?.Invoke();
|
||||||
|
|
||||||
|
Frame++;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -54,8 +54,6 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawk
|
||||||
cpu.TraceCallback = null;
|
cpu.TraceCallback = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
_frame++;
|
|
||||||
|
|
||||||
if (controller.IsPressed("P1 Power"))
|
if (controller.IsPressed("P1 Power"))
|
||||||
{
|
{
|
||||||
HardReset();
|
HardReset();
|
||||||
|
@ -90,6 +88,8 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawk
|
||||||
_lagcount++;
|
_lagcount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_frame++;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -53,8 +53,6 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawkLink
|
||||||
L.cpu.TraceCallback = null;
|
L.cpu.TraceCallback = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
_frame++;
|
|
||||||
|
|
||||||
if (controller.IsPressed("P1 Power"))
|
if (controller.IsPressed("P1 Power"))
|
||||||
{
|
{
|
||||||
L.HardReset();
|
L.HardReset();
|
||||||
|
@ -91,6 +89,8 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawkLink
|
||||||
_lagcount++;
|
_lagcount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_frame++;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -68,8 +68,6 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawkLink3x
|
||||||
L.cpu.TraceCallback = null;
|
L.cpu.TraceCallback = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
_frame++;
|
|
||||||
|
|
||||||
if (controller.IsPressed("P1 Power"))
|
if (controller.IsPressed("P1 Power"))
|
||||||
{
|
{
|
||||||
L.HardReset();
|
L.HardReset();
|
||||||
|
@ -130,6 +128,8 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawkLink3x
|
||||||
_lagcount++;
|
_lagcount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_frame++;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -83,8 +83,6 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawkLink4x
|
||||||
A.cpu.TraceCallback = null;
|
A.cpu.TraceCallback = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
_frame++;
|
|
||||||
|
|
||||||
if (controller.IsPressed("P1 Power"))
|
if (controller.IsPressed("P1 Power"))
|
||||||
{
|
{
|
||||||
A.HardReset();
|
A.HardReset();
|
||||||
|
@ -166,6 +164,8 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawkLink4x
|
||||||
_lagcount++;
|
_lagcount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_frame++;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -276,8 +276,6 @@ namespace BizHawk.Emulation.Cores.Nintendo.Gameboy
|
||||||
|
|
||||||
internal void FrameAdvancePrep(IController controller)
|
internal void FrameAdvancePrep(IController controller)
|
||||||
{
|
{
|
||||||
Frame++;
|
|
||||||
|
|
||||||
// update our local copy of the controller data
|
// update our local copy of the controller data
|
||||||
CurrentButtons = 0;
|
CurrentButtons = 0;
|
||||||
|
|
||||||
|
@ -327,6 +325,8 @@ namespace BizHawk.Emulation.Cores.Nintendo.Gameboy
|
||||||
LagCount++;
|
LagCount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Frame++;
|
||||||
|
|
||||||
endofframecallback?.Invoke(LibGambatte.gambatte_cpuread(GambatteState, 0xff40));
|
endofframecallback?.Invoke(LibGambatte.gambatte_cpuread(GambatteState, 0xff40));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -38,7 +38,6 @@ namespace BizHawk.Emulation.Cores.Nintendo.Gameboy
|
||||||
|
|
||||||
_cablediscosignal = cablediscosignalNew;
|
_cablediscosignal = cablediscosignalNew;
|
||||||
|
|
||||||
Frame++;
|
|
||||||
L.FrameAdvancePrep(LCont);
|
L.FrameAdvancePrep(LCont);
|
||||||
R.FrameAdvancePrep(RCont);
|
R.FrameAdvancePrep(RCont);
|
||||||
|
|
||||||
|
@ -148,6 +147,8 @@ namespace BizHawk.Emulation.Cores.Nintendo.Gameboy
|
||||||
LagCount++;
|
LagCount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Frame++;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -304,8 +304,6 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
||||||
HardReset();
|
HardReset();
|
||||||
}
|
}
|
||||||
|
|
||||||
Frame++;
|
|
||||||
|
|
||||||
//if (resetSignal)
|
//if (resetSignal)
|
||||||
//Controller.UnpressButton("Reset"); TODO fix this
|
//Controller.UnpressButton("Reset"); TODO fix this
|
||||||
resetSignal = controller.IsPressed("Reset");
|
resetSignal = controller.IsPressed("Reset");
|
||||||
|
@ -381,6 +379,8 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
||||||
// any cheats still active will be re-applied by the buspoke at the start of the next frame
|
// any cheats still active will be re-applied by the buspoke at the start of the next frame
|
||||||
num_cheats = 0;
|
num_cheats = 0;
|
||||||
|
|
||||||
|
Frame++;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -363,7 +363,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
||||||
//quite strange that is makes the sprite hit flag go high like this
|
//quite strange that is makes the sprite hit flag go high like this
|
||||||
if (nes._isVS2c05==2)
|
if (nes._isVS2c05==2)
|
||||||
{
|
{
|
||||||
if (nes.Frame<4)
|
if (nes.Frame<3)
|
||||||
{
|
{
|
||||||
|
|
||||||
return (byte)((Reg2002_vblank_active << 7) | (Reg2002_objhit << 6) | (1 << 5) | (0x1D));
|
return (byte)((Reg2002_vblank_active << 7) | (Reg2002_objhit << 6) | (1 << 5) | (0x1D));
|
||||||
|
|
|
@ -196,7 +196,6 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.QuickNES
|
||||||
|
|
||||||
QN.qn_set_tracecb(Context, Tracer.Enabled ? _traceCb : null);
|
QN.qn_set_tracecb(Context, Tracer.Enabled ? _traceCb : null);
|
||||||
|
|
||||||
Frame++;
|
|
||||||
LibQuickNES.ThrowStringError(QN.qn_emulate_frame(Context, j1, j2));
|
LibQuickNES.ThrowStringError(QN.qn_emulate_frame(Context, j1, j2));
|
||||||
IsLagFrame = QN.qn_get_joypad_read_count(Context) == 0;
|
IsLagFrame = QN.qn_get_joypad_read_count(Context) == 0;
|
||||||
if (IsLagFrame)
|
if (IsLagFrame)
|
||||||
|
@ -210,6 +209,8 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.QuickNES
|
||||||
_callBack1?.Invoke();
|
_callBack1?.Invoke();
|
||||||
_callBack2?.Invoke();
|
_callBack2?.Invoke();
|
||||||
|
|
||||||
|
Frame++;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -70,8 +70,8 @@ namespace BizHawk.Emulation.Cores.Nintendo.SNES
|
||||||
RefreshMemoryCallbacks(false);
|
RefreshMemoryCallbacks(false);
|
||||||
|
|
||||||
// apparently this is one frame?
|
// apparently this is one frame?
|
||||||
_timeFrameCounter++;
|
|
||||||
Api.CMD_run();
|
Api.CMD_run();
|
||||||
|
_timeFrameCounter++;
|
||||||
|
|
||||||
// once upon a time we forwarded messages from bsnes here, by checking for queued text messages, but I don't think it's needed any longer
|
// once upon a time we forwarded messages from bsnes here, by checking for queued text messages, but I don't think it's needed any longer
|
||||||
if (IsLagFrame)
|
if (IsLagFrame)
|
||||||
|
|
|
@ -36,8 +36,6 @@ namespace BizHawk.Emulation.Cores.Nintendo.SubGBHawk
|
||||||
_GBCore.cpu.TraceCallback = null;
|
_GBCore.cpu.TraceCallback = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
_frame++;
|
|
||||||
|
|
||||||
reset_frame = false;
|
reset_frame = false;
|
||||||
if (controller.IsPressed("P1 Power"))
|
if (controller.IsPressed("P1 Power"))
|
||||||
{
|
{
|
||||||
|
@ -81,6 +79,9 @@ namespace BizHawk.Emulation.Cores.Nintendo.SubGBHawk
|
||||||
}
|
}
|
||||||
|
|
||||||
reset_frame = false;
|
reset_frame = false;
|
||||||
|
|
||||||
|
_frame++;
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -21,8 +21,6 @@ namespace BizHawk.Emulation.Cores.Nintendo.SubNESHawk
|
||||||
_nesCore.cpu.TraceCallback = null;
|
_nesCore.cpu.TraceCallback = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
_frame++;
|
|
||||||
|
|
||||||
if (controller.IsPressed("Power"))
|
if (controller.IsPressed("Power"))
|
||||||
{
|
{
|
||||||
HardReset();
|
HardReset();
|
||||||
|
@ -62,6 +60,9 @@ namespace BizHawk.Emulation.Cores.Nintendo.SubNESHawk
|
||||||
}
|
}
|
||||||
|
|
||||||
reset_frame = false;
|
reset_frame = false;
|
||||||
|
|
||||||
|
_frame++;
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,6 @@ namespace BizHawk.Emulation.Cores.PCEngine
|
||||||
_controller = controller;
|
_controller = controller;
|
||||||
_lagged = true;
|
_lagged = true;
|
||||||
DriveLightOn = false;
|
DriveLightOn = false;
|
||||||
Frame++;
|
|
||||||
CheckSpriteLimit();
|
CheckSpriteLimit();
|
||||||
PSG.BeginFrame(Cpu.TotalExecutedCycles);
|
PSG.BeginFrame(Cpu.TotalExecutedCycles);
|
||||||
|
|
||||||
|
@ -40,6 +39,8 @@ namespace BizHawk.Emulation.Cores.PCEngine
|
||||||
_isLag = false;
|
_isLag = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Frame++;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -24,8 +24,6 @@ namespace BizHawk.Emulation.Cores.Sega.GGHawkLink
|
||||||
L.Cpu.TraceCallback = null;
|
L.Cpu.TraceCallback = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
_frame++;
|
|
||||||
|
|
||||||
if (controller.IsPressed("Power"))
|
if (controller.IsPressed("Power"))
|
||||||
{
|
{
|
||||||
HardReset();
|
HardReset();
|
||||||
|
@ -53,6 +51,8 @@ namespace BizHawk.Emulation.Cores.Sega.GGHawkLink
|
||||||
_lagCount++;
|
_lagCount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_frame++;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -46,7 +46,6 @@ namespace BizHawk.Emulation.Cores.Sega.MasterSystem
|
||||||
{
|
{
|
||||||
_controller = controller;
|
_controller = controller;
|
||||||
_lagged = true;
|
_lagged = true;
|
||||||
_frame++;
|
|
||||||
|
|
||||||
if (!IsGameGear)
|
if (!IsGameGear)
|
||||||
{
|
{
|
||||||
|
@ -129,6 +128,8 @@ namespace BizHawk.Emulation.Cores.Sega.MasterSystem
|
||||||
_isLag = false;
|
_isLag = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_frame++;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -136,7 +137,6 @@ namespace BizHawk.Emulation.Cores.Sega.MasterSystem
|
||||||
public void FrameAdvancePrep()
|
public void FrameAdvancePrep()
|
||||||
{
|
{
|
||||||
_lagged = true;
|
_lagged = true;
|
||||||
_frame++;
|
|
||||||
|
|
||||||
if (!IsGameGear && IsGameGear_C)
|
if (!IsGameGear && IsGameGear_C)
|
||||||
{
|
{
|
||||||
|
@ -156,6 +156,8 @@ namespace BizHawk.Emulation.Cores.Sega.MasterSystem
|
||||||
{
|
{
|
||||||
_isLag = false;
|
_isLag = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_frame++;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int Frame => _frame;
|
public int Frame => _frame;
|
||||||
|
|
|
@ -53,7 +53,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.gpgx
|
||||||
throw new Exception($"{nameof(Core.gpgx_put_control)}() failed!");
|
throw new Exception($"{nameof(Core.gpgx_put_control)}() failed!");
|
||||||
|
|
||||||
IsLagFrame = true;
|
IsLagFrame = true;
|
||||||
Frame++;
|
|
||||||
_driveLight = false;
|
_driveLight = false;
|
||||||
|
|
||||||
Core.gpgx_advance();
|
Core.gpgx_advance();
|
||||||
|
@ -68,7 +68,9 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.gpgx
|
||||||
LagCount++;
|
LagCount++;
|
||||||
|
|
||||||
if (_cds != null)
|
if (_cds != null)
|
||||||
DriveLightOn = _driveLight;
|
DriveLightOn = _driveLight;
|
||||||
|
|
||||||
|
Frame++;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -808,8 +808,6 @@ namespace BizHawk.Emulation.Cores.Sony.PSX
|
||||||
//TODO - actually, make this feedback from the core. there should be a register or status which effectively corresponds to whether it's reading.
|
//TODO - actually, make this feedback from the core. there should be a register or status which effectively corresponds to whether it's reading.
|
||||||
DriveLightOn = false;
|
DriveLightOn = false;
|
||||||
|
|
||||||
Frame++;
|
|
||||||
|
|
||||||
SetInput();
|
SetInput();
|
||||||
|
|
||||||
OctoshockDll.shock_SetLEC(psx, _SyncSettings.EnableLEC);
|
OctoshockDll.shock_SetLEC(psx, _SyncSettings.EnableLEC);
|
||||||
|
@ -899,6 +897,8 @@ namespace BizHawk.Emulation.Cores.Sony.PSX
|
||||||
OctoshockDll.shock_GetSamples(psx, samples);
|
OctoshockDll.shock_GetSamples(psx, samples);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Frame++;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -62,7 +62,6 @@ namespace BizHawk.Emulation.Cores.WonderSwan
|
||||||
|
|
||||||
public bool FrameAdvance(IController controller, bool render, bool rendersound = true)
|
public bool FrameAdvance(IController controller, bool render, bool rendersound = true)
|
||||||
{
|
{
|
||||||
Frame++;
|
|
||||||
IsLagFrame = true;
|
IsLagFrame = true;
|
||||||
|
|
||||||
if (controller.IsPressed("Power"))
|
if (controller.IsPressed("Power"))
|
||||||
|
@ -79,6 +78,8 @@ namespace BizHawk.Emulation.Cores.WonderSwan
|
||||||
if (IsLagFrame)
|
if (IsLagFrame)
|
||||||
LagCount++;
|
LagCount++;
|
||||||
|
|
||||||
|
Frame++;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue