Move register definition information around a little for forthcoming Fuse library ease of refactoring.

Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
This commit is contained in:
Adrian Conlon 2019-07-21 10:19:21 +01:00
parent d1689dede8
commit 304f6c1eca
2 changed files with 23 additions and 23 deletions

View File

@ -8,11 +8,6 @@
public class RegisterState
{
public enum Register
{
AF, BC, DE, HL, SP, PC
};
private readonly List<Register16> registers = new List<Register16>();
public ReadOnlyCollection<Register16> Registers => this.registers.AsReadOnly();

View File

@ -2,6 +2,11 @@
{
public class TestRunner : EightBit.GameBoy.Bus
{
public enum Register
{
AF, BC, DE, HL, SP, PC
};
private readonly Test test;
private readonly Result result;
private readonly EightBit.Ram ram = new EightBit.Ram(0x10000);
@ -58,13 +63,13 @@
var testState = this.test.RegisterState;
var inputRegisters = testState.Registers;
this.CPU.AF.Word = inputRegisters[(int)RegisterState.Register.AF].Word;
this.CPU.BC.Word = inputRegisters[(int)RegisterState.Register.BC].Word;
this.CPU.DE.Word = inputRegisters[(int)RegisterState.Register.DE].Word;
this.CPU.HL.Word = inputRegisters[(int)RegisterState.Register.HL].Word;
this.CPU.AF.Word = inputRegisters[(int)Register.AF].Word;
this.CPU.BC.Word = inputRegisters[(int)Register.BC].Word;
this.CPU.DE.Word = inputRegisters[(int)Register.DE].Word;
this.CPU.HL.Word = inputRegisters[(int)Register.HL].Word;
this.CPU.SP.Word = inputRegisters[(int)RegisterState.Register.SP].Word;
this.CPU.PC.Word = inputRegisters[(int)RegisterState.Register.PC].Word;
this.CPU.SP.Word = inputRegisters[(int)Register.SP].Word;
this.CPU.PC.Word = inputRegisters[(int)Register.PC].Word;
}
private void InitialiseMemory()
@ -90,13 +95,13 @@
var expectedState = this.result.RegisterState;
var expectedRegisters = expectedState.Registers;
var af = this.CPU.AF.Word == expectedRegisters[(int)RegisterState.Register.AF].Word;
var bc = this.CPU.BC.Word == expectedRegisters[(int)RegisterState.Register.BC].Word;
var de = this.CPU.DE.Word == expectedRegisters[(int)RegisterState.Register.DE].Word;
var hl = this.CPU.HL.Word == expectedRegisters[(int)RegisterState.Register.HL].Word;
var af = this.CPU.AF.Word == expectedRegisters[(int)Register.AF].Word;
var bc = this.CPU.BC.Word == expectedRegisters[(int)Register.BC].Word;
var de = this.CPU.DE.Word == expectedRegisters[(int)Register.DE].Word;
var hl = this.CPU.HL.Word == expectedRegisters[(int)Register.HL].Word;
var sp = this.CPU.SP.Word == expectedRegisters[(int)RegisterState.Register.SP].Word;
var pc = this.CPU.PC.Word == expectedRegisters[(int)RegisterState.Register.PC].Word;
var sp = this.CPU.SP.Word == expectedRegisters[(int)Register.SP].Word;
var pc = this.CPU.PC.Word == expectedRegisters[(int)Register.PC].Word;
var success = af && bc && de && hl && sp && pc;
if (!success)
@ -106,42 +111,42 @@
if (!af)
{
var expectedWord = expectedRegisters[(int)RegisterState.Register.AF];
var expectedWord = expectedRegisters[(int)Register.AF];
var actualWord = this.CPU.AF;
DumpDifference("A", "F", expectedWord, actualWord);
}
if (!bc)
{
var expectedWord = expectedRegisters[(int)RegisterState.Register.BC];
var expectedWord = expectedRegisters[(int)Register.BC];
var actualWord = this.CPU.BC;
DumpDifference("B", "C", expectedWord, actualWord);
}
if (!de)
{
var expectedWord = expectedRegisters[(int)RegisterState.Register.DE];
var expectedWord = expectedRegisters[(int)Register.DE];
var actualWord = this.CPU.DE;
DumpDifference("D", "E", expectedWord, actualWord);
}
if (!hl)
{
var expectedWord = expectedRegisters[(int)RegisterState.Register.HL];
var expectedWord = expectedRegisters[(int)Register.HL];
var actualWord = this.CPU.HL;
DumpDifference("H", "L", expectedWord, actualWord);
}
if (!sp)
{
var expectedWord = expectedRegisters[(int)RegisterState.Register.SP];
var expectedWord = expectedRegisters[(int)Register.SP];
var actualWord = this.CPU.SP;
DumpDifference("SPH", "SPL", expectedWord, actualWord);
}
if (!pc)
{
var expectedWord = expectedRegisters[(int)RegisterState.Register.PC];
var expectedWord = expectedRegisters[(int)Register.PC];
var actualWord = this.CPU.PC;
DumpDifference("PCH", "PCL", expectedWord, actualWord);
}