clarification to chipId in retail slot-1 device

This commit is contained in:
zeromus 2013-08-12 05:44:05 +00:00
parent 03bdecc899
commit b18f284799
1 changed files with 4 additions and 11 deletions

View File

@ -78,14 +78,10 @@ private:
// 3rd byte - Reserved/zero (probably upper bits of chip size) // 3rd byte - Reserved/zero (probably upper bits of chip size)
// 4th byte - Bit7: Secure Area Block transfer mode (8x200h or 1000h) // 4th byte - Bit7: Secure Area Block transfer mode (8x200h or 1000h)
#ifdef _NEW_BOOT // It doesnt look like the chip size is important.
u32 chipID = 0;
if (CommonSettings.BootFromFirmware) u32 chipID = 0x00000000 | 0x00000000 | 0x00000F00 | 0x000000C2;
chipID = 0x00000000 | 0x00000000 | 0x00000F00 | 0x000000C2;;
#else
u32 chipID = 0;
#endif
// Note: the BIOS stores the chip ID in main memory // Note: the BIOS stores the chip ID in main memory
// Most games continuously compare the chip ID with // Most games continuously compare the chip ID with
// the value in memory, probably to know if the card // the value in memory, probably to know if the card
@ -94,9 +90,6 @@ private:
// ID in main mem is zero and this value needs to be // ID in main mem is zero and this value needs to be
// zero too. // zero too.
//note that even if desmume was booting from firmware, and reading this chip ID to store in main memory,
//this still works, since it will have read 00 originally and then read 00 to validate.
//staff of kings verifies this (it also uses the arm7 IRQ 20) //staff of kings verifies this (it also uses the arm7 IRQ 20)
return chipID; return chipID;
} }