From c47f047ac6119f824feb80d3fdf826f51ec9053b Mon Sep 17 00:00:00 2001 From: LPFaint99 Date: Sat, 29 Mar 2014 00:13:38 -0700 Subject: [PATCH 1/2] Use memory card 251 for games that cannot use large memory cards --- Source/Core/Core/HW/EXI_DeviceMemoryCard.cpp | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) 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]; From c7faf2be4c979fa842fb48c4013c6788965e5748 Mon Sep 17 00:00:00 2001 From: LPFaint99 Date: Sat, 29 Mar 2014 00:13:53 -0700 Subject: [PATCH 2/2] add setting to game inis to use memory card 251 for games that cannot use large memory cards --- Data/Sys/GameSettings/GDKEA4.ini | 3 +++ Data/Sys/GameSettings/GDKJA4.ini | 22 ++++++++++++++++++++++ Data/Sys/GameSettings/GDKPA4.ini | 22 ++++++++++++++++++++++ Data/Sys/GameSettings/GDQE6S.ini | 21 +++++++++++++++++++++ Data/Sys/GameSettings/GDQP6S.ini | 3 +++ Data/Sys/GameSettings/GDXEA4.ini | 6 ++++++ Data/Sys/GameSettings/GDXJA4.ini | 6 ++++++ Data/Sys/GameSettings/GDXPA4.ini | 6 ++++++ Data/Sys/GameSettings/GWTEA4.ini | 3 +++ Data/Sys/GameSettings/GWTJA4.ini | 21 +++++++++++++++++++++ Data/Sys/GameSettings/GWTPA4.ini | 21 +++++++++++++++++++++ 11 files changed, 134 insertions(+) create mode 100644 Data/Sys/GameSettings/GDKJA4.ini create mode 100644 Data/Sys/GameSettings/GDKPA4.ini create mode 100644 Data/Sys/GameSettings/GDQE6S.ini create mode 100644 Data/Sys/GameSettings/GDXEA4.ini create mode 100644 Data/Sys/GameSettings/GDXJA4.ini create mode 100644 Data/Sys/GameSettings/GDXPA4.ini create mode 100644 Data/Sys/GameSettings/GWTJA4.ini create mode 100644 Data/Sys/GameSettings/GWTPA4.ini 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. +