Unknown W. Brackets
ac2c44ddd9
Revert the early wake of threads for io waits.
...
This reverts commit 610ada8721 .
It makes sense to let these run longer. Apparently this caused problems
in Castlevania, see #6432 .
2014-06-28 12:29:55 -07:00
Unknown W. Brackets
745c453b33
Remove hleAfterCheckAllCallbacks().
...
Not being used, doesn't make sense - rescheduling is what does that, only.
2014-06-28 03:10:30 -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
4471b968e8
Increase timeout delay time for waits.
...
Had previously had these lower, but my testing was biased by how quick
other things in ppsspp were.
2014-06-27 00:58:59 -07:00
Henrik Rydgård
e73fcf4ec2
Merge pull request #6436 from ANR2ME/adhoc_
...
Fixed FF-Type0 from seeing duplicated Host, hopefully this will also fix...
2014-06-26 15:20:05 +02:00
AdamN
a98b44d7ab
Fixed FF-Type0 from seeing duplicated Host, hopefully this will also fix all Adhoc games that became broken in my 1st patch
2014-06-26 17:50:37 +07:00
Henrik Rydgård
8042b6f6f1
Merge pull request #6435 from unknownbrackets/replace-funcs
...
Hook the FF1 battle effect func
2014-06-26 11:44:14 +02:00
Unknown W. Brackets
0da972c548
Hook the FF1 battle effect func.
...
So that we can download the framebuffer. At least, it seems like that's
what this function is doing.
2014-06-26 01:38:22 -07:00
Henrik Rydgård
f0cb70d9fb
Merge pull request #6433 from unknownbrackets/frame-timing
...
Maintain timing of at least 30 vblanks per second if possible
2014-06-26 10:33:51 +02:00
Unknown W. Brackets
8172e838a5
Avoid a fast-forward effect when not drawing.
...
This fixes loading screens and such, which drop the fps down to 0 or 6
according to our measure, which can distort audio if we've got free time.
If the system is not keeping up, should have the same behavior as before.
2014-06-26 00:37:03 -07:00
Unknown W. Brackets
23dc69fc9b
Time frames based on current, not last timestep.
...
We need to decide the nextFrameTime when we know how many vblanks it took,
not before. Otherwise, we will miss-time when the fps changes.
2014-06-26 00:36:17 -07:00
AdamN
12ee3d1d39
Fixed Wipeout Pulse unable to see any Host, and should affect many other Adhoc games (was broken in my previous commit)
2014-06-25 20:29:42 +07:00
Unknown W. Brackets
19f4ad8c5c
Dumb mistake in "real time sync" fix.
2014-06-25 00:44:18 -07:00
Henrik Rydgård
fea0a26113
Merge pull request #6414 from unknownbrackets/resched
...
Reschedule immediately in many cases
2014-06-24 22:41:58 +02:00
Henrik Rydgård
a1d359f22c
Merge pull request #6421 from ANR2ME/master
...
Fixed some bugs (ie. possible of memory leaks) on Adhoc, and implement a...
2014-06-24 20:07:07 +02:00
AdamN
7f7b2a3800
Fixed some bugs (ie. possible of memory leaks) on Adhoc, and implement a few more Adhoc functions.
2014-06-24 23:43:03 +07:00
Unknown W. Brackets
87b3a7e566
Avoid overly long lags, recover if system too slow.
...
This will recover better if the system took too long. Also, fixes #6415
by never waiting too long.
2014-06-24 08:27:21 -07:00
Unknown W. Brackets
3ba78c865e
Fix low-level atrac3/atrac3+ decoding.
...
Fixes #6400 .
2014-06-24 01:18:00 -07:00
Unknown W. Brackets
412eee0bd9
Wake good pri threads immediately from timeouts.
2014-06-24 00:49:36 -07:00
Unknown W. Brackets
4626e63294
Wake good pri threads immediately from delays.
2014-06-24 00:45:38 -07:00
Unknown W. Brackets
610ada8721
Wake good pri threads immediately from io waits.
2014-06-24 00:45:26 -07:00
Unknown W. Brackets
8e80bd3928
Wake good pri threads immediately from vblank wait.
2014-06-24 00:45:08 -07:00
Unknown W. Brackets
bacae6106b
Wake good pri threads immediately from ctrl waits.
2014-06-24 00:44:40 -07:00
Unknown W. Brackets
d8cff4509e
Wake good pri threads immediately from audio.
2014-06-24 00:44:35 -07:00
Unknown W. Brackets
6c4a614205
Wake good pri threads immediately from HLE delays.
2014-06-24 00:44:02 -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
Henrik Rydgard
ae09b521c3
Logging reductions
2014-06-23 20:05:12 +02:00
Unknown W. Brackets
ec94498342
When scanning or relocating, check replacements.
...
Just to make sure we don't wrongly detect the length or unresolve a var
wrong etc.
2014-06-23 08:18:56 -07:00
Henrik Rydgård
5436d2f935
Merge pull request #6403 from unknownbrackets/sched-cycles
...
Eat cycles when context switching and delaying
2014-06-23 08:34:28 +02:00
Unknown W. Brackets
17496330ce
Don't wake a killed list in ge callback end.
...
Fixes #3198 , some homebrew demos locking up.
2014-06-22 23:21:10 -07:00
Unknown W. Brackets
633120b895
Fix a crash on read from stdin.
...
Found in a homebrew demo.
2014-06-22 23:18:39 -07:00
Unknown W. Brackets
5e8716f9cc
Adjust strlen() cycle approximation.
...
The hashed implementations take several cycles per character.
2014-06-22 23:18:06 -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
Henrik Rydgard
cefc0bc96f
Play the game's SND0.AT3 when a game is selected in the menu and on the "game screen".
2014-06-22 17:02:04 +02:00
Henrik Rydgard
1d0cc3417c
Audio stuff: Cleanup, delete dead code
2014-06-22 14:01:23 +02:00
Henrik Rydgard
2236b3a52b
sceAtrac3 minor cleanup: Get rid of mutable globals, add another sanity check with reporting
2014-06-22 10:42:27 +02:00
Henrik Rydgård
b5435260b0
Merge pull request #6389 from unknownbrackets/intrman
...
Correct error codes and dup checks in inter registration
2014-06-22 08:54:40 +02:00
Unknown W. Brackets
3498b33033
Allow sub interrupts to be enabled before register.
...
Could've caused interrupts, primarily vblanks, not to run because we
implicitly disabled them on register.
2014-06-21 21:43:44 -07:00
Unknown W. Brackets
87ee0bc650
Return error codes in register/release subintr.
...
This checks for duplicate registrations and other thigns that could've
been causing wrong behavior.
2014-06-21 21:27:58 -07:00
sum2012
f3826bc608
Further add a codecType check
2014-06-22 06:49:02 +08:00
Henrik Rydgård
0fee05d945
Merge pull request #6369 from thedax/reschedule
...
sceDisplayGetVcount should apparently reschedule. Fixes #3234 .
2014-06-21 21:15:53 +02:00
Unknown W. Brackets
de2a3834e0
Abuse esBuffer to track the vid/aud stream id.
2014-06-21 09:27:39 -07:00
Henrik Rydgård
42e28b0c75
Merge pull request #6381 from sum2012/sceAtrac
...
Add a codecType check in sceAtracSetHalfwayBufferAndGetID
2014-06-21 13:33:04 +02:00
sum2012
6fe74d938e
Change to report
2014-06-21 08:00:16 +08:00
sum2012
846eda836f
Add a codecType check in sceAtracSetHalfwayBufferAndGetID
...
Fix crash in #6363
2014-06-21 05:44:29 +08:00
Unknown W. Brackets
ae13d51cef
Don't skip the first psmf frame when syncing audio.
...
Fixes #6374 .
2014-06-20 09:07:18 -07:00