2024-05-30 22:20:26 +01:00
|
|
|
|
namespace M6502.HarteTest
|
2024-05-21 19:41:16 +01:00
|
|
|
|
{
|
2024-05-30 22:20:26 +01:00
|
|
|
|
using EightBit;
|
|
|
|
|
|
2024-07-18 11:38:02 +01:00
|
|
|
|
internal sealed class TestRunner : Bus
|
2024-05-21 19:41:16 +01:00
|
|
|
|
{
|
2024-05-30 22:20:26 +01:00
|
|
|
|
public Ram RAM { get; } = new(0x10000);
|
2024-05-21 19:41:16 +01:00
|
|
|
|
|
2024-05-30 22:20:26 +01:00
|
|
|
|
public M6502 CPU { get; }
|
2024-05-21 19:41:16 +01:00
|
|
|
|
|
|
|
|
|
private readonly MemoryMapping mapping;
|
|
|
|
|
|
|
|
|
|
public TestRunner()
|
|
|
|
|
{
|
|
|
|
|
this.CPU = new(this);
|
|
|
|
|
this.mapping = new(this.RAM, 0x0000, (ushort)Mask.Sixteen, AccessLevel.ReadWrite);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override void Initialize()
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override void LowerPOWER()
|
|
|
|
|
{
|
|
|
|
|
this.CPU.LowerPOWER();
|
|
|
|
|
base.LowerPOWER();
|
|
|
|
|
}
|
|
|
|
|
|
2024-07-18 11:38:02 +01:00
|
|
|
|
public override MemoryMapping Mapping(ushort _) => this.mapping;
|
2024-05-21 19:41:16 +01:00
|
|
|
|
|
|
|
|
|
public override void RaisePOWER()
|
|
|
|
|
{
|
|
|
|
|
base.RaisePOWER();
|
|
|
|
|
this.CPU.RaisePOWER();
|
|
|
|
|
this.CPU.RaiseRESET();
|
|
|
|
|
this.CPU.RaiseINT();
|
|
|
|
|
this.CPU.RaiseNMI();
|
|
|
|
|
this.CPU.RaiseSO();
|
|
|
|
|
this.CPU.RaiseRDY();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|