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; }
////////////////////////////////////////////////////////////////////////////////////////// // Patch-throughs for plugin API calls. We can't reference the plugins directly for // two reasons: // a) they're dynamic pointers, and our table is const (for now). // b) we need the fastcall API for our memory operations. // // I may change this around some in the future if we redesign an API utilizing __fastcall. // static u8 __fastcall _dev9_Read8( u32 addr ) { return DEV9read8( addr ); }