mirror of
https://github.com/MoleskiCoder/EightBitNet.git
synced 2026-10-25 05:02:14 +00:00
* Update nuget packages
* Namespace z80 a little better * Add some benchmarks
This commit is contained in:
1 parent
d12f29f253
commit
9bfd65fbb1
45 files changed
+431
-63
No files matched your search
@@ -0,0 +1,34 @@
|
||||
namespace EightBit.Benchmark
|
||||
{
|
||||
using BenchmarkDotNet.Attributes;
|
||||
|
||||
public class BenchmarkBus
|
||||
{
|
||||
private readonly SealedBus _contents = new();
|
||||
|
||||
[GlobalSetup]
|
||||
public void GlobalSetup()
|
||||
{
|
||||
for (ushort i = 0; i < ushort.MaxValue; ++i)
|
||||
{
|
||||
this._contents.Poke(i, (byte)(i % 256));
|
||||
}
|
||||
this._contents.Address.Joined = 0;
|
||||
this._contents.Data = 123;
|
||||
}
|
||||
|
||||
[Benchmark]
|
||||
public long Reading()
|
||||
{
|
||||
this._contents.Read();
|
||||
return this._contents.Data;
|
||||
}
|
||||
|
||||
[Benchmark]
|
||||
public long Writing()
|
||||
{
|
||||
this._contents.Write();
|
||||
return this._contents.Data;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
namespace EightBit.Benchmark
|
||||
{
|
||||
using BenchmarkDotNet.Attributes;
|
||||
|
||||
class ClockingChip : ClockedChip
|
||||
{
|
||||
public void Reset() => this.ResetCycles();
|
||||
|
||||
public void Bump() => this.Cycles++;
|
||||
}
|
||||
|
||||
public class BenchmarkClockedChip
|
||||
{
|
||||
private readonly ClockingChip _contents = new();
|
||||
|
||||
////////////////////////////////////////////
|
||||
|
||||
[IterationSetup]
|
||||
public void IterationSetup() => this._contents.Reset();
|
||||
|
||||
[IterationCleanup]
|
||||
public void IterationCleanup() => this._contents.Reset();
|
||||
|
||||
////////////////////////////////////////////
|
||||
|
||||
[GlobalSetup(Target = nameof(TickWithSubscribers))]
|
||||
public void GlobalSetupSingle() => this._contents.Ticked += this.Contents_Ticked;
|
||||
|
||||
[GlobalCleanup(Target = nameof(TickWithSubscribers))]
|
||||
public void GlobalCleanupSingle() => this._contents.Ticked -= this.Contents_Ticked;
|
||||
|
||||
[Benchmark]
|
||||
public int TickWithSubscribers()
|
||||
{
|
||||
this._contents.Tick();
|
||||
return this._contents.Cycles;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////
|
||||
|
||||
[GlobalSetup(Target = nameof(TickMultipleWithSubscribers))]
|
||||
public void GlobalSetupMultiple() => this._contents.Ticked += this.Contents_Ticked;
|
||||
|
||||
[GlobalCleanup(Target = nameof(TickMultipleWithSubscribers))]
|
||||
public void GlobalCleanupMultiple() => this._contents.Ticked -= this.Contents_Ticked;
|
||||
|
||||
[Benchmark]
|
||||
public int TickMultipleWithSubscribers()
|
||||
{
|
||||
this._contents.Tick(4);
|
||||
return this._contents.Cycles;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////
|
||||
|
||||
[Benchmark]
|
||||
public int TickWithoutSubscribers()
|
||||
{
|
||||
this._contents.Tick();
|
||||
return this._contents.Cycles;
|
||||
}
|
||||
|
||||
[Benchmark]
|
||||
public int TickMultipleWithoutSubscribers()
|
||||
{
|
||||
this._contents.Tick(4);
|
||||
return this._contents.Cycles;
|
||||
}
|
||||
|
||||
private void Contents_Ticked(object? sender, EventArgs e)
|
||||
{
|
||||
this._contents.Bump();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,168 @@
|
||||
namespace EightBit.Benchmark
|
||||
{
|
||||
using BenchmarkDotNet.Attributes;
|
||||
|
||||
internal class SealedLittleEndianProcessor : LittleEndianProcessor
|
||||
{
|
||||
private readonly Bus _contents;
|
||||
|
||||
public SealedLittleEndianProcessor(Bus contents)
|
||||
: base(contents)
|
||||
{
|
||||
_contents = contents;
|
||||
}
|
||||
|
||||
public override void PoweredStep()
|
||||
{
|
||||
this.Execute(this.FetchInstruction());
|
||||
}
|
||||
|
||||
public override void Execute()
|
||||
{
|
||||
this.Tick();
|
||||
this.MemoryWrite(this.PC, 1);
|
||||
}
|
||||
|
||||
protected override void Push(byte value)
|
||||
{
|
||||
}
|
||||
|
||||
protected override void Pop()
|
||||
{
|
||||
}
|
||||
|
||||
protected override void MemoryRead()
|
||||
{
|
||||
this.OnReadingMemory();
|
||||
base.MemoryRead();
|
||||
this.OnReadMemory();
|
||||
}
|
||||
|
||||
protected override void MemoryWrite()
|
||||
{
|
||||
this.OnWritingMemory();
|
||||
base.MemoryWrite();
|
||||
this.OnWrittenMemory();
|
||||
}
|
||||
}
|
||||
|
||||
public class BenchmarkLittleEndianProcessor
|
||||
{
|
||||
private readonly SealedBus _bus = new();
|
||||
private readonly SealedLittleEndianProcessor _processor;
|
||||
|
||||
public BenchmarkLittleEndianProcessor()
|
||||
{
|
||||
this._processor = new(this._bus);
|
||||
}
|
||||
|
||||
////////////////////////////////////////////
|
||||
|
||||
[Benchmark]
|
||||
public long Step()
|
||||
{
|
||||
this._processor.Step();
|
||||
return this._processor.Cycles;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////
|
||||
|
||||
[GlobalSetup(Target = nameof(StepWithMemoryEvents))]
|
||||
public void GlobalSetupStepWithMemoryEvents() => this.AddMemoryEvents();
|
||||
|
||||
[GlobalCleanup(Target = nameof(StepWithMemoryEvents))]
|
||||
public void GlobalCleanupStepWithMemoryEvents() => this.RemoveMemoryEvents();
|
||||
|
||||
[Benchmark]
|
||||
public long StepWithMemoryEvents() => this.Step();
|
||||
|
||||
////////////////////////////////////////////
|
||||
|
||||
[GlobalSetup(Target = nameof(StepWithExecutionEvents))]
|
||||
public void GlobalSetupStepWithExecutionEvents() => this.AddExecutionEvents();
|
||||
|
||||
[GlobalCleanup(Target = nameof(StepWithExecutionEvents))]
|
||||
public void GlobalCleanupStepWithExecutionEvents() => this.RemoveExecutionEvents();
|
||||
|
||||
[Benchmark]
|
||||
public long StepWithExecutionEvents() => this.Step();
|
||||
|
||||
////////////////////////////////////////////
|
||||
|
||||
[GlobalSetup(Target = nameof(StepWithEvents))]
|
||||
public void GlobalSetupStepWithEvents() => this.AddEvents();
|
||||
|
||||
[GlobalCleanup(Target = nameof(StepWithEvents))]
|
||||
public void GlobalCleanupStepWithEvents() => this.RemoveEvents();
|
||||
|
||||
[Benchmark]
|
||||
public long StepWithEvents() => this.Step();
|
||||
|
||||
///////////////////////////////////////////////////
|
||||
|
||||
private void AddEvents()
|
||||
{
|
||||
this.AddMemoryEvents();
|
||||
this.AddExecutionEvents();
|
||||
}
|
||||
|
||||
private void RemoveEvents()
|
||||
{
|
||||
this.RemoveMemoryEvents();
|
||||
this.RemoveExecutionEvents();
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////
|
||||
|
||||
private int _preExecute = 0;
|
||||
private int _postExecute = 0;
|
||||
|
||||
private void RemoveExecutionEvents()
|
||||
{
|
||||
this._processor.ExecutingInstruction -= Processor_ExecutingInstruction;
|
||||
this._processor.ExecutedInstruction -= Processor_ExecutedInstruction;
|
||||
}
|
||||
|
||||
private void AddExecutionEvents()
|
||||
{
|
||||
this._processor.ExecutingInstruction += Processor_ExecutingInstruction;
|
||||
this._processor.ExecutedInstruction += Processor_ExecutedInstruction;
|
||||
}
|
||||
|
||||
private void Processor_ExecutedInstruction(object? sender, EventArgs e) =>this._postExecute++;
|
||||
|
||||
private void Processor_ExecutingInstruction(object? sender, EventArgs e) => this._preExecute++;
|
||||
|
||||
///////////////////////////////////////////////////
|
||||
|
||||
private int _preReads = 0;
|
||||
private int _postReads = 0;
|
||||
|
||||
private int _preWrites = 0;
|
||||
private int _postWrites = 0;
|
||||
|
||||
private void RemoveMemoryEvents()
|
||||
{
|
||||
this._processor.ReadingMemory -= Processor_ReadingMemory;
|
||||
this._processor.ReadMemory -= Processor_ReadMemory;
|
||||
this._processor.WritingMemory -= Processor_WritingMemory;
|
||||
this._processor.WrittenMemory -= Processor_WrittenMemory;
|
||||
}
|
||||
|
||||
private void AddMemoryEvents()
|
||||
{
|
||||
this._processor.ReadingMemory += Processor_ReadingMemory;
|
||||
this._processor.ReadMemory += Processor_ReadMemory;
|
||||
this._processor.WritingMemory += Processor_WritingMemory;
|
||||
this._processor.WrittenMemory += Processor_WrittenMemory;
|
||||
}
|
||||
|
||||
private void Processor_ReadingMemory(object? sender, EventArgs e) => this._preReads++;
|
||||
|
||||
private void Processor_ReadMemory(object? sender, EventArgs e) => this._postReads++;
|
||||
|
||||
private void Processor_WrittenMemory(object? sender, EventArgs e) =>this._postWrites++;
|
||||
|
||||
private void Processor_WritingMemory(object? sender, EventArgs e) =>this._preWrites++;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
using BenchmarkDotNet.Attributes;
|
||||
|
||||
namespace EightBit.Benchmark
|
||||
{
|
||||
public class BenchmarkRegister16
|
||||
{
|
||||
private readonly Register16 _contents = new(0xde, 0xad);
|
||||
private readonly Register16 _source = new(0xbe, 0xef);
|
||||
|
||||
[Benchmark]
|
||||
public ushort Increment()
|
||||
{
|
||||
this._contents.Increment();
|
||||
return this._contents.Joined;
|
||||
}
|
||||
|
||||
[Benchmark]
|
||||
public ushort AssignViaRegister()
|
||||
{
|
||||
this._source.Increment();
|
||||
this._contents.Assign(this._source);
|
||||
return this._contents.Joined;
|
||||
}
|
||||
|
||||
[Benchmark]
|
||||
public ushort AssignViaValues()
|
||||
{
|
||||
this._contents.Assign(0x01, 0x02);
|
||||
return this._contents.Joined;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="BenchmarkDotNet" Version="0.15.8" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\EightBit\EightBit.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -0,0 +1,3 @@
|
||||
using BenchmarkDotNet.Running;
|
||||
|
||||
var summary = BenchmarkRunner.Run(typeof(Program).Assembly);
|
||||
@@ -0,0 +1,24 @@
|
||||
using BenchmarkDotNet.Attributes;
|
||||
|
||||
namespace EightBit.Benchmark
|
||||
{
|
||||
class SealedBus : Bus
|
||||
{
|
||||
private readonly Ram _ram = new(0x10000);
|
||||
private readonly MemoryMapping _mapping;
|
||||
|
||||
public SealedBus()
|
||||
{
|
||||
this._mapping = new(this._ram, 0, Mask.Fifteen, AccessLevel.ReadWrite);
|
||||
}
|
||||
|
||||
public override MemoryMapping Mapping(ushort absolute)
|
||||
{
|
||||
return this._mapping;
|
||||
}
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -26,10 +26,10 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.10.0" />
|
||||
<PackageReference Include="Microsoft.Testing.Extensions.CodeCoverage" Version="18.11.2" />
|
||||
<PackageReference Include="Microsoft.Testing.Extensions.TrxReport" Version="2.4.0" />
|
||||
<PackageReference Include="MSTest" Version="4.4.0" />
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.11.0" />
|
||||
<PackageReference Include="Microsoft.Testing.Extensions.CodeCoverage" Version="18.12.0" />
|
||||
<PackageReference Include="Microsoft.Testing.Extensions.TrxReport" Version="2.5.1" />
|
||||
<PackageReference Include="MSTest" Version="4.5.1" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
+11
-5
@@ -29,11 +29,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MC6809.Test", "MC6809\MC680
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MC6850", "MC6850\MC6850.csproj", "{1609FDDB-123C-4F4C-ABF2-8B9467D21679}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Z80", "Z80\Z80.csproj", "{BFA64991-7EDE-4871-93B2-F6B3704C3889}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Zilog", "Z80\Zilog.csproj", "{BFA64991-7EDE-4871-93B2-F6B3704C3889}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Z80.FuseTest", "Z80\Z80.FuseTest\Z80.FuseTest.csproj", "{7124884D-0D57-4C8D-848F-A75AC73BA595}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Zilog.Z80.FuseTest", "Z80\Z80.FuseTest\Zilog.Z80.FuseTest.csproj", "{7124884D-0D57-4C8D-848F-A75AC73BA595}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Z80.Test", "Z80\Z80.Test\Z80.Test.csproj", "{E6AE640E-4A42-4D8F-8ECE-2FBEBC29741B}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Zilog.Z80.Test", "Z80\Z80.Test\Zilog.Z80.Test.csproj", "{E6AE640E-4A42-4D8F-8ECE-2FBEBC29741B}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "M6502.HarteTest", "M6502\M6502.HarteTest\M6502.HarteTest.csproj", "{8686B0DC-A431-4239-836E-ABC90BD69920}"
|
||||
EndProject
|
||||
@@ -43,12 +43,14 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SM83.HarteTest", "LR35902\S
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EightBit.UnitTest", "EightBit\EightBit.UnitTest\EightBit.UnitTest.csproj", "{A8B3D819-0E84-4586-ADB1-D57AB1A8165B}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Z80.UnitTests", "Z80\Z80.UnitTests\Z80.UnitTests.csproj", "{DB313D5B-9DC3-4844-9916-925678967112}"
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Zilog.Z80.UnitTests", "Z80\Z80.UnitTests\Zilog.Z80.UnitTests.csproj", "{DB313D5B-9DC3-4844-9916-925678967112}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Z80.HarteTest", "Z80\Z80.HarteTest\Z80.HarteTest.csproj", "{63132DC1-94BC-4B00-9AE3-B95A9C9BC663}"
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Zilog.Z80.HarteTest", "Z80\Z80.HarteTest\Zilog.Z80.HarteTest.csproj", "{63132DC1-94BC-4B00-9AE3-B95A9C9BC663}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Gaming", "Gaming\Gaming.csproj", "{C659EDDC-5DC6-4BFB-839F-7B810F924B55}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EightBit.Benchmark", "EightBit.Benchmark\EightBit.Benchmark.csproj", "{670DCC51-9820-436D-9977-EC5FD7FD646D}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
@@ -147,6 +149,10 @@ Global
|
||||
{C659EDDC-5DC6-4BFB-839F-7B810F924B55}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C659EDDC-5DC6-4BFB-839F-7B810F924B55}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{C659EDDC-5DC6-4BFB-839F-7B810F924B55}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{670DCC51-9820-436D-9977-EC5FD7FD646D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{670DCC51-9820-436D-9977-EC5FD7FD646D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{670DCC51-9820-436D-9977-EC5FD7FD646D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{670DCC51-9820-436D-9977-EC5FD7FD646D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="SDL3-CS" Version="3.4.16" />
|
||||
<PackageReference Include="SDL3-CS" Version="3.4.18.1" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -24,10 +24,10 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
|
||||
<PackageReference Include="Microsoft.Testing.Extensions.CodeCoverage" Version="17.12.6" />
|
||||
<PackageReference Include="Microsoft.Testing.Extensions.TrxReport" Version="1.4.3" />
|
||||
<PackageReference Include="MSTest" Version="3.6.4" />
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.10.1" />
|
||||
<PackageReference Include="Microsoft.Testing.Extensions.CodeCoverage" Version="18.12.0" />
|
||||
<PackageReference Include="Microsoft.Testing.Extensions.TrxReport" Version="2.5.1" />
|
||||
<PackageReference Include="MSTest" Version="4.5.1" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -24,10 +24,10 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
|
||||
<PackageReference Include="Microsoft.Testing.Extensions.CodeCoverage" Version="17.12.6" />
|
||||
<PackageReference Include="Microsoft.Testing.Extensions.TrxReport" Version="1.4.3" />
|
||||
<PackageReference Include="MSTest" Version="3.6.4" />
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.10.1" />
|
||||
<PackageReference Include="Microsoft.Testing.Extensions.CodeCoverage" Version="18.12.0" />
|
||||
<PackageReference Include="Microsoft.Testing.Extensions.TrxReport" Version="2.5.1" />
|
||||
<PackageReference Include="MSTest" Version="4.5.1" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -28,10 +28,10 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
|
||||
<PackageReference Include="Microsoft.Testing.Extensions.CodeCoverage" Version="17.12.6" />
|
||||
<PackageReference Include="Microsoft.Testing.Extensions.TrxReport" Version="1.4.3" />
|
||||
<PackageReference Include="MSTest" Version="3.6.4" />
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.10.1" />
|
||||
<PackageReference Include="Microsoft.Testing.Extensions.CodeCoverage" Version="18.12.0" />
|
||||
<PackageReference Include="Microsoft.Testing.Extensions.TrxReport" Version="2.5.1" />
|
||||
<PackageReference Include="MSTest" Version="4.5.1" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
// Copyright (c) Adrian Conlon. All rights reserved.
|
||||
// </copyright>
|
||||
|
||||
namespace Z80
|
||||
namespace Zilog
|
||||
{
|
||||
using EightBit;
|
||||
using System.Globalization;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
namespace Z80
|
||||
namespace Zilog
|
||||
{
|
||||
using System.Diagnostics;
|
||||
using System.Globalization;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// Copyright (c) Adrian Conlon. All rights reserved.
|
||||
// </copyright>
|
||||
|
||||
namespace Z80
|
||||
namespace Zilog
|
||||
{
|
||||
using EightBit;
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// Copyright (c) Adrian Conlon. All rights reserved.
|
||||
// </copyright>
|
||||
|
||||
namespace Z80
|
||||
namespace Zilog
|
||||
{
|
||||
public enum RegisterIndex
|
||||
{
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
// Copyright (c) Adrian Conlon. All rights reserved.
|
||||
// </copyright>
|
||||
|
||||
namespace Z80
|
||||
namespace Zilog
|
||||
{
|
||||
using EightBit;
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// Copyright (c) Adrian Conlon. All rights reserved.
|
||||
// </copyright>
|
||||
|
||||
using Z80.FuseTest;
|
||||
using Zilog.FuseTest;
|
||||
|
||||
var suite = new TestSuite("fuse-tests\\tests");
|
||||
suite.Read();
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// Copyright (c) Adrian Conlon. All rights reserved.
|
||||
// </copyright>
|
||||
|
||||
namespace Z80.FuseTest
|
||||
namespace Zilog.FuseTest
|
||||
{
|
||||
using Fuse;
|
||||
using System.Globalization;
|
||||
|
||||
@@ -2,11 +2,12 @@
|
||||
// Copyright (c) Adrian Conlon. All rights reserved.
|
||||
// </copyright>
|
||||
|
||||
namespace Z80.FuseTest
|
||||
namespace Zilog.FuseTest
|
||||
{
|
||||
using Fuse;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using Zilog;
|
||||
|
||||
internal enum Register
|
||||
{
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// Copyright (c) Adrian Conlon. All rights reserved.
|
||||
// </copyright>
|
||||
|
||||
namespace Z80.FuseTest
|
||||
namespace Zilog.FuseTest
|
||||
{
|
||||
using Fuse;
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Fuse\Fuse.csproj" />
|
||||
<ProjectReference Include="..\Z80.csproj" />
|
||||
<ProjectReference Include="..\Zilog.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace Z80.HarteTest
|
||||
namespace Zilog.HarteTest
|
||||
{
|
||||
using EightBit;
|
||||
using System.Collections.Generic;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace Z80.HarteTest
|
||||
namespace Zilog.HarteTest
|
||||
{
|
||||
using System.Diagnostics;
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace Z80.HarteTest
|
||||
namespace Zilog.HarteTest
|
||||
{
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Text.Json;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace Z80.HarteTest
|
||||
namespace Zilog.HarteTest
|
||||
{
|
||||
// Cycle-by-cycle breakdown of bus activity
|
||||
internal sealed class Port
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// <copyright file="SingleStepTests.cs" company="Adrian Conlon">
|
||||
// Copyright (c) Adrian Conlon. All rights reserved.
|
||||
// </copyright>
|
||||
namespace Z80.HarteTest
|
||||
namespace Zilog.HarteTest
|
||||
{
|
||||
using System.Reflection;
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace Z80.HarteTest
|
||||
namespace Zilog.HarteTest
|
||||
{
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "CA1812:Avoid uninstantiated internal classes", Justification = "Instantiated by JSON deserializer")]
|
||||
internal sealed class State
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace Z80.HarteTest
|
||||
namespace Zilog.HarteTest
|
||||
{
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "CA1812:Avoid uninstantiated internal classes", Justification = "Instantiated by JSON deserializer")]
|
||||
internal sealed class Test
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
namespace Z80.HarteTest
|
||||
namespace Zilog.HarteTest
|
||||
{
|
||||
using EightBit;
|
||||
using Zilog;
|
||||
|
||||
internal sealed class TestRunner : Bus
|
||||
{
|
||||
|
||||
+6
-6
@@ -1,4 +1,4 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
@@ -24,15 +24,15 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.10.0" />
|
||||
<PackageReference Include="Microsoft.Testing.Extensions.CodeCoverage" Version="18.11.2" />
|
||||
<PackageReference Include="Microsoft.Testing.Extensions.TrxReport" Version="2.4.0" />
|
||||
<PackageReference Include="MSTest" Version="4.4.0" />
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.10.1" />
|
||||
<PackageReference Include="Microsoft.Testing.Extensions.CodeCoverage" Version="18.12.0" />
|
||||
<PackageReference Include="Microsoft.Testing.Extensions.TrxReport" Version="2.5.1" />
|
||||
<PackageReference Include="MSTest" Version="4.5.1" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\EightBit\EightBit.csproj" />
|
||||
<ProjectReference Include="..\Z80.csproj" />
|
||||
<ProjectReference Include="..\Zilog.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
@@ -2,7 +2,7 @@
|
||||
// Copyright (c) Adrian Conlon. All rights reserved.
|
||||
// </copyright>
|
||||
|
||||
namespace Z80.Test
|
||||
namespace Zilog.Test
|
||||
{
|
||||
using EightBit;
|
||||
using System.Globalization;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// Copyright (c) Adrian Conlon. All rights reserved.
|
||||
// </copyright>
|
||||
|
||||
namespace Z80.Test
|
||||
namespace Zilog.Test
|
||||
{
|
||||
using EightBit;
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// Copyright (c) Adrian Conlon. All rights reserved.
|
||||
// </copyright>
|
||||
|
||||
namespace Z80.Test
|
||||
namespace Zilog.Test
|
||||
{
|
||||
using EightBit;
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Z80.csproj" />
|
||||
<ProjectReference Include="..\Zilog.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -1,9 +1,10 @@
|
||||
// <copyright file="Board.cs" company="Adrian Conlon">
|
||||
// Copyright (c) Adrian Conlon. All rights reserved.
|
||||
// </copyright>
|
||||
namespace Z80.UnitTests
|
||||
namespace Zilog.Z80.UnitTests
|
||||
{
|
||||
using EightBit;
|
||||
using Zilog;
|
||||
|
||||
public sealed class Board : Bus
|
||||
{
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
// <copyright file="HaltTests.cs" company="Adrian Conlon">
|
||||
// Copyright (c) Adrian Conlon. All rights reserved.
|
||||
// </copyright>
|
||||
namespace Z80.UnitTests
|
||||
namespace Zilog.Z80.UnitTests
|
||||
{
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
using Zilog;
|
||||
|
||||
[TestClass]
|
||||
public class HaltTests
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
// <copyright file="IffTests.cs" company="Adrian Conlon">
|
||||
// Copyright (c) Adrian Conlon. All rights reserved.
|
||||
// </copyright>
|
||||
namespace Z80.UnitTests
|
||||
namespace Zilog.Z80.UnitTests
|
||||
{
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
using Zilog;
|
||||
|
||||
[TestClass]
|
||||
public class IffTests
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
// <copyright file="IntTests.cs" company="Adrian Conlon">
|
||||
// Copyright (c) Adrian Conlon. All rights reserved.
|
||||
// </copyright>
|
||||
namespace Z80.UnitTests
|
||||
namespace Zilog.Z80.UnitTests
|
||||
{
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
using Zilog;
|
||||
|
||||
[TestClass]
|
||||
public class IntTests
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
// <copyright file="NmiTests.cs" company="Adrian Conlon">
|
||||
// Copyright (c) Adrian Conlon. All rights reserved.
|
||||
// </copyright>
|
||||
namespace Z80.UnitTests
|
||||
namespace Zilog.Z80.UnitTests
|
||||
{
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
using Zilog;
|
||||
|
||||
[TestClass]
|
||||
public class NmiTests
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
// <copyright file="ResetTests.cs" company="Adrian Conlon">
|
||||
// Copyright (c) Adrian Conlon. All rights reserved.
|
||||
// </copyright>
|
||||
namespace Z80.UnitTests
|
||||
namespace Zilog.Z80.UnitTests
|
||||
{
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
using Zilog;
|
||||
|
||||
[TestClass]
|
||||
public class ResetTests
|
||||
|
||||
+5
-5
@@ -24,15 +24,15 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.10.0" />
|
||||
<PackageReference Include="Microsoft.Testing.Extensions.CodeCoverage" Version="18.11.2" />
|
||||
<PackageReference Include="Microsoft.Testing.Extensions.TrxReport" Version="2.4.0" />
|
||||
<PackageReference Include="MSTest" Version="4.4.0" />
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.10.1" />
|
||||
<PackageReference Include="Microsoft.Testing.Extensions.CodeCoverage" Version="18.12.0" />
|
||||
<PackageReference Include="Microsoft.Testing.Extensions.TrxReport" Version="2.5.1" />
|
||||
<PackageReference Include="MSTest" Version="4.5.1" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\EightBit\EightBit.csproj" />
|
||||
<ProjectReference Include="..\Z80.csproj" />
|
||||
<ProjectReference Include="..\Zilog.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
// <copyright file="Z80.cs" company="Adrian Conlon">
|
||||
// <copyright file="Zilog.cs" company="Adrian Conlon">
|
||||
// Copyright (c) Adrian Conlon. All rights reserved.
|
||||
// </copyright>
|
||||
|
||||
namespace Z80
|
||||
namespace Zilog
|
||||
{
|
||||
using EightBit;
|
||||
using System.Diagnostics;
|
||||
|
||||
File renamed without changes.
Reference in new issue
Block a user