dolphin/Source/Core/Core
Minty-Meeo cc858c63b8 Configurable MEM1 and MEM2 sizes at runtime via Dolphin.ini
Changed several enums from Memmap.h to be static vars and implemented Get functions to query them. This seems to have boosted speed a bit in some titles? The new variables and some previously statically initialized items are now initialized via Memory::Init() and the new AddressSpace::Init(). s_ram_size_real and the new s_exram_size_real in particular are initialized from new OnionConfig values "MAIN_MEM1_SIZE" and "MAIN_MEM2_SIZE", only if "MAIN_RAM_OVERRIDE_ENABLE" is true.

GUI features have been added to Config > Advanced to adjust the new OnionConfig values.

A check has been added to State::doState to ensure savestates with memory configurations different from the current settings aren't loaded. The STATE_VERSION is now 115.

FIFO Files have been updated from version 4 to version 5, now including the MEM1 and MEM2 sizes from the time of DFF creation. FIFO Logs not using the new features (OnionConfig MAIN_RAM_OVERRIDE_ENABLE is false) are still backwards compatible. FIFO Logs that do use the new features have a MIN_LOADER_VERSION of 5. Thanks to the order of function calls, FIFO logs are able to automatically configure the new OnionConfig settings to match what is needed. This is a bit hacky, though, so I also threw in a failsafe for if the conditions that allow this to work ever go away.

I took the liberty of adding a log message to explain why the core fails to initialize if the MIN_LOADER_VERSION is too great.

Some IOS code has had the function "RAMOverrideForIOSMemoryValues" appended to it to recalculate IOS Memory Values from retail IOSes/apploaders to fit the extended memory sizes. Worry not, if MAIN_RAM_OVERRIDE_ENABLE is false, this function does absolutely nothing.

