dolphin/Source/Core/Core/HW
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
..
DSPHLE Configurable MEM1 and MEM2 sizes at runtime via Dolphin.ini 2020-04-28 12:10:50 -05:00
DSPLLE Fix bug 11920 2020-04-10 12:15:06 -07:00
DVD Adjust s_DIMAR/s_DILENGTH behavior (fixes Baten Kaitos music) 2020-04-09 22:13:45 +02:00
EXI Merge pull request #8688 from howard0su/cleanup_strncpy 2020-04-28 14:28:30 +02:00
GCMemcard Cleanup warnings of -Wswitch 2020-04-28 13:16:30 +02:00
SI Cleanup warnings of -Wswitch 2020-04-28 13:16:30 +02:00
WiimoteCommon Core/WiimoteEmu: Add functions to Nunchuk, Classic Controller, and MotionPlus extensions to get/set data without duplicate bithacks everywhere. 2020-02-17 15:57:58 -06:00
WiimoteEmu WiimoteEmu: Rename some variables from "cursor" to "point". 2020-04-18 13:20:50 -05:00
WiimoteReal use s_ prefix for local variables 2020-03-24 20:13:20 +08:00
AddressSpace.cpp Configurable MEM1 and MEM2 sizes at runtime via Dolphin.ini 2020-04-28 12:10:50 -05:00
AddressSpace.h Configurable MEM1 and MEM2 sizes at runtime via Dolphin.ini 2020-04-28 12:10:50 -05:00
AudioInterface.cpp AudioInterface: Use member initializers where applicable for unions 2018-05-30 09:49:28 -04:00
AudioInterface.h Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
CPU.cpp Core/CPU: Make use of type deduction for scoped locks 2019-08-18 17:39:27 +02:00
CPU.h Core: Support asynchronously executing functions on the CPU thread 2019-07-24 04:08:19 +10:00
DSP.cpp Configurable MEM1 and MEM2 sizes at runtime via Dolphin.ini 2020-04-28 12:10:50 -05:00
DSP.h Revert "DSP: ARAM cleanup experiments" 2019-09-02 01:47:50 -04:00
GCKeyboard.cpp ControllerInterface: Allow hotplug callbacks to be unregistered and don't reload the entire config from the ini file on hotplug, just update the control references. This should fix a crash on shutdown on Android. 2019-01-10 18:32:16 -06:00
GCKeyboard.h Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
GCKeyboardEmu.cpp InputCommon: Clean up creation of inputs. 2020-02-09 19:08:26 -06:00
GCKeyboardEmu.h Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
GCPad.cpp ControllerInterface: Allow hotplug callbacks to be unregistered and don't reload the entire config from the ini file on hotplug, just update the control references. This should fix a crash on shutdown on Android. 2019-01-10 18:32:16 -06:00
GCPad.h Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
GCPadEmu.cpp InputCommon: Clean up creation of inputs. 2020-02-09 19:08:26 -06:00
GCPadEmu.h InputCommon: Clean up how numeric settings are handled. Add units of measure to UI. Eliminate hidden magic values of the IR cursor. 2019-04-07 09:32:49 -05:00
GPFifo.cpp Jit64: Inline GP fast check in Cleanup. 2017-11-18 17:43:38 +01:00
GPFifo.h Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
HW.cpp Configurable MEM1 and MEM2 sizes at runtime via Dolphin.ini 2020-04-28 12:10:50 -05:00
HW.h Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
Memmap.cpp Configurable MEM1 and MEM2 sizes at runtime via Dolphin.ini 2020-04-28 12:10:50 -05:00
Memmap.h Configurable MEM1 and MEM2 sizes at runtime via Dolphin.ini 2020-04-28 12:10:50 -05:00
MemoryInterface.cpp
MemoryInterface.h
MMIO.cpp Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
MMIO.h Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
MMIOHandlers.h Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
ProcessorInterface.cpp ProcessorInterface: Remove prefixed underscores from parameters 2018-04-09 03:21:59 -04:00
ProcessorInterface.h ProcessorInterface: Remove prefixed underscores from parameters 2018-04-09 03:21:59 -04:00
Sram.cpp Core: Fix some warnings 2019-01-25 21:21:22 +01:00
Sram.h mx sram: replace union-with-byte-array with operator[] to make gcc happy. 2018-10-01 00:00:20 -07:00
StreamADPCM.cpp Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
StreamADPCM.h Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
SystemTimers.cpp Cleanup: Use std::abs instead of abs. 2020-02-08 18:21:14 -06:00
SystemTimers.h SystemTimers: export performance index from the throttler callback 2018-10-27 15:14:59 +02:00
VideoInterface.cpp Core: Skip duplicate frames when using frame advance 2020-04-09 11:39:29 +02:00
VideoInterface.h TextureCache: Simplify XFB reconstruction 2019-04-21 12:41:15 +10:00
WII_IPC.cpp Implement RTC flag, which is counter-intuitively disc drive related 2020-01-04 11:43:26 -08:00
WII_IPC.h Implement Broadway GPIOs 2020-01-04 11:43:26 -08:00
Wiimote.cpp Core/WiimoteReal: Make wiimote source type an enum class and add Get/SetWiimoteSource functions. Add connected real Wii Remotes to a pool when a slot is not available. 2020-01-05 10:15:22 -06:00
Wiimote.h Core/WiimoteReal: Make wiimote source type an enum class and add Get/SetWiimoteSource functions. Add connected real Wii Remotes to a pool when a slot is not available. 2020-01-05 10:15:22 -06:00
WiiSave.cpp Core: Replace usages of StringFromFormat with fmt where applicable 2019-11-11 07:32:57 -05:00
WiiSave.h Core: Replace usages of StringFromFormat with fmt where applicable 2019-11-11 07:32:57 -05:00
WiiSaveStructs.h NetPlay save data synchronization 2018-07-19 18:09:20 -04:00