blob: dd184d94a1e5e387f86fa8db9d0bbe82468c2b8a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
#include "ultra64.h"
#include "memory_utils.h"
/**
* Copy `size` bytes from `src` to `dest`.
* The memory regions must not overlap.
*/
void* MemCopy(void* dest, void* src, s32 size) {
u8* destu = (u8*)dest;
u8* srcu = (u8*)src;
while (size > 0) {
*destu++ = *srcu++;
size--;
}
return dest;
}
/**
* Set `size` bytes starting at `dest` to value `val`.
*/
void* MemSet(void* dest, s32 val, s32 size) {
u8* destu = (u8*)dest;
s32 s = size;
while (s > 0) {
*destu++ = val;
s--;
}
return dest;
}
|