From 0e48860b694fcdacb87b588af2fc7a3b5397a2d0 Mon Sep 17 00:00:00 2001 From: Stevan Freeborn Date: Sat, 18 Jul 2026 15:16:39 -0500 Subject: [PATCH] fix(rom): display error message and free memory on rom load failure --- main.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/main.c b/main.c index 0cefc64..f793f3f 100644 --- a/main.c +++ b/main.c @@ -282,9 +282,15 @@ int main(int argc, char *argv[]) { int load_rom_result = load_rom(chip, argv[1]); - if (load_rom_result != 0) { - // TODO: Check for return value - // print helpful error message + if (load_rom_result != COMPLETED_SUCCESSFULLY) { + if (load_rom_result == FILE_MISSING) { + println("Error: The file '%s' could not be found or opened.", argv[1]); + } else if (load_rom_result == PROGRAM_TOO_LARGE) { + println("Error: The program is too large to fit in CHIP-8 memory."); + } else { + println("Error: Failed to load ROM (code %d).", load_rom_result); + } + free(chip); return load_rom_result; }