- added copying logo data from ROM header into ARM9 BIOS memory area when not using the external BIOS;
This commit is contained in:
mtabachenko 2013-11-22 21:40:36 +00:00
parent e52511502e
commit 3a88139f99
2 changed files with 3 additions and 16 deletions

View File

@ -1997,24 +1997,11 @@ static void PrepareBiosARM9()
T1WriteLong(MMU.ARM9_BIOS, 0x0018, 0xEA000095); // Normal IRQ -> 0x0274 T1WriteLong(MMU.ARM9_BIOS, 0x0018, 0xEA000095); // Normal IRQ -> 0x0274
T1WriteLong(MMU.ARM9_BIOS, 0x001C, 0xEA00009D); // Fast IRQ -> 0x0298 T1WriteLong(MMU.ARM9_BIOS, 0x001C, 0xEA00009D); // Fast IRQ -> 0x0298
static const u8 logo_data[156] = {
0x24,0xFF,0xAE,0x51,0x69,0x9A,0xA2,0x21,0x3D,0x84,0x82,0x0A,0x84,0xE4,0x09,0xAD,
0x11,0x24,0x8B,0x98,0xC0,0x81,0x7F,0x21,0xA3,0x52,0xBE,0x19,0x93,0x09,0xCE,0x20,
0x10,0x46,0x4A,0x4A,0xF8,0x27,0x31,0xEC,0x58,0xC7,0xE8,0x33,0x82,0xE3,0xCE,0xBF,
0x85,0xF4,0xDF,0x94,0xCE,0x4B,0x09,0xC1,0x94,0x56,0x8A,0xC0,0x13,0x72,0xA7,0xFC,
0x9F,0x84,0x4D,0x73,0xA3,0xCA,0x9A,0x61,0x58,0x97,0xA3,0x27,0xFC,0x03,0x98,0x76,
0x23,0x1D,0xC7,0x61,0x03,0x04,0xAE,0x56,0xBF,0x38,0x84,0x00,0x40,0xA7,0x0E,0xFD,
0xFF,0x52,0xFE,0x03,0x6F,0x95,0x30,0xF1,0x97,0xFB,0xC0,0x85,0x60,0xD6,0x80,0x25,
0xA9,0x63,0xBE,0x03,0x01,0x4E,0x38,0xE2,0xF9,0xA2,0x34,0xFF,0xBB,0x3E,0x03,0x44,
0x78,0x00,0x90,0xCB,0x88,0x11,0x3A,0x94,0x65,0xC0,0x7C,0x63,0x87,0xF0,0x3C,0xAF,
0xD6,0x25,0xE4,0x8B,0x38,0x0A,0xAC,0x72,0x21,0xD4,0xF8,0x07
};
//copy the logo content into the bios - Pokemon Platinum uses this in Pal Park trade //copy the logo content into the bios - Pokemon Platinum uses this in Pal Park trade
//it compares the logo from the arm9 bios to the logo in the GBA header. //it compares the logo from the arm9 bios to the logo in the GBA header.
//NOTE: we could MAYBE solve this by patching the rom of a mounted GBA game with whatever's here, even if its all zeroes. //NOTE: we could MAYBE solve this by patching the rom of a mounted GBA game with whatever's here, even if its all zeroes.
for (int t = 0; t < 0x9C; t++) memcpy(&MMU.ARM9_BIOS[0x20], &gameInfo.header.logo[0], 0x9C);
MMU.ARM9_BIOS[t + 0x20] = logo_data[t]; T1WriteWord(MMU.ARM9_BIOS, 0x20 + 0x9C, gameInfo.header.logoCRC16);
//... and with that we are at 0xBC: //... and with that we are at 0xBC:
//(now what goes in this gap?? nothing we need, i guess) //(now what goes in this gap?? nothing we need, i guess)

View File

@ -5606,7 +5606,7 @@ DOKEYDOWN:
case ID_TOOLS_VIEWFSNITRO: case ID_TOOLS_VIEWFSNITRO:
if (!CommonSettings.loadToMemory) if (!CommonSettings.loadToMemory)
{ {
msgbox->error("Change load type to \"Load to RAM\""); msgbox->error("Change ROM loading mode to \"Load entirely to RAM\"");
return 0; return 0;
} }
ViewFSNitro->open(); ViewFSNitro->open();