mirror of https://github.com/mgba-emu/mgba.git
GBA: Error check to make sure ROM and BIOS mapping succeed
This commit is contained in:
parent
7edf934a59
commit
df3f2796f7
|
@ -425,6 +425,10 @@ void GBALoadROM(struct GBA* gba, struct VFile* vf, struct VFile* sav, const char
|
|||
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->pristineRom) {
|
||||
GBALog(gba, GBA_LOG_WARN, "Couldn't map ROM");
|
||||
return;
|
||||
}
|
||||
gba->memory.rom = gba->pristineRom;
|
||||
gba->activeFile = fname;
|
||||
gba->memory.romSize = gba->pristineRomSize;
|
||||
|
@ -437,7 +441,12 @@ void GBALoadROM(struct GBA* gba, struct VFile* vf, struct VFile* sav, const char
|
|||
|
||||
void GBALoadBIOS(struct GBA* gba, struct VFile* vf) {
|
||||
gba->biosVf = vf;
|
||||
gba->memory.bios = vf->map(vf, SIZE_BIOS, MAP_READ);
|
||||
uint32_t* bios = vf->map(vf, SIZE_BIOS, MAP_READ);
|
||||
if (!bios) {
|
||||
GBALog(gba, GBA_LOG_WARN, "Couldn't map BIOS");
|
||||
return;
|
||||
}
|
||||
gba->memory.bios = bios;
|
||||
gba->memory.fullBios = 1;
|
||||
uint32_t checksum = GBAChecksum(gba->memory.bios, SIZE_BIOS);
|
||||
GBALog(gba, GBA_LOG_DEBUG, "BIOS Checksum: 0x%X", checksum);
|
||||
|
|
Loading…
Reference in New Issue