mem16_t __fastcall _ext_memRead16(u32 mem) { switch (p) { case 1: // hwm return hwRead16(mem); case 2: // psh return psxHwRead16(mem); case 4: // b80 MEM_LOG("b800000 Memory read16 address %x\n", mem); return 0; case 5: // ba0 return ba0R16(mem); case 6: // gsm return gsRead16(mem); case 7: // dev9 { mem16_t retval = DEV9read16(mem & ~0xa4000000); SysPrintf("DEV9 read16 %8.8lx: %4.4lx\n", mem & ~0xa4000000, retval); return retval; } case 8: // spu2 return SPU2read(mem); } MEM_LOG("Unknown Memory read16 from address %8.8x\n", mem); cpuTlbMissR(mem, cpuRegs.branch); return 0; }
static mem16_t __fastcall _ext_memRead16(u32 mem) { switch (p) { case 4: // b80 MEM_LOG("b800000 Memory read16 address %x", mem); return 0; case 5: // ba0 return ba0R16(mem); case 6: // gsm return gsRead16(mem); case 7: // dev9 { mem16_t retval = DEV9read16(mem & ~0xa4000000); Console.WriteLn("DEV9 read16 %8.8lx: %4.4lx", mem & ~0xa4000000, retval); return retval; } case 8: // spu2 return SPU2read(mem); } MEM_LOG("Unknown Memory read16 from address %8.8x", mem); cpuTlbMissR(mem, cpuRegs.branch); return 0; }
void __fastcall _ext_memRead64(u32 mem, mem64_t *out) { switch (p) { case 6: // gsm *out = gsRead64(mem); return; } MEM_LOG("Unknown Memory read64 from address %8.8x\n", mem); cpuTlbMissR(mem, cpuRegs.branch); }
void __fastcall _ext_memRead128(u32 mem, mem128_t *out) { switch (p) { //case 1: // hwm // hwRead128(mem & ~0xa0000000, out); return; case 6: // gsm out[0] = gsRead64(mem ); out[1] = gsRead64(mem+8); return; } MEM_LOG("Unknown Memory read128 from address %8.8x\n", mem); cpuTlbMissR(mem, cpuRegs.branch); }
static void __fastcall _ext_memRead128(u32 mem, mem128_t *out) { switch (p) { //case 1: // hwm // hwRead128(mem & ~0xa0000000, out); return; case 6: // gsm CopyQWC(out,PS2GS_BASE(mem)); return; } MEM_LOG("Unknown Memory read128 from address %8.8x", mem); cpuTlbMissR(mem, cpuRegs.branch); }
static mem32_t __fastcall _ext_memRead32(u32 mem) { switch (p) { case 6: // gsm return gsRead32(mem); case 7: // dev9 { mem32_t retval = DEV9read32(mem & ~0xa4000000); Console.WriteLn("DEV9 read32 %8.8lx: %8.8lx", mem & ~0xa4000000, retval); return retval; } } MEM_LOG("Unknown Memory read32 from address %8.8x (Status=%8.8x)", mem, cpuRegs.CP0.n.Status.val); cpuTlbMissR(mem, cpuRegs.branch); return 0; }
mem32_t __fastcall _ext_memRead32(u32 mem) { switch (p) { case 2: // psh return psxHwRead32(mem); case 6: // gsm return gsRead32(mem); case 7: // dev9 { mem32_t retval = DEV9read32(mem & ~0xa4000000); SysPrintf("DEV9 read32 %8.8lx: %8.8lx\n", mem & ~0xa4000000, retval); return retval; } } MEM_LOG("Unknown Memory read32 from address %8.8x (Status=%8.8x)\n", mem, cpuRegs.CP0.n.Status.val); cpuTlbMissR(mem, cpuRegs.branch); return 0; }
static mem8_t __fastcall _ext_memRead8 (u32 mem) { switch (p) { case 3: // psh4 return psxHw4Read8(mem); case 6: // gsm return gsRead8(mem); case 7: // dev9 { mem8_t retval = DEV9read8(mem & ~0xa4000000); Console.WriteLn("DEV9 read8 %8.8lx: %2.2lx", mem & ~0xa4000000, retval); return retval; } } MEM_LOG("Unknown Memory Read8 from address %8.8x", mem); cpuTlbMissR(mem, cpuRegs.branch); return 0; }
mem8_t __fastcall _ext_memRead8 (u32 mem) { switch (p) { case 1: // hwm return hwRead8(mem); case 2: // psh return psxHwRead8(mem); case 3: // psh4 return psxHw4Read8(mem); case 6: // gsm return gsRead8(mem); case 7: // dev9 { mem8_t retval = DEV9read8(mem & ~0xa4000000); SysPrintf("DEV9 read8 %8.8lx: %2.2lx\n", mem & ~0xa4000000, retval); return retval; } } MEM_LOG("Unknown Memory Read8 from address %8.8x\n", mem); cpuTlbMissR(mem, cpuRegs.branch); return 0; }