A few miscellaneous changes

This commit is contained in:
Adrian Conlon committed 2026-06-21 08:53:16 +01:00
1 parent 6114a3ab92
commit 5a670ba718
4 files changed
+22 -10

No files matched your search

+1 -4
View File
@@ -19,10 +19,7 @@ namespace EightBit
private ref ushort Whole
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Unsafe.As<byte, ushort>(ref this._low);
}
get => ref Unsafe.As<byte, ushort>(ref this._low);
}
public Register16(byte low, byte high)
+12 -2
View File
@@ -13,12 +13,15 @@ namespace EightBit
private readonly TProcessor _cpu = cpu;
private readonly int _targetClocksPerSecond = targetClocksPerSecond;
private long _totalCycles;
private long _totalInstructions;
public long ElapsedMilliseconds => this._timer.ElapsedMilliseconds;
public TimeSpan ActualElapsed => TimeSpan.FromMilliseconds(this.ElapsedMilliseconds);
public double CyclesPerSecond => this._totalCycles / this.ActualElapsed.TotalSeconds;
public double CyclesPerSecond => this.TotalCycles / this.ActualElapsed.TotalSeconds;
public double InstructionsPerSecond => this.TotalInstructions / this.ActualElapsed.TotalSeconds;
public double ActualClockSpeed => this.CyclesPerSecond / 1_000_000;
@@ -28,6 +31,8 @@ namespace EightBit
public long TotalCycles => this._totalCycles;
public long TotalInstructions => this._totalInstructions;
public TimeSpan TargetElapsed => TimeSpan.FromSeconds(this.TotalCycles / (double)this.TargetClocksPerSecond);
public void Run()
@@ -35,16 +40,21 @@ namespace EightBit
this._board.Initialize();
this._board.RaisePOWER();
this._totalCycles = 0;
this._totalInstructions = 0;
this._timer.Start();
while (this._cpu.Powered)
{
this._totalCycles += this._cpu.Step();
++this._totalInstructions;
}
this._timer.Stop();
Console.Out.WriteLine();
Console.Out.WriteLine($"Guest cycles = {this._totalCycles:N0}");
Console.Out.WriteLine($"Guest cycles = {this.TotalCycles:N0}");
Console.Out.WriteLine($"Instructions executed = {this.TotalInstructions:N0} ({this.InstructionsPerSecond:N0} instructions per second)");
Console.Out.WriteLine($"Elapsed time (at {this.ActualClockSpeed:g3}MHz actual) = {this.ActualElapsed}");
Console.Out.WriteLine($"Elapsed time (at {this.TargetClockSpeed:g3}MHz target) = {this.TargetElapsed}");
}
+1 -1
View File
@@ -1148,7 +1148,7 @@ namespace M6502
protected void RTS() => this.Return();
protected override void Return()
public override void Return()
{
this.SwallowPop();
base.Return();
+8 -3
View File
@@ -8,6 +8,13 @@ namespace EightBit
internal static class Program
{
private static void Run(Configuration configuration)
{
var board = new Board(configuration);
var harness = new EightBit.TestHarness<Board, MC6809.MC6809>(board, board.CPU);
harness.Run();
}
public static void Main(string[] args)
{
var configuration = new Configuration();
@@ -16,9 +23,7 @@ namespace EightBit
configuration.Debug = true;
#endif
var board = new Board(configuration);
var harness = new EightBit.TestHarness<Board, MC6809.MC6809>(board, board.CPU);
harness.Run();
Run(configuration);
}
}
}