A hotfix in DolphinQt/MenuBar.cpp has been implemented for RAM Override.
2020-04-28 12:10:50 -05:00
..
Boot Configurable MEM1 and MEM2 sizes at runtime via Dolphin.ini 2020-04-28 12:10:50 -05:00
Config Configurable MEM1 and MEM2 sizes at runtime via Dolphin.ini 2020-04-28 12:10:50 -05:00
ConfigLoaders Configurable MEM1 and MEM2 sizes at runtime via Dolphin.ini 2020-04-28 12:10:50 -05:00
Debugger Common: Unify logging namespace with Common 2019-11-28 05:13:21 -05:00
DSP Source/Core/Core/DSP/DSPTables.cpp: include <cstdio> for sprintf 2020-03-05 21:20:34 +00:00
FifoPlayer Configurable MEM1 and MEM2 sizes at runtime via Dolphin.ini 2020-04-28 12:10:50 -05:00
HLE HLE: Add more debug functions 2020-03-30 17:46:50 +04:00
HW Configurable MEM1 and MEM2 sizes at runtime via Dolphin.ini 2020-04-28 12:10:50 -05:00
IOS Configurable MEM1 and MEM2 sizes at runtime via Dolphin.ini 2020-04-28 12:10:50 -05:00
PowerPC Configurable MEM1 and MEM2 sizes at runtime via Dolphin.ini 2020-04-28 12:10:50 -05:00
ActionReplay.cpp Common: Unify logging namespace with Common 2019-11-28 05:13:21 -05:00
ActionReplay.h Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
Analytics.cpp Analytics: Add quirk for mismatched xf/bp texgens/colors 2020-04-02 12:52:16 +10:00
Analytics.h Analytics: Add quirk for mismatched xf/bp texgens/colors 2020-04-02 12:52:16 +10:00
ARDecrypt.cpp CommonFuncs: Generify rotation functions and move them to BitUtils.h 2018-03-31 18:09:45 -04:00
ARDecrypt.h Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
BootManager.cpp Back up Wii setting.txt and SYSCONF while emulating 2020-03-16 21:04:19 +01:00
BootManager.h Add /dev/dolphin for homebrew to get information about Dolphin 2019-11-09 15:31:51 +01:00
CMakeLists.txt Add /dev/dolphin for homebrew to get information about Dolphin 2019-11-09 15:31:51 +01:00
CommonTitles.h Include the Korean Wii Shop Channel when checking default credentials 2018-09-15 17:28:23 +02:00
ConfigManager.cpp Set Insert SD Card default value to true 2020-03-30 06:15:17 -04:00
ConfigManager.h Add path to File Name column of game grid 2020-03-02 17:38:28 +13:00
Core.cpp Core: Skip duplicate frames when using frame advance 2020-04-09 11:39:29 +02:00
Core.h Core: Clarify Callback_VideoCopiedToXFB and FrameUpdate 2020-04-09 00:21:04 +02:00
Core.vcxproj Add an ARM64 target to Visual Studio projects 2019-12-28 19:20:41 +10:00
Core.vcxproj.filters Add an ARM64 target to Visual Studio projects 2019-12-28 19:20:41 +10:00
CoreTiming.cpp Core: Replace usages of StringFromFormat with fmt where applicable 2019-11-11 07:32:57 -05:00
CoreTiming.h Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
DSPEmulator.cpp DSPEmulator: Default destructor in the cpp file 2018-05-29 07:54:39 -04:00
DSPEmulator.h DSPEmulator: Make the IsLLE() member function const-qualified 2018-05-29 17:45:07 -04:00
GeckoCode.cpp PowerPC: Factor out CR helpers into POD class 2019-03-08 20:42:09 +01:00
GeckoCode.h Netplay: Sync codes 2018-10-29 23:00:51 +01:00
GeckoCodeConfig.cpp Core/GeckoCodeConfig : Fix Gecko codes formatting 2020-02-14 11:51:36 +01:00
GeckoCodeConfig.h Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
Host.h Remove unused function Host_UpdateProgressDialog 2020-04-03 12:53:38 +02:00
HotkeyManager.cpp Fix Hotkey Controller Profile display with boxes for each Wiimote 2020-04-28 15:55:53 +02:00
HotkeyManager.h Fix Hotkey Controller Profile display with boxes for each Wiimote 2020-04-28 15:55:53 +02:00
LibusbUtils.cpp Use separate libusb contexts to avoid thread safety issues 2019-06-26 17:55:51 +02:00
LibusbUtils.h Use separate libusb contexts to avoid thread safety issues 2019-06-26 17:55:51 +02:00
MachineContext.h Compile fixes for Windows-on-ARM64 2019-12-28 19:20:41 +10:00
MemoryWatcher.cpp Use std::istringstream or std::ostringstream instead of std::stringstream where possible. 2019-12-29 23:45:02 -05:00
MemoryWatcher.h Step MemoryWatcher at end of each video frame. 2019-05-08 11:20:59 +01:00
MemTools.cpp Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
MemTools.h Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
Movie.cpp Remove outdated comment from Movie::FrameUpdate 2020-04-10 00:18:53 +02:00
Movie.h NetPlay: Remove 'reduce polling rate' option 2019-08-26 02:11:49 -04:00
NetPlayClient.cpp Core/NetPlayClient: Add documentation for SendPadHostPoll 2020-02-06 07:24:00 -05:00
NetPlayClient.h Show a message in netplay chat when a player joins or leaves 2019-07-30 20:14:51 -07:00
NetPlayProto.h NetPlay: Remove 'reduce polling rate' option 2019-08-26 02:11:49 -04:00
NetPlayServer.cpp Core/NetPlayServer: Fix session not being added to index on direct connection type 2020-02-17 21:05:32 -05:00
NetPlayServer.h Core/NetPlayServer: Fix session not being added to index on direct connection type 2020-02-17 21:05:32 -05:00
PatchEngine.cpp Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
PatchEngine.h PatchEngine: Make PatchType an enum class 2018-05-13 15:46:51 -04:00
State.cpp Configurable MEM1 and MEM2 sizes at runtime via Dolphin.ini 2020-04-28 12:10:50 -05:00
State.h Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
SysConf.cpp Common/Core: Minor rvalue reference related cleanups. 2020-01-23 22:58:23 -06:00
SysConf.h Common/Core: Minor rvalue reference related cleanups. 2020-01-23 22:58:23 -06:00
TitleDatabase.cpp Core: Replace usages of StringFromFormat with fmt where applicable 2019-11-11 07:32:57 -05:00
TitleDatabase.h TitleDatabase: Don't merge multiple languages into same map 2019-02-25 19:55:46 +01:00
WiiRoot.cpp Core: Call CreateFullPath before using Backup directory 2020-04-28 17:53:12 +02:00
WiiRoot.h Back up Wii setting.txt and SYSCONF while emulating 2020-03-16 21:04:19 +01:00
WiiUtils.cpp Merge pull request #8255 from JosJuice/remove-unsigned-warning 2019-08-21 09:38:35 -07:00
WiiUtils.h DiscIO: Merge WiiWAD into VolumeWAD 2019-07-18 22:29:04 +02:00