diff --git a/Data/Sys/GameSettings/GDKEA4.ini b/Data/Sys/GameSettings/GDKEA4.ini index 0302e8b8c3..51dd69d584 100644 --- a/Data/Sys/GameSettings/GDKEA4.ini +++ b/Data/Sys/GameSettings/GDKEA4.ini @@ -2,6 +2,9 @@ [Core] # Values set here will override the main dolphin settings. +# This game does not work properly with large memorycards, use a 251 block card +# see http://www.nintendo.com/consumer/memorycard1019.jsp +MemoryCard251 = True [EmuState] # The Emulation State. 1 is worst, 5 is best, 0 is not set. diff --git a/Data/Sys/GameSettings/GDKJA4.ini b/Data/Sys/GameSettings/GDKJA4.ini new file mode 100644 index 0000000000..d4081aed62 --- /dev/null +++ b/Data/Sys/GameSettings/GDKJA4.ini @@ -0,0 +1,22 @@ +# GDKJA4 - Disney Sports: Soccer + +[Core] +# Values set here will override the main dolphin settings. +# This game does not work properly with large memorycards, use a 251 block card +# see http://www.nintendo.com/consumer/memorycard1019.jsp +MemoryCard251 = True + +[EmuState] +# The Emulation State. 1 is worst, 5 is best, 0 is not set. +EmulationStateId = 4 +EmulationIssues = Need Projection Before R945 + +[OnLoad] +# Add memory patches to be loaded once on boot here. + +[OnFrame] +# Add memory patches to be applied every frame here. + +[ActionReplay] +# Add action replay cheats here. + diff --git a/Data/Sys/GameSettings/GDKPA4.ini b/Data/Sys/GameSettings/GDKPA4.ini new file mode 100644 index 0000000000..2468e34537 --- /dev/null +++ b/Data/Sys/GameSettings/GDKPA4.ini @@ -0,0 +1,22 @@ +# GDKEA4 - Disney Sports: Football (Soccer) + +[Core] +# Values set here will override the main dolphin settings. +# This game does not work properly with large memorycards, use a 251 block card +# see http://www.nintendo.com/consumer/memorycard1019.jsp +MemoryCard251 = True + +[EmuState] +# The Emulation State. 1 is worst, 5 is best, 0 is not set. +EmulationStateId = 4 +EmulationIssues = Need Projection Before R945 + +[OnLoad] +# Add memory patches to be loaded once on boot here. + +[OnFrame] +# Add memory patches to be applied every frame here. + +[ActionReplay] +# Add action replay cheats here. + diff --git a/Data/Sys/GameSettings/GDQE6S.ini b/Data/Sys/GameSettings/GDQE6S.ini new file mode 100644 index 0000000000..f40cb5c4b1 --- /dev/null +++ b/Data/Sys/GameSettings/GDQE6S.ini @@ -0,0 +1,21 @@ +# GDQE6S - Darkened Skye + +[Core] +# Values set here will override the main dolphin settings. +# This game does not work properly with large memorycards, use a 251 block card +# see http://www.nintendo.com/consumer/memorycard1019.jsp +MemoryCard251 = True + +[EmuState] +# The Emulation State. 1 is worst, 5 is best, 0 is not set. +EmulationStateId = 1 + +[OnLoad] +# Add memory patches to be loaded once on boot here. + +[OnFrame] +# Add memory patches to be applied every frame here. + +[ActionReplay] +# Add action replay cheats here. + diff --git a/Data/Sys/GameSettings/GDQP6S.ini b/Data/Sys/GameSettings/GDQP6S.ini index d406e1deee..4361c5f20c 100644 --- a/Data/Sys/GameSettings/GDQP6S.ini +++ b/Data/Sys/GameSettings/GDQP6S.ini @@ -2,6 +2,9 @@ [Core] # Values set here will override the main dolphin settings. +# This game does not work properly with large memorycards, use a 251 block card +# see http://www.nintendo.com/consumer/memorycard1019.jsp +MemoryCard251 = True [EmuState] # The Emulation State. 1 is worst, 5 is best, 0 is not set. diff --git a/Data/Sys/GameSettings/GDXEA4.ini b/Data/Sys/GameSettings/GDXEA4.ini new file mode 100644 index 0000000000..333f159d57 --- /dev/null +++ b/Data/Sys/GameSettings/GDXEA4.ini @@ -0,0 +1,6 @@ +# GDXEA4 - Disney Sports Skateboarding + +[Core] +# This game does not work properly with large memorycards, use a 251 block card +# see http://www.nintendo.com/consumer/memorycard1019.jsp +MemoryCard251 = True diff --git a/Data/Sys/GameSettings/GDXJA4.ini b/Data/Sys/GameSettings/GDXJA4.ini new file mode 100644 index 0000000000..d2bb4ab662 --- /dev/null +++ b/Data/Sys/GameSettings/GDXJA4.ini @@ -0,0 +1,6 @@ +# GDXJA4 - Disney Sports Skateboarding + +[Core] +# This game does not work properly with large memorycards, use a 251 block card +# see http://www.nintendo.com/consumer/memorycard1019.jsp +MemoryCard251 = True diff --git a/Data/Sys/GameSettings/GDXPA4.ini b/Data/Sys/GameSettings/GDXPA4.ini new file mode 100644 index 0000000000..59d32e08a8 --- /dev/null +++ b/Data/Sys/GameSettings/GDXPA4.ini @@ -0,0 +1,6 @@ +# GDXPA4 - Disney Sports Skateboarding + +[Core] +# This game does not work properly with large memorycards, use a 251 block card +# see http://www.nintendo.com/consumer/memorycard1019.jsp +MemoryCard251 = True diff --git a/Data/Sys/GameSettings/GWTEA4.ini b/Data/Sys/GameSettings/GWTEA4.ini index 2e68a39ff3..6dc4be578a 100644 --- a/Data/Sys/GameSettings/GWTEA4.ini +++ b/Data/Sys/GameSettings/GWTEA4.ini @@ -2,6 +2,9 @@ [Core] # Values set here will override the main dolphin settings. +# This game does not work properly with large memorycards, use a 251 block card +# see http://www.nintendo.com/consumer/memorycard1019.jsp +MemoryCard251 = True [EmuState] # The Emulation State. 1 is worst, 5 is best, 0 is not set. diff --git a/Data/Sys/GameSettings/GWTJA4.ini b/Data/Sys/GameSettings/GWTJA4.ini new file mode 100644 index 0000000000..e1bdab1746 --- /dev/null +++ b/Data/Sys/GameSettings/GWTJA4.ini @@ -0,0 +1,21 @@ +# GWTJA4 - WTA Tour Tennis + +[Core] +# Values set here will override the main dolphin settings. +# This game does not work properly with large memorycards, use a 251 block card +# see http://www.nintendo.com/consumer/memorycard1019.jsp +MemoryCard251 = True + +[EmuState] +# The Emulation State. 1 is worst, 5 is best, 0 is not set. +EmulationStateId = 4 + +[OnLoad] +# Add memory patches to be loaded once on boot here. + +[OnFrame] +# Add memory patches to be applied every frame here. + +[ActionReplay] +# Add action replay cheats here. + diff --git a/Data/Sys/GameSettings/GWTPA4.ini b/Data/Sys/GameSettings/GWTPA4.ini new file mode 100644 index 0000000000..4378a747ac --- /dev/null +++ b/Data/Sys/GameSettings/GWTPA4.ini @@ -0,0 +1,21 @@ +# GWTPA4 - WTA Tour Tennis + +[Core] +# Values set here will override the main dolphin settings. +# This game does not work properly with large memorycards, use a 251 block card +# see http://www.nintendo.com/consumer/memorycard1019.jsp +MemoryCard251 = True + +[EmuState] +# The Emulation State. 1 is worst, 5 is best, 0 is not set. +EmulationStateId = 4 + +[OnLoad] +# Add memory patches to be loaded once on boot here. + +[OnFrame] +# Add memory patches to be applied every frame here. + +[ActionReplay] +# Add action replay cheats here. + diff --git a/Source/Core/Core/HW/EXI_DeviceMemoryCard.cpp b/Source/Core/Core/HW/EXI_DeviceMemoryCard.cpp index 9a4d0fe54e..c9433e459c 100644 --- a/Source/Core/Core/HW/EXI_DeviceMemoryCard.cpp +++ b/Source/Core/Core/HW/EXI_DeviceMemoryCard.cpp @@ -73,6 +73,21 @@ CEXIMemoryCard::CEXIMemoryCard(const int index) //0x00000510 16Mb "bigben" card //card_id = 0xc243; + // The following games have issues with memory cards bigger than 16Mb + // Darkened Skye GDQE6S GDQP6S + // WTA Tour Tennis GWTEA4 GWTJA4 GWTPA4 + // Disney Sports : Skate Boarding GDXEA4 GDXPA4 GDXJA4 + // Disney Sports : Soccer GDKEA4 + // Use a 16Mb (251 block) memory card for these games + bool useMC251; + IniFile gameIni = Core::g_CoreStartupParameter.LoadGameIni(); + gameIni.Get("Core", "MemoryCard251", &useMC251, false); + nintendo_card_id = MemCard2043Mb; + if (useMC251) + { + nintendo_card_id = MemCard251Mb; + m_strFilename.insert(m_strFilename.find_last_of("."), ".251"); + } card_id = 0xc221; // It's a Nintendo brand memcard File::IOFile pFile(m_strFilename, "rb"); @@ -90,8 +105,7 @@ CEXIMemoryCard::CEXIMemoryCard(const int index) } else { - // Create a new 128Mb memcard - nintendo_card_id = 0x00000080; + // Create a new memcard memory_card_size = nintendo_card_id * SIZE_TO_Mb; memory_card_content = new u8[memory_card_size];