2013-06-30 10:46:29 +02:00
|
|
|
#include "stdafx.h"
|
2014-06-02 19:27:24 +02:00
|
|
|
#include "Emu/Memory/Memory.h"
|
2013-06-30 10:46:29 +02:00
|
|
|
#include "vfsStreamMemory.h"
|
|
|
|
|
|
2015-04-19 15:19:24 +02:00
|
|
|
u64 vfsStreamMemory::Write(const void* src, u64 count)
|
2013-06-30 10:46:29 +02:00
|
|
|
{
|
2015-04-19 15:19:24 +02:00
|
|
|
assert(m_pos < m_size);
|
|
|
|
|
if (m_pos + count > m_size)
|
2013-10-06 14:07:42 +02:00
|
|
|
{
|
2015-04-19 15:19:24 +02:00
|
|
|
count = m_size - m_pos;
|
2013-10-06 14:07:42 +02:00
|
|
|
}
|
|
|
|
|
|
2015-07-03 01:11:44 +02:00
|
|
|
memcpy(vm::get_ptr<void>(VM_CAST(m_addr + m_pos)), src, count);
|
2015-04-19 15:19:24 +02:00
|
|
|
m_pos += count;
|
|
|
|
|
return count;
|
2013-06-30 10:46:29 +02:00
|
|
|
}
|
|
|
|
|
|
2015-04-19 15:19:24 +02:00
|
|
|
u64 vfsStreamMemory::Read(void* dst, u64 count)
|
2013-06-30 10:46:29 +02:00
|
|
|
{
|
2015-04-19 15:19:24 +02:00
|
|
|
assert(m_pos < m_size);
|
|
|
|
|
if (m_pos + count > m_size)
|
2013-10-06 14:07:42 +02:00
|
|
|
{
|
2015-04-19 15:19:24 +02:00
|
|
|
count = m_size - m_pos;
|
2013-10-06 14:07:42 +02:00
|
|
|
}
|
|
|
|
|
|
2015-07-03 01:11:44 +02:00
|
|
|
memcpy(dst, vm::get_ptr<void>(VM_CAST(m_addr + m_pos)), count);
|
2015-04-19 15:19:24 +02:00
|
|
|
m_pos += count;
|
|
|
|
|
return count;
|
2013-06-30 10:46:29 +02:00
|
|
|
}
|