Henrik Rydgard
b07b002040
Introduce "Compatibility Flags".
...
These should be used very restrictively, see comment in Compatibility.h.
Should help #8004 , by disabling depth rounding in Fight Night round 3.
2015-09-27 01:23:20 +02:00
Unknown W. Brackets
91632a1ea5
Add some fallback logic when scheduling dies.
2015-09-12 13:36:52 -07:00
Unknown W. Brackets
c03b163537
Move ThreadQueueList to a separate file.
...
Not reused anywhere, but just so it's a little cleaner.
2015-09-12 13:03:15 -07:00
Unknown W. Brackets
a1139a4f45
Add some comments to the thread queue handling.
2015-09-12 12:57:44 -07:00
Unknown W. Brackets
909e4b9bd8
Switch lo and hi so that low comes first.
...
This way we can treat it as a single 64-bit value.
2015-06-28 10:42:19 -07:00
Henrik Rydgard
8dc77ff32e
ARM64: Turn off some debugging stuff, start implementing instructions. Something is wrong though, if I implement more than addiu things break..
2015-04-06 18:13:09 +02:00
Unknown W. Brackets
2450724be2
Make Memory::Memcpy() execute memchecks directly.
...
This makes it easier to handle breakpoints in HLE.
2015-04-05 18:09:20 -07:00
Unknown W. Brackets
8d5f843bb8
Cleanup thread start and create logging.
...
Also report less cases.
2015-03-28 14:46:09 -07:00
Unknown W. Brackets
fc3d6ff04a
Disable reporting for some thread funcs.
...
We know they are misused and it's not giving us extra information.
2015-03-28 14:32:32 -07:00
Unknown W. Brackets
0aaabcaac9
Clear old registered action types on reset.
2015-03-28 13:01:49 -07:00
Unknown W. Brackets
c2153ff976
Add new logging in sceKernelCreateThread().
2015-03-22 21:22:40 -07:00
Unknown W. Brackets
110cc119ce
Change some logging in the last Callback func.
2015-03-22 20:51:56 -07:00
Unknown W. Brackets
52a37c1330
Actually use the table's arg and ret masks.
2015-03-22 20:51:56 -07:00
Unknown W. Brackets
fcf0518223
Update all the HLE tables with arg and ret info.
2015-03-22 20:51:55 -07:00
Unknown W. Brackets
41631eb2b1
Try a different format of HLE logging.
2015-03-22 20:49:42 -07:00
Henrik Rydgard
fd1dcb881f
Add ability to flag function to clear a bit of stack. See #6374 , idea by JPCSP, pointed out by sum2012.
2015-03-02 01:03:12 +01:00
Chin
22593cddcc
Use pre-increment instead of post-increment for iterators, and use auto for some iterators
2015-03-01 16:55:47 +01:00
Unknown W. Brackets
d5c7fb3f0e
Avoid an out of bounds mem access.
2015-01-17 18:43:03 -08:00
sum2012
589cf551a0
Revert "Fixed an issue when MipsCall executed on any random thread instead of it's own thread causing some registers to be corrupted and leading to invalid address access"
...
This reverts commit 8a65d73ad2
.
2015-01-04 13:04:05 +01:00
AdamN
1c7152db3a
Adding Branch opcode to the MAKE_MIPS
...
Temp revert old version to fix conflict; Implementing built-in PRO Adhoc Server; Add back sceUsbGps
Implementing more Adhoc functions, and some bug fix (i don't remember them anymore)
2015-01-04 13:04:02 +01:00
AdamN
69fb339a83
Fixed an issue when MipsCall executed on any random thread instead of it's own thread causing some registers to be corrupted and leading to invalid address access
2015-01-04 13:04:01 +01:00
Unknown W. Brackets
e6a50a1371
Initialize vfpu regs are NAN, not 0.0.
...
This matches tests, the fpu, and seems logical.
2015-01-03 10:40:21 -08:00
Lioncash
cac632424c
Core: Add missing override specifiers
2014-12-08 15:20:31 -05:00
Lioncash
4ccb838306
Core: Mark some module functions as static
2014-12-08 04:40:08 -05:00
Unknown W. Brackets
0f45c3516d
Skip setting a0 in the idle thread.
...
We don't need the param for our fake syscall. This is safe since it's all
savestated.
2014-10-12 12:51:48 -07:00
Unknown W. Brackets
feada0ee65
Adjust some logging.
...
Report logic op more correctly, cleanup an incorrect log.
2014-09-28 15:13:52 -07:00
Henrik Rydgård
b2f5efaa50
Merge pull request #6822 from unknownbrackets/thread-funcs
...
Improve some timing / thread funcs
2014-09-02 09:49:46 +02:00
Unknown W. Brackets
c9df66a450
Initialize the VFPU revision from a PSP-3000 value.
2014-09-01 23:16:50 -07:00
Unknown W. Brackets
2923800217
Eat some cycles when starting a thread.
...
Seems to improve a test a bit, based on tests.
2014-09-01 21:12:13 -07:00
Unknown W. Brackets
909ac62669
Return a proper error for fake TMIDs.
2014-08-17 14:38:56 -07:00
Unknown W. Brackets
6852e32d6b
Support other thread TMIDs in uid listing.
2014-08-17 14:38:55 -07:00
Unknown W. Brackets
b8f8707ea1
Allow a bad pts on zero size when listing uids.
2014-08-17 14:38:55 -07:00
Unknown W. Brackets
feeb03b5ff
Fix return values in sceKernelGetThreadmanIdList().
...
Support other object types as well, but not threads/etc. properly yet.
2014-08-17 14:38:54 -07:00
Unknown W. Brackets
292a9ea567
Clear module text and bss on unload.
...
Text is set to break instructions, data/bss to -1. Matches results on a
PSP.
2014-07-13 22:00:32 -07:00
Unknown W. Brackets
98d3dc4be8
Typos.
2014-07-12 13:48:30 -07:00
Unknown W. Brackets
ef4847b6f5
Don't double decrease g_inCbCount.
...
Happened when a thread was deleted, it seems like. Fixes #6542 .
2014-07-12 09:57:13 -07:00
Unknown W. Brackets
0a33eb4c42
Fix missing log semicolons only affecting logging.
2014-06-29 19:09:39 -07:00
Unknown W. Brackets
0078faef8b
Fix some log semicolons that might affect logic.
...
But, these should all be right.
2014-06-29 19:09:38 -07:00
Unknown W. Brackets
1c3b60a8ee
Allow changing software skinning at runtime.
2014-06-28 21:46:43 -07:00
Unknown W. Brackets
b4594c7bc5
Avoid Advance() twice, cleanup some comments.
2014-06-28 16:20:35 -07:00
Unknown W. Brackets
b68ad3844e
Simplify __KernelReSchedule().
...
It no longer needs all these checks, and we can Advance within callbacks,
interrupts, etc. safely.
2014-06-28 16:17:52 -07:00
Unknown W. Brackets
0edeb085ab
Allow rescheduling within callbacks.
2014-06-28 14:58:56 -07:00
Unknown W. Brackets
10096b94f2
Correctly remember callback status when sleeping.
...
If a callback triggered right away after a sceKernelSleepThreadCB(), it
would trigger the "current callback" and remember callback status as
false, instead of true (since it was set later.)
This corrects that by ignoring it if both are set.
2014-06-28 03:06:30 -07:00
Unknown W. Brackets
5ab3750186
Reduce the thread switching cost.
...
Maybe it was actually too high. Some tests fail with it that high.
2014-06-27 01:00:11 -07:00
Unknown W. Brackets
4626e63294
Wake good pri threads immediately from delays.
2014-06-24 00:45:38 -07:00
Unknown W. Brackets
118736ff75
Don't eat extra cycles when idling.
...
Rescheduling between threads takes about 3000 cycles, but that's not true
for both sides of e.g. a delay.
Fixes #6409 (assuming 60fps is what a PSP gets.)
2014-06-23 23:02:46 -07:00
Unknown W. Brackets
c1e293fe7c
Fix a warning on 32-bit that might be bad...
2014-06-22 22:17:48 -07:00
Unknown W. Brackets
392edb4f84
Eat some cycles when switching threads.
...
There's a cost and it seems to be at least this much. Matters for
Wipeout Pure when callbacks are allowed to wait.
2014-06-22 22:17:47 -07:00
Unknown W. Brackets
e8803c4e9b
Improve sceKernelDelayThread() timing.
...
A delay of 0 never reschedules, actually, unless there's a better priority
thread. A greater delay depends on if a >= or similar check matches, but
generally is at least 200us.
It seems like this actually completes in at least another 10-20us.
2014-06-22 19:47:54 -07:00
Unknown W. Brackets
8851fc1685
Remove savedIdRegister/MIPS_CALL_ID.
...
We've never trusted it anyway, simpler without dealing with this stuff.
2014-06-22 11:29:47 -07:00