From 9f1c30e5869f5c85d0730809039c58140365b32b Mon Sep 17 00:00:00 2001 From: Ben Kurtovic Date: Tue, 28 Apr 2015 18:09:06 -0500 Subject: [PATCH] Disallow SMS ROMs for now. --- src/assembler/tokenizer.c | 3 ++- src/rom.c | 6 ++++++ src/rom.h | 1 + 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/assembler/tokenizer.c b/src/assembler/tokenizer.c index c576ab7..e21995b 100644 --- a/src/assembler/tokenizer.c +++ b/src/assembler/tokenizer.c @@ -154,8 +154,9 @@ static ErrorInfo* handle_block_directive( static ErrorInfo* parse_data( const ASMLine *line, ASMData **data_ptr, size_t offset) { - parser_func parser = (parser_func) parse_string; const char *directive; + parser_func parser = (parser_func) parse_string; + if (IS_DIRECTIVE(line, DIR_BYTE)) { directive = DIR_BYTE; parser = parse_bytes; diff --git a/src/rom.c b/src/rom.c index ab62350..90a2b30 100644 --- a/src/rom.c +++ b/src/rom.c @@ -213,6 +213,12 @@ const char* rom_open(ROM **rom_ptr, const char *path) return rom_err_badheader; } + if (rom->region_code == 3 || rom->region_code == 4) { + // TODO: support SMS ROMs eventually? + rom_close(rom); + return rom_err_sms; + } + *rom_ptr = rom; return NULL; } diff --git a/src/rom.h b/src/rom.h index d5a1c33..253b040 100644 --- a/src/rom.h +++ b/src/rom.h @@ -23,6 +23,7 @@ static const char* rom_err_notfile = "Is not a regular file"; static const char* rom_err_badsize = "Invalid size"; static const char* rom_err_badread = "Couldn't read the entire file"; static const char* rom_err_badheader = "Invalid header"; +static const char* rom_err_sms = "Master System ROMs are not supported"; /* Structs */