Fix 64 bit writes to counters registers, which would corrupt memory (used mostly only by homebrews, since technically the counters are 32 bit regs only, and aren't *supposed* to be accessed via 64 bit writes).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2684 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
Jake.Stine 2010-03-08 13:24:08 +00:00
parent 857cf72862
commit 7a78926437
1 changed files with 2 additions and 2 deletions

View File

@ -1041,14 +1041,14 @@ void __fastcall hwWrite32_generic( u32 mem, u32 value )
void __fastcall hwWrite64_page_00( u32 mem, const mem64_t* srcval ) void __fastcall hwWrite64_page_00( u32 mem, const mem64_t* srcval )
{ {
hwWrite32_page_00( mem, (u32)*srcval ); // just ignore upper 32 bits. hwWrite32_page_00( mem, (u32)*srcval ); // just ignore upper 32 bits.
*((u64*)&PS2MEM_HW[mem]) = *srcval; psHu64(mem) = *srcval;
} }
// Page 1 of HW memory houses registers for Counters 2 and 3 // Page 1 of HW memory houses registers for Counters 2 and 3
void __fastcall hwWrite64_page_01( u32 mem, const mem64_t* srcval ) void __fastcall hwWrite64_page_01( u32 mem, const mem64_t* srcval )
{ {
hwWrite32_page_01( mem, (u32)*srcval ); // just ignore upper 32 bits. hwWrite32_page_01( mem, (u32)*srcval ); // just ignore upper 32 bits.
*((u64*)&PS2MEM_HW[mem]) = *srcval; psHu64(mem) = *srcval;
} }
void __fastcall hwWrite64_page_02( u32 mem, const mem64_t* srcval ) void __fastcall hwWrite64_page_02( u32 mem, const mem64_t* srcval )