Beispiel #1
0
bool VirtualMemoryBlock::Read128(const u64 addr, u128* value)
{
	u64 realAddr;
	if(!getRealAddr(addr, realAddr))
		return false;
	*value = Memory.Read128(realAddr);
	return true;
}
Beispiel #2
0
bool VirtualMemoryBlock::Write128(const u64 addr, const u128 value)
{
	u64 realAddr;
	if(!getRealAddr(addr, realAddr))
		return false;
	Memory.Write128(realAddr, value);
	return true;
}
Beispiel #3
0
bool VirtualMemoryBlock::Read32(const u64 addr, u32* value)
{
	u64 realAddr = getRealAddr(addr);
	if (realAddr == 0)
		return false;
	*value = Memory.Read32(realAddr);
	return true;
}
Beispiel #4
0
bool VirtualMemoryBlock::Write32(const u32 addr, const u32 value)
{
	u32 realAddr;
	if (!getRealAddr(addr, realAddr))
		return false;
	vm::ps3::write32(realAddr, value);
	return true;
}
Beispiel #5
0
bool VirtualMemoryBlock::Read32(const u32 addr, u32* value)
{
	u32 realAddr;
	if (!getRealAddr(addr, realAddr))
		return false;
	*value = vm::ps3::read32(realAddr);
	return true;
}
Beispiel #6
0
void MemBufferEntry::initializeData(MemOpsType::iterator mit)
{
  mit--; // skip itself

  MemBufferEntry *prevEntry = *mit;
  if (prevEntry->getChunkIndex() == getChunkIndex()) {
    // Copy from previous version
    I(prevEntry!=this);
    I(*(prevEntry->getVersionRef()) < *ver);
    initializeData(prevEntry);
  }else{
    // Copy from memory
    chunkCopy(getAddr(), getRealAddr(), chunkDataMask);
  }
}
Beispiel #7
0
bool VirtualMemoryBlock::Write128(const u64 addr, const u128 value)
{
	u64 realAddr;
	Memory.Write128(realAddr = getRealAddr(addr), value);
	return realAddr != 0;
}
Beispiel #8
0
bool VirtualMemoryBlock::Read128(const u64 addr, u128* value)
{
	u64 realAddr;
	*value = Memory.Read128(realAddr = getRealAddr(addr));
	return realAddr != 0;
}