diff --git a/src/smc.c b/src/smc.c index 8acbbd8..bbc3b3d 100644 --- a/src/smc.c +++ b/src/smc.c @@ -187,7 +187,12 @@ void smc_id(snes_romprops_t* props) { } } if(header->romsize == 0 || header->romsize > 13) { - header->romsize = 13; + props->romsize_bytes = 1024; + header->romsize = 0; + while(props->romsize_bytes < file_handle.fsize-1) { + header->romsize++; + props->romsize_bytes <<= 1; + } } props->ramsize_bytes = (uint32_t)1024 << header->ramsize; props->romsize_bytes = (uint32_t)1024 << header->romsize;