Delete Machine2600.cs
This commit is contained in:
parent
c020855830
commit
cb275f8f8d
|
@ -1,112 +0,0 @@
|
|||
/*
|
||||
* Machine2600.cs
|
||||
*
|
||||
* The realization of a 2600 machine.
|
||||
*
|
||||
* Copyright © 2003, 2004 Mike Murphy
|
||||
*
|
||||
*/
|
||||
namespace EMU7800.Core
|
||||
{
|
||||
public class Machine2600 : MachineBase
|
||||
{
|
||||
#region Fields
|
||||
|
||||
protected TIA TIA { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
public override void Reset()
|
||||
{
|
||||
base.Reset();
|
||||
TIA.Reset();
|
||||
PIA.Reset();
|
||||
CPU.Reset();
|
||||
}
|
||||
|
||||
public override void ComputeNextFrame(FrameBuffer frameBuffer)
|
||||
{
|
||||
base.ComputeNextFrame(frameBuffer);
|
||||
TIA.StartFrame();
|
||||
CPU.RunClocks = (FrameBuffer.Scanlines + 3) * 76;
|
||||
while (CPU.RunClocks > 0 && !CPU.Jammed)
|
||||
{
|
||||
if (TIA.WSYNCDelayClocks > 0)
|
||||
{
|
||||
CPU.Clock += (ulong)TIA.WSYNCDelayClocks / 3;
|
||||
CPU.RunClocks -= TIA.WSYNCDelayClocks / 3;
|
||||
TIA.WSYNCDelayClocks = 0;
|
||||
}
|
||||
if (TIA.EndOfFrame)
|
||||
{
|
||||
break;
|
||||
}
|
||||
CPU.Execute();
|
||||
}
|
||||
TIA.EndFrame();
|
||||
}
|
||||
|
||||
public Machine2600(Cart cart, ILogger logger, int slines, int startl, int fHZ, int sRate, int[] p)
|
||||
: base(logger, slines, startl, fHZ, sRate, p, 160)
|
||||
{
|
||||
Mem = new AddressSpace(this, 13, 6); // 2600: 13bit, 64byte pages
|
||||
|
||||
CPU = new M6502(this, 1);
|
||||
|
||||
TIA = new TIA(this);
|
||||
for (ushort i = 0; i < 0x1000; i += 0x100)
|
||||
{
|
||||
Mem.Map(i, 0x0080, TIA);
|
||||
}
|
||||
|
||||
PIA = new PIA(this);
|
||||
for (ushort i = 0x0080; i < 0x1000; i += 0x100)
|
||||
{
|
||||
Mem.Map(i, 0x0080, PIA);
|
||||
}
|
||||
|
||||
Cart = cart;
|
||||
Mem.Map(0x1000, 0x1000, Cart);
|
||||
}
|
||||
|
||||
#region Serialization Members
|
||||
|
||||
public Machine2600(DeserializationContext input, int[] palette) : base(input, palette)
|
||||
{
|
||||
input.CheckVersion(1);
|
||||
|
||||
Mem = input.ReadAddressSpace(this, 13, 6); // 2600: 13bit, 64byte pages
|
||||
|
||||
CPU = input.ReadM6502(this, 1);
|
||||
|
||||
TIA = input.ReadTIA(this);
|
||||
for (ushort i = 0; i < 0x1000; i += 0x100)
|
||||
{
|
||||
Mem.Map(i, 0x0080, TIA);
|
||||
}
|
||||
|
||||
PIA = input.ReadPIA(this);
|
||||
for (ushort i = 0x0080; i < 0x1000; i += 0x100)
|
||||
{
|
||||
Mem.Map(i, 0x0080, PIA);
|
||||
}
|
||||
|
||||
Cart = input.ReadCart(this);
|
||||
Mem.Map(0x1000, 0x1000, Cart);
|
||||
}
|
||||
|
||||
public override void GetObjectData(SerializationContext output)
|
||||
{
|
||||
base.GetObjectData(output);
|
||||
|
||||
output.WriteVersion(1);
|
||||
output.Write(Mem);
|
||||
output.Write(CPU);
|
||||
output.Write(TIA);
|
||||
output.Write(PIA);
|
||||
output.Write(Cart);
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue