Commit Graph

35666 Commits

Author SHA1 Message Date
Pokechu22 6df892dca7 docs/DSP: Expand DSP Memory Map section 2021-08-21 16:03:50 -07:00
Pokechu22 cfc6de8545 docs/DSP: Fix LOOPI, BLOOP, Jcc, and CALLcc opcode table operands 2021-08-21 16:03:50 -07:00
Pokechu22 5a0155a1cb docs/DSP: Fix ANDCF and ANDF being swapped
This was implemented in Dolphin in 7c4e654253.  That change also noted that JZR/JNZ were swapped; this was already fixed in facd1dca12.
2021-08-21 16:03:50 -07:00
Pokechu22 000f7b102a docs/DSP: Fix SBCLR and SBSET being backwards
Dolphin has them with SBCLR as 1200 and SBSET as 1300 since the inital megacommit: 775dc8a9c0/Source/Plugins/Plugin_DSP_LLE/Src/opcodes.cpp (L67-L68)
2021-08-21 16:03:49 -07:00
Pokechu22 13051ee291 docs/DSP: Elaborate on SBSET and SBCLR 2021-08-21 16:03:49 -07:00
Pokechu22 bb1ecd2a81 docs/DSP: Add RTI to opcode list 2021-08-21 16:03:41 -07:00
Pokechu22 2c73de7ada docs/DSP: Add missing already-documented instructions to opcode table 2021-08-21 11:40:54 -07:00
Pokechu22 d9f8df3cbe docs/DSP: Fix typo in HALT encoding
"I think I saw a two"
2021-08-21 11:40:54 -07:00
Pokechu22 35720284f3 docs/DSP: Fix various spelling/grammar/punctuation issues 2021-08-21 11:40:54 -07:00
Pokechu22 2df33ddbbc docs/DSP: Create .gitignore
This is from https://github.com/github/gitignore/blob/master/TeX.gitignore (CC0)
2021-08-21 11:40:54 -07:00
Pokechu22 c1242fbd6c docs/DSP: Update version and history
The GFDL requires the history section to be updated.  Although there was no actual release, this makes it attribution clearer and separates it from my changes.
2021-08-21 11:40:22 -07:00
Dentomologist 87924f2ddd DolphinQt: Remove Windows dialog help buttons 2021-08-21 10:53:12 -07:00
Mai M 17a01c894b
Merge pull request #10044 from AdmiralCurtiss/invalidate-icache-lines-fix
PowerPC: Fix for calling InvalidateICacheLines() with a count of 1 causing a (harmless) second invalidation.
2021-08-19 19:23:11 -04:00
JosJuice 90fcaf7e96 Jit: Use one less register in dcbx
We were using a "value" register to avoid clobbering physical_addr,
but this isn't actually needed anymore. The only bits we need from
physical_addr after we start clobbering it are bits 5-9, and
those bits are identical in effective_addr and physical_addr,
so we can read them from effective_addr instead.
2021-08-19 23:26:11 +02:00
Admiral H. Curtiss f5cd17925a PowerPC: Fix for calling InvalidateICacheLines() with a count of 1 causing a (harmless) second invalidation. 2021-08-19 22:54:34 +02:00
Tilka 3aaab25810
Merge pull request #10032 from Pokechu22/dsp-lle-masks
DSP masking and sign extension fixes
2021-08-18 20:20:31 +01:00
Pokechu22 c3dec34391 UberShaderVertex: Simplify color channel logic 2021-08-18 10:40:54 -07:00
Pokechu22 06579e4d53 VertexShaderGen: Simplify color channel logic 2021-08-18 10:40:54 -07:00
Pokechu22 2519d14e36 UberShaderVertex: Fix Tony Hawk Pro Skater 4
Fixes https://bugs.dolphin-emu.org/issues/12620

