A7800Hawk - eek out a few % perf improvements by aggressively inlining some short tia methods that weren't getting inlined

This commit is contained in:
adelikat 2020-04-21 18:08:33 -05:00
parent 631fedcd9c
commit 3abd526aa9
3 changed files with 9 additions and 4 deletions

View File

@ -166,7 +166,7 @@ namespace BizHawk.Emulation.Cores.Atari.A7800Hawk
// do the audio sampling of TIA audio
if (tia._hsyncCnt == 113 || tia._hsyncCnt == 340)
{
temp_s_tia = tia.Execute(0);
temp_s_tia = tia.Execute();
}
// tick the m6532 timer, which is still active although not recommended to use

View File

@ -29,11 +29,11 @@
}
// Execute TIA cycles
public int Execute(int cycles)
public int Execute()
{
LocalAudioCycles = 0;
LocalAudioCycles += (AUD[0].Cycle() / 2);
LocalAudioCycles += (AUD[1].Cycle() / 2);
LocalAudioCycles += AUD[0].Cycle() / 2;
LocalAudioCycles += AUD[1].Cycle() / 2;
return LocalAudioCycles;
}

View File

@ -1,4 +1,5 @@
using BizHawk.Common;
using System.Runtime.CompilerServices;
namespace BizHawk.Emulation.Cores.Atari.A7800Hawk
{
@ -48,6 +49,7 @@ namespace BizHawk.Emulation.Cores.Atari.A7800Hawk
return false;
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
private bool Run4()
{
bool ret = (sr4 & 1) != 0;
@ -56,6 +58,7 @@ namespace BizHawk.Emulation.Cores.Atari.A7800Hawk
return ret;
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
private bool Run5()
{
bool ret = (sr5 & 1) != 0;
@ -64,6 +67,7 @@ namespace BizHawk.Emulation.Cores.Atari.A7800Hawk
return ret;
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
private bool One4()
{
bool ret = (sr4 & 1) != 0;
@ -71,6 +75,7 @@ namespace BizHawk.Emulation.Cores.Atari.A7800Hawk
return ret;
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
private bool One5()
{
bool ret = (sr5 & 1) != 0;