BizHawk/BizHawk.Emulation.Cores/Consoles/Atari/2600/Tia/Tia.IVideoProvider.cs

52 lines
1022 B
C#

using BizHawk.Emulation.Common;
namespace BizHawk.Emulation.Cores.Atari.Atari2600
{
public partial class TIA : IVideoProvider
{
public int[] GetVideoBuffer()
{
return _frameBuffer;
}
public int VirtualWidth
{
get
{
if (_pal)
{
return 320;
}
return 275; // 275 comes from NTSC specs and the actual pixel clock of a 2600 TIA
}
}
public int VirtualHeight => BufferHeight;
public int BufferWidth => ScreenWidth;
public int BufferHeight
{
get
{
if (_pal)
{
return _core.Settings.PALBottomLine - _core.Settings.PALTopLine;
}
return _core.Settings.NTSCBottomLine - _core.Settings.NTSCTopLine;
}
}
public int VsyncNumerator => _vsyncNum;
public int VsyncDenominator => _vsyncDen;
public int BackgroundColor => _core.Settings.BackgroundColor.ToArgb();
private readonly int[] _frameBuffer = new int[ScreenWidth * MaxScreenHeight];
private int _vsyncNum, _vsyncDen;
}
}