| Age | Commit message (Collapse) | Author |
|
Dolphin now uses the simulated memory size defined in `bi2.bin` to
adjust the memory size in the emulated console automatically.
If **Enable Emulated Memory Size Override** has been enabled by the
user, the fixed memory size specified for **MEM1** and **MEM2** are
still used as they were before.
Most retail games do not define the simulated memory size (Wii or
Triforce games), or define it to a value that matches the default 24 MiB
(GameCube games), so, in the general case, there is no behavior change.
One game that sets the simulated memory to a non-default value is the
debug build of _Mario Kart: Double Dash!!_, where the value is set to
48 MiB.
This enhancement is focused mainly to the modding community. Prior to
these changes, modded games with extended memory requirements would
fail to launch in Dolphin [with no indication of what the problem is] if
the user failed to set the emulated memory override to the correct
value. Now, modding tools can specify the simulated memory size in the
`bi2.bin` file to produce extended games that _just work_ in Dolphin,
without cumbersome instructions that can be overlooked by the user.
|
|
Because of this mistake, HoleInMaskMisalignedPageTable was testing the
same thing as MisalignedPageTable, which wasn't the intent.
|
|
Mistakenly, MISALIGNED_HOLE_MASK_PAGE_TABLE_BASE was aligned and
MISALIGNED_HOLE_MASK_PAGE_TABLE_BASE_ALIGNED was misaligned. It should
be the other way around.
These variables are unused due to a separate mistake which is corrected
in the next commit.
|
|
|
|
Yellow squiggly lines begone!
Done automatically on .cpp files through `run-clang-tidy`, with manual corrections to the mistakes.
If an import is directly used, but is technically unnecessary since it's recursively imported by something else, it is *not* removed.
The tool doesn't touch .h files, so I did some of them by hand while fixing errors due to old recursive imports.
Not everything is removed, but the cleanup should be substantial enough.
Because this done on Linux, code that isn't used on it is mostly untouched.
(Hopefully no open PR is depending on these imports...)
|
|
|
|
|
|
|
|
Takes the logic from Jit64 and moves it into DivUtils, so it can be
reused by other backends as well.
|
|
This should prevent issues like the one fixed in the previous commit
from happening again.
|
|
This is a little trick I came up with that lets us restructure our float
classification code so we can exit earlier when the float is normal,
which is the case more often than not.
First we shift left by 1 to get rid of the sign bit, and then we count
the number of leading sign bits. If the result is less than 10 (for
doubles) or 7 (for floats), the float is normal. This is because, if the
float isn't normal, the exponent is either all zeroes or all ones.
|
|
This fixes a bunch of DEBUG_ASSERTs in the unit tests.
|
|
|
|
|
|
Makes these utilities' namespace consistent with the majority of the
Common library.
|
|
decreases runtime significantly and lessens dependency on mbedtls
|
|
|
|
|
|
Most of these became unneeded when fmt was introduced.
|
|
JitArm64 port of 5b52b3e.
|
|
SPDX standardizes how source code conveys its copyright and licensing
information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX
tags are adopted in many large projects, including things like the Linux
kernel.
|
|
|
|
|
|
|
|
|
|
|
|
UnitTests: Put PowerPC test values in a separate file
|
|
We use more or less the same values for all PowerPC float unit
tests. Let's put them in one place instead of duplicating them.
|
|
Two unit tests were in the root UnitTests folder
and were not being built when using CMake.
|
|
|
|
Most changes are just adding ARM64Reg:: in front of the constants.
|
|
This tests for a bug with ADRP which was present in an
earlier version of this pull request.
Also adding the MOVI2R unit test to the VS build.
|
|
|
|
|
|
If the compiler can detect an issue with a format string at compile
time, then we should take advantage of that and turn the issue into a
hard compile-time error as such problems almost always lead to UB.
This helps with catching logging or assertion messages that have been
converted over to fmt but are still using the old, non-fmt variants
of the logging macros.
This commit also fixes all incorrect usages that I could find.
|
|
|
|
|
|
Replace g_jit in x86-64 ASM routines code by m_jit member reference
|
|
|