vgbc/memory/ram.cpp

22 lines
457 B
C++
Raw Normal View History

2023-08-29 23:11:31 +02:00
#include <memory/ram.h>
2023-08-29 13:44:29 +02:00
#include <cstring>
2023-08-26 19:04:02 +02:00
RAM::RAM(u16 size) : size(size), readonly(false) {
memory = new u8[size];
2023-08-29 13:44:29 +02:00
std::memset(memory, 0, sizeof(u8) * size);
2023-08-26 19:04:02 +02:00
}
2023-08-26 21:17:47 +02:00
RAM::RAM(u8* memory, u16 size, bool readonly)
2023-08-26 19:04:02 +02:00
: memory(memory), size(size), readonly(readonly)
{}
void RAM::write8(u16 addr, u8 data) {
if(addr >= size || readonly) return;
memory[addr] = data;
}
u8 RAM::read8(u16 addr) {
if (addr >= size) return 0xFFu;
return memory[addr];
}