Commit graph

1881 commits

Author SHA1 Message Date
Henrik Rydgard
216dc7ad65 Optimize some common ops for immediates 2013-03-10 00:48:44 +01:00
Henrik Rydgård
5983925fc5 Merge pull request #926 from unknownbrackets/armjit-minor
Call GetImm() before Map* in case of overlap
2013-03-09 14:43:46 -08:00
Unknown W. Brackets
a589361b82 Call GEtImm() before Map* in case of overlap. 2013-03-09 14:39:17 -08:00
Henrik Rydgård
0d196bcdc5 Merge pull request #925 from unknownbrackets/perf
Improve perf for thread switching / callbacks
2013-03-09 14:26:21 -08:00
Unknown W. Brackets
6b7ff47617 Improve perf of __KernelExecutePendingMipsCalls().
This was using ~3% in many games with fast forward.  It was all
the RTL type lookup, so avoiding it is an easy win.
2013-03-09 14:21:21 -08:00
Henrik Rydgård
5048829f61 Merge pull request #924 from unknownbrackets/hle-delay
Add dedicated HLE delay/eat cycle funcs
2013-03-09 14:17:56 -08:00
Unknown W. Brackets
f9fc1af5c8 Improve perf of sceKernelCheckCallback().
Some games seem to call this a lot.
2013-03-09 14:11:53 -08:00
Henrik Rydgård
b77d965e56 Merge pull request #917 from unknownbrackets/jit-memcheck
Memory breakpoints (jit x86 only)
2013-03-09 13:55:05 -08:00
Unknown W. Brackets
dba04a7e22 Add a function for HLE to consume cycles.
Needed sometimes to make timing match better for tight loops.
Also removes the Puyo Puyo Fever hack.
2013-03-09 13:53:19 -08:00
Unknown W. Brackets
806ee13b61 Add a delay to sceUtilityLoadAvModule() as well. 2013-03-09 12:53:53 -08:00
Unknown W. Brackets
9100c4a5a2 armjit: Don't MapReg before checking for IsImm(). 2013-03-09 11:57:02 -08:00
Unknown W. Brackets
d2be407223 Make HLE func delayed results more generic. 2013-03-09 11:42:15 -08:00
Unknown W. Brackets
9cf2bcd06c Fix register memcheck to respect offset. 2013-03-09 09:01:23 -08:00
Unknown W. Brackets
81db6aaf92 Properly pause the emu on memcheck hit. 2013-03-09 02:41:50 -08:00
Unknown W. Brackets
d051ea3106 Flush when checking for memcheck coreStates.
Trouble is this has to be done outside the lock.  So, moved out.
2013-03-09 02:41:50 -08:00
Unknown W. Brackets
a926ef6776 Respect read/write only mem breakpoints in x86 jit. 2013-03-09 02:41:49 -08:00
Unknown W. Brackets
15ff927d4d And now the dynamic memory breakpoints in x86 jit.
And add notes that this is interpreter/HLE only for now.
2013-03-09 02:41:49 -08:00
Unknown W. Brackets
68aaac25c6 Use unsigned compares in slowmem x86 jit. 2013-03-09 02:41:48 -08:00
Unknown W. Brackets
d10bdd6938 Basic working imm mem breakpoints in x86 jit.
Seems to work okay.  Doen't cover HLE of course.
2013-03-09 02:41:48 -08:00
Unknown W. Brackets
6290b67984 Validate the full memory access is valid.
Probably barely matters, but since we have the size now anyway...
2013-03-09 02:41:47 -08:00
Unknown W. Brackets
4908fb8046 Don't trip in a delay slot for bad mem access.
Could've done some tricky things... we don't jump correctly then.
2013-03-09 02:41:47 -08:00
Unknown W. Brackets
2d6a730cac Add some basics for memory checks to x86 jit.
Specifically, we will need to be able to bail in delayslots,
and we will need to know the size of the access (useful anyway.)
2013-03-09 02:41:46 -08:00
Unknown W. Brackets
ab66aa4c45 Fix a shutdown crash with close fonts. 2013-03-09 00:54:16 -08:00
Unknown W. Brackets
f3a10fb4c3 Correct arguments to font alloc function. 2013-03-09 00:51:49 -08:00
Henrik Rydgård
e8ed179ca4 Merge pull request #912 from unknownbrackets/savestates
Make sure interpreter and jit savestates match
2013-03-08 15:58:55 -08:00
sum2012
827625ac3f Add WrapI_UUUI
For sceMpegAvcConvertToYuv420 use
public int sceMpegAvcConvertToYuv420(int mpeg, TPointer bufferOutput,
TPointer unknown1, int unknown2) {
return 0;
}
2013-03-09 00:51:17 +08:00
Unknown W. Brackets
c4ab0855b4 Make sure interpreter and jit savestates match. 2013-03-08 08:49:21 -08:00
Sacha
7782be9a3e Try software rounding mode instead. Use conditionals for VFP functions. Note: Round to Zero not working for some reason? 2013-03-08 22:39:34 +10:00
Sacha
fbef590bed Add emitters for VMRS/VMSR. Undisable ceil, which works. Add stub for rounding mode handling. 2013-03-08 22:39:34 +10:00
Henrik Rydgård
0534139b14 Merge pull request #906 from oioitff/master
Not to show charCode with "%c" in sceFont.cpp
2013-03-08 00:33:37 -08:00
Henrik Rydgård
34f4d7a3a3 Merge pull request #904 from raven02/patch-7
Fix slowdown in Ridge Racer 2 or may be others
2013-03-08 00:18:00 -08:00
oioitff
85fb494ee7 Not to show charCode with "%c"
. Because it may have bad affect when we are not using English font.
2013-03-08 16:11:53 +08:00
Unknown W. Brackets
eb34f416d9 Reschedule/delay after sceKernelLoadModule() a bit.
Fixes Twin Brave demo, at least.
2013-03-07 23:18:33 -08:00
Unknown W. Brackets
82059b19da Reschedule better in sceUtilityLoad/Unload.
It's not exactly right but it should help some games.
2013-03-07 22:45:58 -08:00
Unknown W. Brackets
db52d3d43c Quick and dirty attempt to delay loadmodule. 2013-03-07 22:45:58 -08:00
Sacha
6adb6762f2 Enable instructions: ceil, ins (confirmed working). Buildfix for Qt platforms. 2013-03-08 12:36:04 +10:00
raven02
c3b2651660 Add %i for return value 2013-03-08 10:35:17 +08:00
xsacha
9973f0456b Merge pull request #897 from unknownbrackets/jit-minor
Some armjit sync
2013-03-07 18:18:13 -08:00
raven02
54a2ca65ff Fix slowdown in RR2 or may be others 2013-03-08 09:30:04 +08:00
Sacha
cc65b0add9 Fix rounding. Was disabling wrong rounding mode. Previous one wasn't merge-ready but should be OK now. Only tests that fail are VFPU now. 2013-03-07 22:34:20 +10:00
Henrik Rydgård
5854460a3d Merge pull request #893 from xsacha/master
Armjit: Bug fixes
2013-03-07 04:03:41 -08:00
raven02
1fd2e5aadb Add optionAddr to sceKernelLoadModule 2013-03-07 19:43:17 +08:00
Sacha
b9ec281c55 Disable rounding methods that aren't working in hardware. Add some notes. Fix compare fall-through and choose right round method. 2013-03-07 21:33:30 +10:00
raven02
691bc2df3f Update sceKernelGetModuleIdByAddress 2013-03-07 19:29:49 +08:00
Unknown W. Brackets
cea396e901 armjit: Don't use R1 in the regcache.
This way it can be used in swl/swr/ins as a temp reg.
Note: those instructions are currently DISABLEd, though.
2013-03-07 02:09:13 -08:00
Unknown W. Brackets
925e4e42bd armjit: Disable ext for now, breaks Disgaea? 2013-03-07 02:08:45 -08:00
Unknown W. Brackets
d525abbcad Cleanup some indentation, more compares to 0. 2013-03-07 02:08:45 -08:00
Unknown W. Brackets
028e85dc92 Cleanup some differences between the two jits. 2013-03-07 02:08:44 -08:00
Unknown W. Brackets
669600bd8a Minor cleanup. 2013-03-07 02:08:44 -08:00
CrazyMax
bcac3e288b Buildfix: missing semicolon. 2013-03-07 01:58:58 -08:00