Пример #1
0
        static void Main(string[] args)
        {
            GameBoyDevice gb  = new GameBoyDevice();
            CPU           cpu = gb.Cpu;

            cpu.Registers.A = 15;
            cpu.Registers.B = 1;

            cpu.Registers.C = 0xF0;
            cpu.PrintRegisterAsBits();
            Console.WriteLine();

            cpu.Registers.C = cpu.Alu.Rlc(cpu.Registers.C);
            cpu.PrintRegisterAsBits();
            Console.WriteLine();

            Console.WriteLine();
            cpu.PrintRegister();

            cpu.MemController.Write(0, 2);
            cpu.Step();

            cpu.PrintRegister();

            Console.WriteLine();

            byte   x  = 128;
            sbyte  xx = (sbyte)x;
            ushort pc = 65535;
            ushort y  = (ushort)unchecked (pc + xx);

            Console.WriteLine("y = pc + x = {0} + {1} = {2}", pc, xx, y);

            Console.ReadLine();
        }
Пример #2
0
 public MemoryController(GameBoyDevice device)
 {
     _device = device;
 }
Пример #3
0
 public CPU(GameBoyDevice device)
 {
     Registers     = new Registers();
     MemController = new MemoryController(device);
     Alu           = new Alu(Registers);
 }