Update rom and sram init

This commit is contained in:
scawful
2024-04-22 19:29:08 -04:00
parent 1bee044aaf
commit a2e9813ed6
2 changed files with 17 additions and 30 deletions

View File

@@ -23,19 +23,16 @@ void MemoryImpl::Initialize(const std::vector<uint8_t>& romData, bool verbose) {
rom_.resize(romSize);
// Copy memory into rom_
std::copy(romData.begin() + kROMStart, romData.begin() + kROMStart + kROMSize,
rom_.begin());
memory_.resize(0x1000000); // 16 MB
const size_t ROM_CHUNK_SIZE = 0x8000; // 32 KB
std::copy(romData.begin(), romData.begin() + romSize, rom_.begin());
// Clear memory
memory_.resize(0x1000000); // 16 MB
std::fill(memory_.begin(), memory_.end(), 0);
// Load ROM data into memory based on LoROM mapping
size_t romSize = romData.size();
size_t romAddress = 0;
const size_t ROM_CHUNK_SIZE = 0x8000; // 32 KB
for (size_t bank = 0x00; bank <= 0x3F; ++bank) {
for (size_t offset = 0x8000; offset <= 0xFFFF; offset += ROM_CHUNK_SIZE) {
if (romAddress < romSize) {
@@ -46,16 +43,6 @@ void MemoryImpl::Initialize(const std::vector<uint8_t>& romData, bool verbose) {
}
}
}
// Copy data into rom_ vector
rom_.resize(kROMSize);
std::copy(memory_.begin() + kROMStart, memory_.begin() + kROMStart + kROMSize,
rom_.begin());
// Copy data into ram_ vector
ram_.resize(kRAMSize);
std::copy(memory_.begin() + kRAMStart, memory_.begin() + kRAMStart + kRAMSize,
ram_.begin());
}
memory::RomInfo MemoryImpl::ReadRomHeader() {