oops, duplicated registers and mem member objects

This commit is contained in:
SimoneN64
2023-07-25 09:48:45 +02:00
parent 44c3a6f155
commit a809a76b28
2 changed files with 5 additions and 7 deletions

View File

@@ -10,8 +10,6 @@ struct Interpreter : BaseCPU {
~Interpreter() override = default; ~Interpreter() override = default;
int Step() override; int Step() override;
void Reset() override; void Reset() override;
Registers regs;
Mem mem;
private: private:
u64 cop2Latch{}; u64 cop2Latch{};
friend struct Cop1; friend struct Cop1;

View File

@@ -187,13 +187,13 @@ u8 Mem::Read8(n64::Registers &regs, u32 paddr) {
case RDRAM_REGION: case RDRAM_REGION:
return mmio.rdp.rdram[BYTE_ADDRESS(paddr)]; return mmio.rdp.rdram[BYTE_ADDRESS(paddr)];
case DMEM_REGION: case DMEM_REGION:
return mmio.rsp.dmem[BYTE_ADDRESS(paddr) - DMEM_REGION_START]; return mmio.rsp.dmem[BYTE_ADDRESS(paddr) - DMEM_REGION_START];
case IMEM_REGION: case IMEM_REGION:
return mmio.rsp.imem[BYTE_ADDRESS(paddr) - IMEM_REGION_START]; return mmio.rsp.imem[BYTE_ADDRESS(paddr) - IMEM_REGION_START];
case 0x04040000 ... 0x040FFFFF: case 0x04040000 ... 0x040FFFFF:
case 0x04100000 ... 0x041FFFFF: case 0x04100000 ... 0x041FFFFF:
case 0x04600000 ... 0x048FFFFF: case 0x04600000 ... 0x048FFFFF:
case 0x04300000 ... 0x044FFFFF: case 0x04300000 ... 0x044FFFFF:
Util::panic("MMIO Read8!\n"); Util::panic("MMIO Read8!\n");
case AI_REGION: { case AI_REGION: {
u32 w = mmio.ai.Read(paddr & ~3); u32 w = mmio.ai.Read(paddr & ~3);
@@ -288,9 +288,9 @@ u32 Mem::Read32(n64::Registers &regs, u32 paddr) {
case RDRAM_REGION: case RDRAM_REGION:
return Util::ReadAccess<u32>(mmio.rdp.rdram, paddr); return Util::ReadAccess<u32>(mmio.rdp.rdram, paddr);
case DMEM_REGION: case DMEM_REGION:
return Util::ReadAccess<u32>(mmio.rsp.dmem, paddr & DMEM_DSIZE); return Util::ReadAccess<u32>(mmio.rsp.dmem, paddr & DMEM_DSIZE);
case IMEM_REGION: case IMEM_REGION:
return Util::ReadAccess<u32>(mmio.rsp.imem, paddr & IMEM_DSIZE); return Util::ReadAccess<u32>(mmio.rsp.imem, paddr & IMEM_DSIZE);
case MMIO_REGION: case MMIO_REGION:
return mmio.Read(paddr); return mmio.Read(paddr);
case CART_REGION_1_2: case CART_REGION_1_2: