|
|
p = (char *)(memLUTW[mem >> 12]); | p = (char *)(memLUTW[mem >> 12]); |
if ((u32)p > 0x10) { | if ((u32)p > 0x10) { |
*(u8 *)(p + (mem & 0xfff)) = value; | *(u8 *)(p + (mem & 0xfff)) = value; |
|
#ifdef __i386__ |
if (!Config.Cpu) { | if (!Config.Cpu) { |
REC_CLEARM(mem&(~3)); | REC_CLEARM(mem&(~3)); |
// PSXREC_CLEARM(mem & 0x1ffffc); | // PSXREC_CLEARM(mem & 0x1ffffc); |
} | } |
|
#endif |
return; | return; |
} | } |
| |
|
|
p = (char *)(memLUTW[mem >> 12]); | p = (char *)(memLUTW[mem >> 12]); |
if ((u32)p > 0x10) { | if ((u32)p > 0x10) { |
*(u16*)(p + (mem & 0xfff)) = value; | *(u16*)(p + (mem & 0xfff)) = value; |
|
#ifdef __i386__ |
if (!Config.Cpu) { | if (!Config.Cpu) { |
REC_CLEARM(mem&(~1)); | REC_CLEARM(mem&(~1)); |
// PSXREC_CLEARM(mem & 0x1ffffe); | // PSXREC_CLEARM(mem & 0x1ffffe); |
} | } |
|
#endif |
return; | return; |
} | } |
| |
|
|
p = (char *)(memLUTW[mem >> 12]); | p = (char *)(memLUTW[mem >> 12]); |
if ((u32)p > 0x10) { | if ((u32)p > 0x10) { |
*(u32*)(p + (mem & 0xfff)) = value; | *(u32*)(p + (mem & 0xfff)) = value; |
|
#ifdef __i386__ |
if (!Config.Cpu) { | if (!Config.Cpu) { |
REC_CLEARM(mem); | REC_CLEARM(mem); |
// PSXREC_CLEARM(mem & 0x1fffff); | // PSXREC_CLEARM(mem & 0x1fffff); |
} | } |
|
#endif |
return; | return; |
} | } |
| |
|
|
: "=m"(*(u64*)(p + (mem & 0xfff))) : "m"(value) | : "=m"(*(u64*)(p + (mem & 0xfff))) : "m"(value) |
);*/ | );*/ |
*(u64*)(p + (mem & 0xfff)) = value; | *(u64*)(p + (mem & 0xfff)) = value; |
|
#ifdef __i386__ |
if (!Config.Cpu) { | if (!Config.Cpu) { |
REC_CLEARM(mem); | REC_CLEARM(mem); |
REC_CLEARM(mem+4); | REC_CLEARM(mem+4); |
/* PSXREC_CLEARM((mem) & 0x1fffff); | /* PSXREC_CLEARM((mem) & 0x1fffff); |
PSXREC_CLEARM((mem+4) & 0x1fffff);*/ | PSXREC_CLEARM((mem+4) & 0x1fffff);*/ |
} | } |
|
#endif |
return; | return; |
} | } |
| |
|
|
p+= mem & 0xfff; | p+= mem & 0xfff; |
((u64*)p)[0] = value[0]; | ((u64*)p)[0] = value[0]; |
((u64*)p)[1] = value[1]; | ((u64*)p)[1] = value[1]; |
|
#ifdef __i386__ |
if (!Config.Cpu) { | if (!Config.Cpu) { |
REC_CLEARM(mem); | REC_CLEARM(mem); |
REC_CLEARM(mem+4); | REC_CLEARM(mem+4); |
|
|
PSXREC_CLEARM((mem+8) & 0x1fffff); | PSXREC_CLEARM((mem+8) & 0x1fffff); |
PSXREC_CLEARM((mem+12) & 0x1fffff);*/ | PSXREC_CLEARM((mem+12) & 0x1fffff);*/ |
} | } |
|
#endif |
return; | return; |
} | } |
| |