mirror of
https://github.com/Lime3DS/Lime3DS
synced 2024-11-01 04:37:52 +00:00
MemMap: Added a WriteBlock function to write a buffer of data to memory.
This commit is contained in:
parent
cedc28dcc6
commit
6aebd4ac98
2 changed files with 14 additions and 0 deletions
|
@ -139,6 +139,8 @@ void Write8(const u32 addr, const u8 data);
|
|||
void Write16(const u32 addr, const u16 data);
|
||||
void Write32(const u32 addr, const u32 data);
|
||||
|
||||
void WriteBlock(const u32 addr, const u8* data, const int size);
|
||||
|
||||
u8* GetPointer(const u32 Address);
|
||||
|
||||
/**
|
||||
|
|
|
@ -293,4 +293,16 @@ void Write64(const u32 addr, const u64 data) {
|
|||
_Write<u64_le>(addr, data);
|
||||
}
|
||||
|
||||
void WriteBlock(const u32 addr, const u8* data, const int size) {
|
||||
int offset = 0;
|
||||
while (offset < (size & ~3))
|
||||
Write32(addr + offset, *(u32*)&data[offset += 4]);
|
||||
|
||||
if (size & 2)
|
||||
Write16(addr + offset, *(u16*)&data[offset += 2]);
|
||||
|
||||
if (size & 1)
|
||||
Write8(addr + offset, data[offset]);
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
|
Loading…
Reference in a new issue