Various pointer changes

This commit is contained in:
SimoneN64
2024-07-03 21:11:03 +02:00
parent 15838db5b6
commit d90e26ac0c
13 changed files with 144 additions and 150 deletions

View File

@@ -337,6 +337,11 @@ template<> void Mem::Write<u8>(Registers& regs, u32 paddr, u32 val) {
const auto pointer = writePages[page];
SI& si = mmio.si;
if(paddr == 0x0023e650) {
//DumpRDRAM();
//fmt::print("PC is 0x{:016X}: Writing 0x{:02X} -> 0x{:08X}\n", (u64)regs.oldPC, (u8)val, paddr);
}
if(pointer) {
((u8*)pointer)[BYTE_ADDRESS(offset)] = val;
} else {
@@ -382,6 +387,11 @@ template<> void Mem::Write<u16>(Registers& regs, u32 paddr, u32 val) {
const auto pointer = writePages[page];
SI& si = mmio.si;
if(paddr == 0x0023e650) {
//DumpRDRAM();
//fmt::print("PC is 0x{:016X}: Writing 0x{:04X} -> 0x{:08X}\n", (u64) regs.oldPC, (u16) val, paddr);
}
if(pointer) {
Util::WriteAccess<u16>((u8*)pointer, HALF_ADDRESS(offset), val);
} else {
@@ -427,6 +437,11 @@ template<> void Mem::Write<u32>(Registers& regs, u32 paddr, u32 val) {
const auto pointer = writePages[page];
SI& si = mmio.si;
if(paddr == 0x0023e650) {
//DumpRDRAM();
//fmt::print("PC is 0x{:016X}: Writing 0x{:08X} -> 0x{:08X}\n", (u64) regs.oldPC, val, paddr);
}
if(pointer) {
Util::WriteAccess<u32>((u8*)pointer, offset, val);
} else {
@@ -466,6 +481,11 @@ void Mem::Write(Registers& regs, u32 paddr, u64 val) {
const auto pointer = writePages[page];
SI& si = mmio.si;
if(paddr == 0x0023e650) {
//DumpRDRAM();
//fmt::print("PC is 0x{:016X}: Writing 0x{:016X} -> 0x{:08X}\n", (u64) regs.oldPC, val, paddr);
}
if(pointer) {
Util::WriteAccess<u64>((u8*)pointer, offset, val);
} else {