Files
MCEmuCore/MCEmuCore.GBMonolith/Program.cs
2019-02-07 15:56:39 -07:00

61 lines
2.1 KiB
C#

using System;
namespace MCEmuCore.GBMonolith
{
class Program
{
static void Main(string[] args)
{
TestRegisters();
}
static void TestRegisters()
{
CpuRegisters cpuRegisters = new CpuRegisters(true);
Console.WriteLine("Initializing registers:");
Console.WriteLine("A:\t1\tF:\t16");
Console.WriteLine("B:\t2\tC:\t100");
Console.WriteLine("D:\t3\tE:\t150");
Console.WriteLine("H:\t4\tL:\t200\r\n");
cpuRegisters.A += 1;
cpuRegisters.B += 2;
cpuRegisters.D += 3;
cpuRegisters.H += 4;
cpuRegisters.F += 16;
cpuRegisters.C += 100;
cpuRegisters.E += 150;
cpuRegisters.L += 200;
cpuRegisters.PrintSingleStatus();
Console.WriteLine("Expected Wide Register status:");
Console.WriteLine("BC:\t612");
Console.WriteLine("DE:\t918");
Console.WriteLine("HL:\t1224\r\n");
Console.Write("Actual ");
cpuRegisters.PrintWideStatus();
Console.WriteLine("\r\nSetting wide values:");
Console.WriteLine("BC:\t26214");
Console.WriteLine("DE:\t22016");
Console.WriteLine("HL:\t153\r\n");
cpuRegisters.BC = 26214;
cpuRegisters.DE = 22016;
cpuRegisters.HL = 153;
cpuRegisters.PrintWideStatus();
Console.WriteLine("\r\nExpected Register status:");
Console.WriteLine("A:\t1\tF:\t16");
Console.WriteLine("B:\t102\tC:\t102");
Console.WriteLine("D:\t86\tE:\t0");
Console.WriteLine("H:\t0\tL:\t153\r\n");
Console.Write("Actual ");
cpuRegisters.PrintSingleStatus();
Console.WriteLine("Testing Flags:");
cpuRegisters.PrintFlags();
cpuRegisters.Flags.Zero = true;
cpuRegisters.Flags.Subtract = true;
cpuRegisters.Flags.HalfCarry = true;
cpuRegisters.Flags.Carry = false;
cpuRegisters.PrintFlags();
Console.ReadLine();
}
}
}