Add CMake build dir to .gitignore, added memory size config back, fix ARAM detection for GC games on Linux#277
Add CMake build dir to .gitignore, added memory size config back, fix ARAM detection for GC games on Linux#277xchellx wants to merge 1 commit into
Conversation
… ARAM detection for GC ganes on Linux - Added build/ to .gitnore to exclude CMake build output (as per README.md). - Brought back the manual memory configuration with an automatic detection setting thats checked by default (for backwards compatibility with the automatic detection changes). - Fixed ARAM detection for GameCube games (Dolphin uses an anonymous private memory map for this unlike for Wii where it is in ExRAM which is in a shared memory map). Linux only for now. I don't have a Windows nor a Mac machine to write the necessary changes for thos platforms.
|
Thanks! Pinging @cristian64 since you were pushing for that auto detection memory related feature in Dolphin. |
|
Could I ask for this to be split into three separate PRs?
In particular, I'd like to discuss the need for third one, as I couldn't find a case where they made sense now. Even if |
|
As requested, I have split the this PR into 3 individual PRs:
Regarding the manual memory configuration sliders in #279: I understand the preference for avoiding manual overrides, but I have included them as a 'fail-safe' for specific edge cases (such as when bi2.bin reports memory boundaries that conflict with BAT registers). I have detailed the technical justification for this in the PR description, but I am entirely open to dropping this feature and/or further discussion in the PR. However, if there is no way forward in that path, another path forward should be looked for, in my opinion. |
The reason for bringing manual memory configuration back is that bi2.bin can lie and the BAT registers can also lie. Custom configurations of these are edge cases automatic detection fails at. Bringing back manual override for these edge cases (as an option) is the best solution here, else it'd be a fight of who is the right source of truth for how much memory there is. The automatic detection is still on by default, but can be turned off with manual size sliders as like before.
Further more, the ARAM detection being fixed only for Linux is because I do not have the necessary resources nor know-how to write for these platforms. I am sure there can be similar approaches done on Windows and Mac but I cannot write for these.
The .gitignore change is most logical as it matches the other auxiliary files from vscode and etc. that should be ignored. README.md directly mentions this directory so its only logical to exclude it (its simply CMake build output).