- Fix for the freeze on "New Super Mario Bros" minigames, reported by NHerv� After investigating, I found that the whole ROM header wasn't copied to Main RAM as it's meant to be. This fixes "New Super Mario Bros" minigames, and probably others.
This commit is contained in:
parent
4adc063c7d
commit
5aa777c461
|
@ -487,23 +487,12 @@ void NDS_Reset( void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MMU_write32(0, 0x027FFE40, header->FNameTblOff);
|
// Copy the whole header to Main RAM 0x27FFE00 on startup.
|
||||||
MMU_write32(0, 0x027FFE44, header->FNameTblSize);
|
// Reference: http://nocash.emubase.de/gbatek.htm#dscartridgeheader
|
||||||
MMU_write32(0, 0x027FFE48, header->FATOff);
|
for (i = 0; i < ((0x170+0x90)/4); i++)
|
||||||
MMU_write32(0, 0x027FFE4C, header->FATSize);
|
{
|
||||||
|
MMU_write32 (0, 0x027FFE00+i*4, ((u32*)MMU.CART_ROM)[i]);
|
||||||
MMU_write32(0, 0x027FFE50, header->ARM9OverlayOff);
|
}
|
||||||
MMU_write32(0, 0x027FFE54, header->ARM9OverlaySize);
|
|
||||||
MMU_write32(0, 0x027FFE58, header->ARM7OverlayOff);
|
|
||||||
MMU_write32(0, 0x027FFE5C, header->ARM7OverlaySize);
|
|
||||||
|
|
||||||
MMU_write32(0, 0x027FFE60, header->unknown2a);
|
|
||||||
MMU_write32(0, 0x027FFE64, header->unknown2b); //merci <20>EACKiX
|
|
||||||
|
|
||||||
MMU_write32(0, 0x027FFE70, header->ARM9unk);
|
|
||||||
MMU_write32(0, 0x027FFE74, header->ARM7unk);
|
|
||||||
|
|
||||||
MMU_write32(0, 0x027FFF9C, 0x027FFF90); // ?????? besoin d'avoir la vrai valeur sur ds
|
|
||||||
|
|
||||||
MainScreen.offset = 0;
|
MainScreen.offset = 0;
|
||||||
SubScreen.offset = 192;
|
SubScreen.offset = 192;
|
||||||
|
|
Loading…
Reference in New Issue