Commit graph

2221 commits

Author SHA1 Message Date
Unknown W. Brackets
529329785b interp: Prevent crash on bad lv.q or sv.q addr.
See #5496.
2021-09-02 07:18:49 -07:00
Unknown W. Brackets
52e9856b4b Debugger: Fix breakpoints on delay slots. 2021-08-23 23:00:30 -07:00
Henrik Rydgård
a74e1a422d GameScreen: Minor logic cleanup, remove Calculate CRC button when not needed. 2021-08-21 20:58:25 +02:00
Henrik Rydgård
025bcb1673 Introduce Path, start using it all over the place.
Still lots left to convert!

Convert GetSysDirectory to return Path.

More buildfixing

Remove unnecessary Path( constructors
2021-05-13 10:39:16 +02:00
Unknown W. Brackets
e0afdfe9be Core: Leave delay slot when re-entering jit.
If stepping, we may get into a delay slot within interpreted code, and
then try to run (i.e. Step Out), which won't clear the delay slot
properly.

This can cause weird behavior when interp is used again later, in addition
to immediate wrong branching behavior.
2021-05-09 08:52:38 -07:00
Unknown W. Brackets
a84df2536a Core: Fix vrot cos(2) typo. 2021-04-25 19:26:16 -07:00
Unknown W. Brackets
07cb37c2c1 Compat: Remove single/double sincos path.
New implementation should work for both cases.
2021-04-25 07:09:50 -07:00
Unknown W. Brackets
ad876f06f3 Core: Special case 1/-1 for cosine.
It still gets these off from zero, so let's just special case.
2021-04-24 16:29:20 -07:00
Unknown W. Brackets
8f41c78ed7 Core: Strip off lower bits of sin/cos results. 2021-04-24 16:29:20 -07:00
Unknown W. Brackets
ad9ad0f70b Core: Apply custom narrowing before VFPU sin/cos.
This makes the results much more accurate to the PSP's results.
Could narrow a bit further swapping sin/cos/neg, which might be what the
hardware does given vrot.
2021-04-24 16:29:20 -07:00
Unknown W. Brackets
e9076c90bb Core: Cleanup VFPU float bit handling.
Just to use a common union.
2021-04-24 15:49:22 -07:00
Unknown W. Brackets
86585e9551 unittest: Fix jit harness init. 2021-04-24 15:48:17 -07:00
Unknown W. Brackets
c4eafcf008 jit: Increase the cycle cost of div.s.
This largely matches tests on a real PSP.
2021-04-12 07:06:18 -07:00
Unknown W. Brackets
53104639ff jit: Increase the cycle cost of VFPU ops.
It seems like they all take at least 2 cycles, which kinda makes sense.
2021-04-12 07:06:18 -07:00
Unknown W. Brackets
bc16a55028 jit: Count delay slot cycles separately.
This makes it easier to count cycles per instruction, instead of ignoring
the delay slot's instruction for cycle count.
2021-04-12 07:04:22 -07:00
Henrik Rydgård
e86e3cc7cd
Merge pull request #14344 from unknownbrackets/debugger-mem
Include more memory info in debugger tags
2021-04-04 11:20:33 +02:00
Unknown W. Brackets
f5de7c23fe Debugger: Note writes from debugger.
To avoid confusion.
2021-04-03 18:14:59 -07:00
Unknown W. Brackets
1d413c2470 Core: Limit scan for functions to end of valid RAM.
Otherwise we can scan ahead and cause a memory exception.
2021-03-28 19:43:26 -07:00
Unknown W. Brackets
4178f09e57 Build: More consistently avoid _M_ defines.
We use PPSSPP_ARCH in several places already, this makes it more complete.
2021-03-02 21:49:21 -08:00
Unknown W. Brackets
d9aecffd72 Build: Remove old ARM define. 2021-03-02 21:26:03 -08:00
Unknown W. Brackets
5119d79082 Build: Remove IOS define. 2021-03-02 21:04:03 -08:00
Unknown W. Brackets
13ec384dbe Build: Explicitly include ppsspp_config.h.
This adds it to all files that use it.  Not all our builds include the
file.
2021-03-02 21:04:03 -08:00
Unknown W. Brackets
7de77e4683 mipsjit: Correct inheritance/compilation. 2021-02-26 07:24:58 -08:00
Unknown W. Brackets
cae0815095 jit: Avoid using mips identifier directly.
Apparently this gets defined on mips systems.
2021-02-26 07:24:58 -08:00
sum2012
00d2a050b8 Hook open season
Fix #13252
original from #13326
2021-02-21 13:46:49 +08:00
Unknown W. Brackets
f32f89dd90 Global: Remove some unused variables. 2021-02-15 11:59:45 -08:00
Henrik Rydgård
0a1303b069
Merge pull request #13938 from unknownbrackets/worms-hook
HLE: Hook Worms text render copy func
2021-02-15 16:32:00 +01:00
Henrik Rydgård
6df37b86bc
Merge pull request #14076 from unknownbrackets/zhp-map
GPU: Force texture invalidation for ZHP minimap
2021-02-15 11:33:32 +01:00
Henrik Rydgård
a2093da542
Merge pull request #14088 from unknownbrackets/fakejit
Jit: Fix compilation of FakeJit and MipsJit
2021-02-15 09:13:38 +01:00
Henrik Rydgård
f6b2070e47 Cause the correct type of exception. Never ignore EXEC_ADDR exceptions. 2021-02-09 09:38:03 +01:00
Henrik Rydgård
6b4356a060 Handle exec addr errors better - don't let IgnoreBadMemoryAccesses skip dispatcher exceptions.
It would then just fall through into the compiler and die.

Should remove one of the "mystery" crashes from #14082.
2021-02-09 09:32:38 +01:00
Unknown W. Brackets
4e24b27053 mipsjit: Fix basic compilation. 2021-02-08 23:30:14 -08:00
Unknown W. Brackets
c7635a5d2f Jit: Fix compilation of FakeJit.
Maybe should just remove this...
2021-02-08 23:17:15 -08:00
Unknown W. Brackets
ec3bfe08ae GPU: Force texture invalidation for ZHP minimap.
See #14069, our texture hash misses this change.
2021-02-07 09:02:28 -08:00
Unknown W. Brackets
5d60fa0d0d Common: Maintain C++11 support in sign extend. 2021-01-31 08:44:02 -08:00
Unknown W. Brackets
1b00da2f3a Common: Sign extend w/func not chained casts.
Should be clearer to read and easier to get right.
2021-01-31 01:25:52 -08:00
Unknown W. Brackets
e99c69f19e jit: Be very clear on sign extension. 2021-01-30 11:41:30 -08:00
Unknown W. Brackets
e397754587 Core: Correct branch analysis truncation. 2021-01-30 11:22:46 -08:00
Gleb Mazovetskiy
c17685646e Fix left shift of negative value in MIPSCodeUtils
Fixes a benign UBSAN error to improve the signal-to-noise ratio of
UBSAN errors.

Fixes #14015
2021-01-30 12:03:40 +00:00
Unknown W. Brackets
c179cad5c2 jit: Make branch shift more obvious.
And also not technically undefined behavior.
2021-01-29 20:53:41 -08:00
Unknown W. Brackets
53b9a8e48c HLE: Hook Worms text render copy func.
This func takes drawn text and replaces stencil with alpha based on the
color intensity to prepare text for blending.

See #12380.
2021-01-17 12:38:03 -08:00
Unknown W. Brackets
5354459476 irjit: Update clobber flag on inst swap.
Fixes IR in Persona 3.
2021-01-10 16:41:45 -08:00
Unknown W. Brackets
9dcb70d502 irjit: Add disable flag for simplify passes. 2021-01-10 14:50:32 -08:00
Unknown W. Brackets
021f4adfad irjit: Fix mtv for INF4. 2021-01-09 12:43:50 -08:00
Unknown W. Brackets
670334bd0c irjit: Correct flags for SetCtrlVFPUReg.
Fixes #13897.  Caused the reg to be optimized out.
2021-01-09 12:33:08 -08:00
Unknown W. Brackets
d3c06266c5 jit: Fix conditional disable flags. 2021-01-09 11:50:32 -08:00
Henrik Rydgård
9e4c7c84ac Only use double precision sincos in Hitman Reborn Battle Arena 2. See #12900 2020-11-23 23:51:07 +01:00
Henrik Rydgård
3db4c0bc5e Partially revert "VFPU: Compute sines and cosines in double precision."
This reverts commit 16654d37ea.
2020-11-23 23:34:33 +01:00
Henrik Rydgård
1b596ef82b Fix/workaround ARM64 with the MASKED_PSP_MEMORY build flag. 2020-11-03 00:20:16 +01:00
Henrik Rydgård
d4c02ccc1c Address feedback about recent changes
Thanks unknown.
2020-10-19 22:50:31 +02:00