initial commit
This commit is contained in:
24
src/memory.c
Normal file
24
src/memory.c
Normal file
@@ -0,0 +1,24 @@
|
||||
#include "memory.h"
|
||||
|
||||
Memory* initMemory(uint32_t size) {
|
||||
Memory* newMemory = malloc(sizeof(Memory));
|
||||
if (!newMemory)
|
||||
return NULL;
|
||||
|
||||
newMemory->size = size;
|
||||
newMemory->data = calloc(size, sizeof(uint8_t));
|
||||
if (!newMemory->data) {
|
||||
free(newMemory);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return newMemory;
|
||||
}
|
||||
|
||||
inline uint16_t memoryLoadWord(Memory* m, uint32_t address) {
|
||||
return m->data[address];
|
||||
}
|
||||
|
||||
inline void memorySaveWord(Memory* m, uint32_t address, uint16_t value) {
|
||||
((uint16_t*)m->data)[address] = value;
|
||||
}
|
||||
Reference in New Issue
Block a user