Files
MyLittleCPU/src/emu.c

29 lines
555 B
C
Raw Normal View History

2026-07-15 15:02:54 +10:00
#include "emu.h"
Emulator* initEmulator(uint32_t memorySize) {
Emulator* newEmu = malloc(sizeof(Emulator));
if (!newEmu)
return NULL;
// zero out registers
memset(newEmu->regs, 0, sizeof(newEmu->regs));
2026-07-15 15:54:51 +10:00
// zero out special regs
newEmu->pc = 0;
newEmu->sp = 0;
newEmu->ihp = 0;
2026-07-15 15:02:54 +10:00
// init memory
newEmu->mem = initMemory(memorySize);
if (!newEmu->mem) {
free(newEmu);
return NULL;
}
return newEmu;
2026-07-15 15:54:51 +10:00
}
void freeEmulator(Emulator* emu) {
freeMemory(emu->mem);
free(emu);
2026-07-15 15:02:54 +10:00
}