mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-06-28 05:56:38 +00:00
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. |
||
---|---|---|
.. | ||
Boot | ||
Config | ||
ConfigLoaders | ||
Debugger | ||
DSP | ||
FifoPlayer | ||
HLE | ||
HW | ||
IOS | ||
PowerPC | ||
ActionReplay.cpp | ||
ActionReplay.h | ||
Analytics.cpp | ||
Analytics.h | ||
ARDecrypt.cpp | ||
ARDecrypt.h | ||
BootManager.cpp | ||
BootManager.h | ||
CMakeLists.txt | ||
CommonTitles.h | ||
ConfigManager.cpp | ||
ConfigManager.h | ||
Core.cpp | ||
Core.h | ||
Core.vcxproj | ||
Core.vcxproj.filters | ||
CoreTiming.cpp | ||
CoreTiming.h | ||
DSPEmulator.cpp | ||
DSPEmulator.h | ||
GeckoCode.cpp | ||
GeckoCode.h | ||
GeckoCodeConfig.cpp | ||
GeckoCodeConfig.h | ||
Host.h | ||
HotkeyManager.cpp | ||
HotkeyManager.h | ||
LibusbUtils.cpp | ||
LibusbUtils.h | ||
MachineContext.h | ||
MemoryWatcher.cpp | ||
MemoryWatcher.h | ||
MemTools.cpp | ||
MemTools.h | ||
Movie.cpp | ||
Movie.h | ||
NetPlayClient.cpp | ||
NetPlayClient.h | ||
NetPlayProto.h | ||
NetPlayServer.cpp | ||
NetPlayServer.h | ||
PatchEngine.cpp | ||
PatchEngine.h | ||
State.cpp | ||
State.h | ||
SysConf.cpp | ||
SysConf.h | ||
TitleDatabase.cpp | ||
TitleDatabase.h | ||
WiiRoot.cpp | ||
WiiRoot.h | ||
WiiUtils.cpp | ||
WiiUtils.h |