From 6aebd4ac9808c189c25185af8fb245c6d282bad0 Mon Sep 17 00:00:00 2001
From: bunnei <ericbunnie@gmail.com>
Date: Tue, 24 Jun 2014 18:51:31 -0400
Subject: MemMap: Added a WriteBlock function to write a buffer of data to
 memory.

---
 src/core/mem_map_funcs.cpp | 12 ++++++++++++
 1 file changed, 12 insertions(+)

(limited to 'src/core/mem_map_funcs.cpp')

diff --git a/src/core/mem_map_funcs.cpp b/src/core/mem_map_funcs.cpp
index ab014a5965..37913119e2 100644
--- a/src/core/mem_map_funcs.cpp
+++ b/src/core/mem_map_funcs.cpp
@@ -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
-- 
cgit v1.2.3-70-g09d2