Don't change the texID depending on the tlut_hash for paletted textures that are efb copies and don't have an entry in the cache for texID ^ tlut_hash. This makes those textures less broken when using efb to texture.
This is not really fixing those textures, but it's a step forward. The mini map in Twilight Princess for example is in grayscales with this and is more or less usable.
For offsets that fit in the instruction encoding then we should just put it in the instruction encoding.
Saves an instruction in a large amount of loadstores.
Someone thought it would be a good idea to have the location as the first argument on the instruction.
Changed it to how it is supposed to be disassembled.
There are a couple things in this PR.
Fixes a bug where if we hit an invalid instruction we would infinite loop.
Fixes an issue where on AArch64 it would show invalid instructions for all NEON instructions.
This was due to asimd and crc being optional extensions and LLVM not enabling them by default.
So we have to specify a CPU which has the feature. LLVM 3.6 will let us select by features instead of CPUs, but we don't have a release of that quite
yet.
If we are on an architecture that has a known instruction size, we will continue onward after hitting the invalid instruction. If we don't have a
known instruction size like on x86, we will instead just dump the rest of the block.
Capitalizes LLE audio and changes star wars rogue leader and rebel
strike emulation state, addition of Rabbids Go Home and Bad Boys II in
the database, and enables mmu in Need for speed most wanted (gc) to
avoid crashes during loading a stage.
Includes gameinis for the Pal and Ntsc region of TurboGrafx-16, some
Commodore 64 gameinis, removes old notes about mmu games, enforces
virtual xfb in games fixed by PR #1818, updates Star Wars: Rogue Leader
and Star Wars - Rogue Squadron III - Rebel Strike
according to the zfreeze pr updates, MySims Kingdom is added and
Sakura Wars: So Long, My Love is updated.
Fixes issues 8091 and 8086.
Revision b058bbd was causing the AsmCommon routines to overrun the code
buffer allocated for it. According to Fiora, it happens only on Linux
because of the fact that Linux has more caller-save registers than other
platforms.