BizHawk/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/ZXSpectrum48K/ZX48.Screen.cs

49 lines
1.3 KiB
C#
Raw Normal View History

2018-06-14 10:31:09 +00:00

2018-05-31 16:54:57 +00:00
namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum
{
2018-06-14 10:31:09 +00:00
/// <summary>
/// 48K ULA
/// </summary>
2018-05-31 16:54:57 +00:00
class Screen48 : ULA
{
#region Construction
public Screen48(SpectrumBase machine)
: base(machine)
{
2018-06-11 13:35:12 +00:00
// interrupt
InterruptStartTime = 3;
2018-05-31 16:54:57 +00:00
InterruptLength = 32;
2018-06-11 13:35:12 +00:00
// offsets
RenderTableOffset = 56;
ContentionOffset = 6;
FloatingBusOffset = 1;
// timing
ClockSpeed = 3500000;
FrameCycleLength = 69888;
2018-05-31 16:54:57 +00:00
ScanlineTime = 224;
BorderLeftTime = 24;
BorderRightTime = 24;
FirstPaperLine = 64;
FirstPaperTState = 64;
2018-06-11 13:35:12 +00:00
// screen layout
2018-05-31 16:54:57 +00:00
Border4T = true;
Border4TStage = 0;
ScreenWidth = 256;
ScreenHeight = 192;
2018-06-11 13:35:12 +00:00
BorderTopHeight = 48;// 55;// 48;
BorderBottomHeight = 48;// 56;
2018-05-31 16:54:57 +00:00
BorderLeftWidth = 48;
BorderRightWidth = 48;
ScanLineWidth = BorderLeftWidth + ScreenWidth + BorderRightWidth;
RenderingTable = new RenderTable(this,
MachineType.ZXSpectrum48);
SetupScreenSize();
}
#endregion
}
}