#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)); // zero out special regs newEmu->pc = 0; newEmu->sp = 0; newEmu->ihp = 0; // init memory newEmu->mem = initMemory(memorySize); if (!newEmu->mem) { free(newEmu); return NULL; } return newEmu; } void freeEmulator(Emulator* emu) { freeMemory(emu->mem); free(emu); }