diff --git a/src/gba/gba.c b/src/gba/gba.c index 78ffe1c76..541f1ac2f 100644 --- a/src/gba/gba.c +++ b/src/gba/gba.c @@ -424,7 +424,10 @@ void GBALoadROM(struct GBA* gba, struct VFile* vf, struct VFile* sav, const char gba->romVf = vf; gba->pristineRomSize = vf->seek(vf, 0, SEEK_END); vf->seek(vf, 0, SEEK_SET); - gba->pristineRom = vf->map(vf, SIZE_CART0, MAP_READ); + if (gba->pristineRomSize > SIZE_CART0) { + gba->pristineRomSize = SIZE_CART0; + } + gba->pristineRom = vf->map(vf, gba->pristineRomSize, MAP_READ); if (!gba->pristineRom) { GBALog(gba, GBA_LOG_WARN, "Couldn't map ROM"); return;