The changed code did not match the corresponding code in VertexShaderGen.  Some parts of the sky have 2 color channels in each vertex, while others only have 1, despite only color channel 0 being used and XFMEM_SETNUMCHAN being set to 1 for both of them.  The old code (from #4601) caused channel 0 to be set to channel 1 if the vertex contained both color channels but the number of channels was set to 1, which is wrong.
2021-08-18 10:40:53 -07:00
JosJuice 4f09c320e8 Interpreter: Simplify mcrfs implementation 2021-08-18 18:18:19 +02:00
Lioncash b7b45eb111 Interpreter: Make signedness and narrowing conversions explicit
Makes our conversions between the different signs explicit to indicate
that they're intentional and also silences compiler warnings when
compiling with sign conversion or stricter truncation warnings enabled.
2021-08-18 09:56:00 -04:00
Mai M 33154de614
Merge pull request #10039 from OatmealDome/spdx-leftovers
Fix some missed items from SPDX transition
2021-08-17 23:02:32 -04:00
Mai M 6863b7ae9e
Merge pull request #10036 from JosJuice/jitarm64-psq-x
JitArm64: Implement indexed paired loadstore instructions
2021-08-17 23:00:57 -04:00
Mai M 437b475254
Merge pull request #10037 from OatmealDome/min-macos-bump
Bump minimum macOS to 10.13 High Sierra
2021-08-17 22:59:43 -04:00
OatmealDome 5c5c3b8856 DolphinQt: Copy COPYING and Licenses directory to output 2021-08-17 22:40:27 -04:00
OatmealDome 6aa2a6b466 UISettings: Remove missed comment about license.txt 2021-08-17 22:35:42 -04:00
OatmealDome 0a6ac4d993 AboutDialog: Fix broken license link 2021-08-17 22:34:53 -04:00
OatmealDome e5a80995dc Bump minimum macOS to 10.13 High Sierra 2021-08-17 16:27:22 -04:00
JosJuice b24b79e373 JitArm64: Implement indexed paired loadstore instructions
After writing 23b81ef without realizing that we hadn't actually
implemented the indexed paired loadstore instructions yet,
I am now implementing them.
2021-08-17 11:29:38 +02:00
JMC47 a36855c983
Merge pull request #9818 from JosJuice/jits-cdts-double
Jits: Don't use fast double-to-single when input is double precision
2021-08-17 05:21:08 -04:00
JosJuice 62e7b34c88 JitArm64: Don't lock W30 in dcbx
If W30 is in use and we don't lock it, it will be pushed to the
stack before the BLR, so there isn't really any reason to lock W30.
2021-08-17 10:30:18 +02:00
JosJuice 856ff296ae JitArm64: Optimize dcbx being called in a loop over a large memory region
JitArm64 port of 8b2f5d5.
2021-08-17 10:30:17 +02:00
JMC47 d162015112
Merge pull request #10007 from AdmiralCurtiss/x64-dcbx-in-loop
Jit64: dcbx loop detection for improved performance when invalidating large memory regions.
2021-08-16 21:27:16 -04:00
Admiral H. Curtiss 8b2f5d5006 Jit64: Optimize dcbx being called in a loop over a large memory region. 2021-08-17 02:38:00 +02:00
Pokechu22 439bf1597b DSPJitUtil: Remove redundant handling of ac0.h and ac1.h
m_gpr.WriteReg calls PutReg which already handles the sign extension.
2021-08-16 15:09:20 -07:00
Pokechu22 3b4bc9852f DSPInterpreter: Fix sign extension of accumulators
The extension needs to happen in SetLongAcc, not GetLongAcc, as the extension needs to always be reflected in acS.h.

There is no functional difference with the write handler for acS.h, but it is more readable than 4 casts in a row.
2021-08-16 15:09:20 -07:00
Pokechu22 858d0675b9 DSPLLE: Handle cr, sr, and prod.h masking 2021-08-16 15:09:20 -07:00
Mai M 62c3c1a23b
Merge pull request #10034 from JosJuice/jitarm64-w
JitArm64: Fix paired loadstore instruction decoding
2021-08-16 17:08:43 -04:00
Mai M d48d6f280a
Merge pull request #10033 from Pokechu22/dsp-jit-table-masking
DSP/Jit: simplify opcode table by masking
2021-08-16 17:08:18 -04:00
JosJuice 23b81ef495 JitArm64: Fix paired loadstore instruction decoding
One of those fun "how did this ever work" bugs.
2021-08-16 22:08:30 +02:00
Pokechu22 6772d26935 DSP/Jit: simplify opcode table by masking
This was done for the interpreter in aaa19acbd0.
2021-08-16 12:47:31 -07:00
Tilka 0f628ff882
Merge pull request #10028 from GerbilSoft/bugfix/RVT-firmware-filenames
VolumeVerifier: Use correct IOS filename for development discs.
2021-08-16 20:47:07 +01:00
Pokechu22 3d6ff60a96 DSPSpy: Handle modified wr0 and cr registers correctly 2021-08-16 09:51:16 -07:00
JosJuice 611b6ad231 Translation resources sync with Transifex 2021-08-16 16:49:07 +02:00
Mai M 35c64d1f57
Merge pull request #10031 from Pokechu22/dsp-int-less
DSPInterpreter: Fix IsLess
2021-08-15 22:50:02 -04:00
Pokechu22 14119c86a4 DSPInterpreter: Fix IsLess
`IsLess` would incorrectly return true if both `SR_OVERFLOW` and `SR_SIGN` are set, as `(sr & SR_OVERFLOW) != (sr & SR_SIGN)` becomes `SR_OVERFLOW != SR_SIGN` which is true as the two masks are different.  This broke in e651592ef5.

This issue only affected the DSP LLE Interpreter, and not the DSP LLE JIT.

I've also included a simple test case for this.  `ax0.l` (on the top left) is set to 0 if the instruction following `IFL` does not execute and to 1 if it is executed.
2021-08-15 19:45:44 -07:00
David Korth 95d3416305 VolumeVerifier: Use correct IOS filename for development discs.
Retail-signed discs use the format: IOS56-64-v5661.wad
Debug-signed discs use the format:  firmware.64.56.22.29.wad

Debug-signed discs usually have a 128 version of the firmware as well,
since some devkits have 128 MB MEM2. (Retail has 64 MB.)
2021-08-15 12:41:35 -04:00
Tilka 4c179fe448
Merge pull request #10029 from Tilka/clipdisable
VideoCommon: report games that set bits in XFMEM_CLIPDISABLE
2021-08-15 07:07:41 +01:00
Tillmann Karras f9d2d42a4c VideoCommon: report games that set bits in XFMEM_CLIPDISABLE
The SDK only exposes the lowest bit. The Nintendo Channel intro is currently
broken because we don't implement this (see issue 12562).
2021-08-15 04:41:49 +01:00
JMC47 99490cbd7f
Merge pull request #10024 from Tilka/neogeo
GameSettings: force DSPLLE in remaining Neo Geo games
2021-08-14 23:35:49 -04:00