vgbc/tests/test_memory_register.cpp

26 lines
466 B
C++
Raw Normal View History

2023-08-30 22:17:17 +02:00
#include "doctest.h"
#include <cpu/cpu.h>
#include <memory/bus.h>
#include <memory/ram.h>
#include <memory/register.h>
TEST_CASE("IE controllable via bus")
{
u8 test_ram[] = {
0x3E, 0xFF, // LD A, $0xFF
0xE0, 0xFF, // LDH [FF:FF], A
};
Bus b;
Cpu cpu(&b);
b.map_device(0x0000, 0x0004, new RAM(test_ram, 0x4, true));
b.map_device(0xFFFF, 0xFFFF, new BoundRegister(cpu.state.IE));
cpu.step();
cpu.step();
CHECK(cpu.state.IE == 0xFF);
}