u32 R3000DebugInterface::read16(u32 address) { if (!isValidAddress(address)) return -1; return iopMemRead16(address); }
void _ApplyPatch(IniPatch *p) { if (p->enabled == 0) return; switch (p->cpu) { case CPU_EE: switch (p->type) { case BYTE_T: if (memRead8(p->addr) != (u8)p->data) memWrite8(p->addr, (u8)p->data); break; case SHORT_T: if (memRead16(p->addr) != (u16)p->data) memWrite16(p->addr, (u16)p->data); break; case WORD_T: if (memRead32(p->addr) != (u32)p->data) memWrite32(p->addr, (u32)p->data); break; case DOUBLE_T: u64 mem; memRead64(p->addr, &mem); if (mem != p->data) memWrite64(p->addr, &p->data); break; case EXTENDED_T: handle_extended_t(p); break; default: break; } break; case CPU_IOP: switch (p->type) { case BYTE_T: if (iopMemRead8(p->addr) != (u8)p->data) iopMemWrite8(p->addr, (u8)p->data); break; case SHORT_T: if (iopMemRead16(p->addr) != (u16)p->data) iopMemWrite16(p->addr, (u16)p->data); break; case WORD_T: if (iopMemRead32(p->addr) != (u32)p->data) iopMemWrite32(p->addr, (u32)p->data); break; default: break; } break; default: break; } }