From d45fbf8d2e1adcb35043dfc9e06eae3ccfdf596e Mon Sep 17 00:00:00 2001 From: Peter Fors Date: Mon, 7 Apr 2025 19:47:27 +0200 Subject: cleanup and optimization tests, unfortunately nothing great. --- mknes.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'mknes.c') diff --git a/mknes.c b/mknes.c index 255b123..ea735f6 100644 --- a/mknes.c +++ b/mknes.c @@ -75,7 +75,7 @@ static GLFWwindow *window; #define DEBUG_PRINT printf #include "timer.c" -#include "audio.c" +// #include "audio.c" #include "opengl_loader.c" #include "opengl.c" @@ -117,7 +117,7 @@ static struct nes_state *allocate_nes_state(void) { memset(m, 0, total_size); size_t offset = 0; - state->prg_rom = m + offset; offset += PRG_ROM_SIZE; + state->prg_rom = m + offset; offset += PRG_ROM_SIZE; // DO NOT MOVE THIS, as this is the pointer we free later. state->chr_rom = m + offset; offset += CHR_ROM_SIZE; state->pixels = m + offset; offset += PIXELS_SIZE; state->ram = m + offset; offset += RAM_SIZE; @@ -127,6 +127,10 @@ static struct nes_state *allocate_nes_state(void) { return state; } +static void free_nes_state(struct nes_state *s) { + free(s->prg_rom); + free(s); +} int main(int argc, char **argv) { #ifdef _WIN32 @@ -135,7 +139,6 @@ int main(int argc, char **argv) { state.toggle_crt_emulation = 1; struct nes_state *nstate = allocate_nes_state(); - // ppu_generate_full_timeline(); setbuf(stdout, 0); init_opcode_lut(); @@ -274,7 +277,7 @@ printf("total frames: %6.6d total cycles: %ld\n", frames, nstate->cycles); fprintf(stderr, "Failed to initialize GLFW\n"); } timer_destroy(timer); - + free_nes_state(nstate); #ifdef _WIN32 timeEndPeriod(1); #endif -- cgit v1.2.3