Commit Graph

3436 Commits

Author SHA1 Message Date
Unknown W. Brackets
2f90c8d35a Fix a bad == comparison typo. 2014-07-15 23:33:01 -07:00
Sacha
1ce39d7e95 Improve frame timing on non-Windows. Disable IdleTiming when audio is disabled. 2014-07-16 01:04:43 +10:00
Unknown W. Brackets
ff7c3ab10d Oops, would still infinite loop on a bad module.
Should really fix #6552 this time.
2014-07-15 07:14:13 -07:00
Unknown W. Brackets
2da02f97c8 Null check modules on loadexec.
Should fix #6552.
2014-07-14 22:14:23 -07:00
Henrik Rydgård
c4bebda182 Merge pull request #6549 from unknownbrackets/modules
Correct some module func return values, info values, and clear on unload
2014-07-14 14:11:29 +02:00
Unknown W. Brackets
bddeba5901 Add a safety check for lots of segments. 2014-07-13 23:51:36 -07:00
Unknown W. Brackets
4ced0e86b1 Return an error code when module load fails.
If we're out of memory, we need to tell the game, of course.
2014-07-13 22:00:33 -07:00
Unknown W. Brackets
7c4aab3cc2 Warn on exports from syslib.
They don't seem to hook up properly on hardware by the module name.
2014-07-13 22:00:33 -07:00
Unknown W. Brackets
50402a3d49 Return NOT_YET_LINKED for unlinked module funcs. 2014-07-13 22:00:32 -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
ede29179c6 Cleanup remaining modules on loadexec. 2014-07-13 22:00:31 -07:00
Unknown W. Brackets
729377881c Protect against modules with no start address.
Generally, fake ones.
2014-07-13 19:58:30 -07:00
Unknown W. Brackets
4a94a30ba6 Calculate the module info data/text/bss size. 2014-07-13 19:53:00 -07:00
Unknown W. Brackets
1c7873e2f5 Fill the module info segment addresses and sizes. 2014-07-13 19:16:25 -07:00
Unknown W. Brackets
399d4d1ba9 Correct sceKernelModuleStart() return value. 2014-07-13 15:16:03 -07:00
Unknown W. Brackets
3fa1481fe9 Cut down on "remaining data in packet" reports.
Looks potentially like a bug in FFmpeg.
2014-07-13 11:26:00 -07:00
Unknown W. Brackets
8dd783f719 Correct HLE function name per sha. 2014-07-13 11:03:23 -07:00
Unknown W. Brackets
81096f6bd0 Hook Dissidia's avi record func.
This makes it so replays can be recorded.  Though you could probably just
record separately anyway.
2014-07-13 08:36:34 -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
b370621a3a Fix sceCtrl buffer update timing drift.
Spotted by xsacha.  Only when not using vblank timing (most commonly used
by games.)
2014-07-06 01:08:44 -07:00
Unknown W. Brackets
2910f7e7a2 Flush icache before memcpys.
Maybe there's a way to optimize this better...
2014-07-05 13:23:47 -07:00
Unknown W. Brackets
cd78e1676d Fix savestates broken by #6493. 2014-07-05 07:30:03 -07:00
Sacha
2bb87bbe23 HLE: sceUsb stubs. 2014-07-04 06:27:01 +10:00
Sacha
135c79ee78 Implement sceGzipDecompress and sceDeflateDecompress. Some games (eg. Suto Mani / Strobe Mania) required this. They are now playable. Fixes #146 2014-07-03 13:58:47 +10:00
Karen Tsai
1d1096633f Removed some extraneous tabs in sceKernelModule.cpp 2014-07-02 13:21:27 -04:00
Henrik Rydgård
da32e5d4e3 Merge pull request #6481 from sum2012/sceKernelModule
Correct sceKernelSelfStopUnloadModule
2014-07-02 18:30:38 +02:00
Unknown W. Brackets
2d54c1cf4e Reset the audio rate on save/load state.
Should fix #6484.
2014-07-02 08:11:26 -07:00
sum2012
96c6a53e58 Fix space bug 2014-07-02 20:27:17 +08:00
sum2012
0256c7e056 Use with same code with sceKernelStopUnloadSelfModuleWithStatus 2014-07-02 20:08:27 +08:00
Unknown W. Brackets
b73c1ba29b Reduce audio drift from 44.1kHz.
Although, not sure what the PSP's actual exact timing is...
2014-07-01 23:08:38 -07:00
sum2012
eecd9038cd Init exitCode variable 2014-07-02 08:00:41 +08:00
sum2012
bc4a9149d3 Correct sceKernelSelfStopUnloadModule
Fix #4237
2014-07-02 07:25:49 +08:00
Unknown W. Brackets
e505655c2b Fix a potential crash/race condition.
If anything is behind, it might run __AudioWakeThreads() within
reschedule, and get confused.
2014-07-01 08:02:34 -07:00
Unknown W. Brackets
5cd4a17e88 Fix periodic events drifting when eating cycles.
Need to set the next timer before rescheduling threads or etc.
2014-07-01 00:26:15 -07:00
Henrik Rydgård
bfffe33438 Merge pull request #6469 from unknownbrackets/logging
Enforce semicolons at the end of log lines
2014-06-30 11:44:02 +02:00
Unknown W. Brackets
c6f5ddd7a4 Reset replacements on loadexec.
Just to make sure we don't get confused.
2014-06-30 00:27:05 -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
5db79dcf11 Fix some missing semicolons on log statements. 2014-06-29 19:09:37 -07:00
Henrik Rydgard
38609f3e6b Cleam up thread names a bit, name the Main thread.
Also makes some logging VERBOSE.
2014-06-29 12:53:03 +02:00
Unknown W. Brackets
1c3b60a8ee Allow changing software skinning at runtime. 2014-06-28 21:46:43 -07:00
Henrik Rydgård
b379109380 Merge pull request #6450 from unknownbrackets/gpu-blocktransfer
Clear framebuffers/textures upon sceKernelLoadExec()
2014-06-29 01:48:34 +02: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
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
Unknown W. Brackets
9efbc2694b Add an invalidate all method to the jit. 2014-06-19 01:13:06 -07:00
Unknown W. Brackets
5f4a0d8174 Fix a few minor warnings. 2014-06-19 00:47:58 -07:00
The Dax
eb94587391 sceDisplayGetVcount should apparently reschedule. Fixes #3234. 2014-06-18 19:35:16 -04:00
Unknown W. Brackets
913914a4c1 Fix some type conversion warnings. 2014-06-15 10:01:54 -07:00
Henrik Rydgard
4e6baaf360 wasPaused int->bool 2014-06-15 00:03:55 +02:00
Henrik Rydgard
3b2fed472e Correct timing on resume, avoids small speed burst when resuming gameplay from pause 2014-06-14 23:56:16 +02:00
Unknown W. Brackets
03f86f364f Skip debug stepping time in list/func time.
Just makes the debug stats actually useful while stepping.  A bit of
overengineering, but it makes it easy to go frame-by-frame looking for
perf issues.
2014-06-14 08:42:18 -07:00
Henrik Rydgård
cb6aa5a708 Merge pull request #6305 from unknownbrackets/resched
Reschedule after many cases of eating cycles
2014-06-13 20:46:51 +02:00
Unknown W. Brackets
aa6355a9e5 Reschedule after many cases of eating cycles.
All of these eat enough cycles they could cause issues in a loop, and I'm
pretty sure they would reschedule.
2014-06-13 00:30:21 -07:00
Unknown W. Brackets
c29062de9f Add memory breakpoints on sceIo read/write. 2014-06-12 00:42:25 -07:00
Unknown W. Brackets
dd4b191003 Correct Gods Eater Burst tex download size.
Probably takes care of #6289, although it doesn't crash for me.
2014-06-10 22:59:08 -07:00
Sacha
c745072b55 Update Symbian to GCC 4.8.3 2014-06-11 03:10:50 +10:00
Sacha
37b7667038 Remove some unnecessary #ifdef's relating to Symbian. 2014-06-10 23:06:00 +10:00
Henrik Rydgard
d6b51d4dfa Reduce some excessive logging 2014-06-09 19:40:05 +02:00
Unknown W. Brackets
a926b19c03 Hook Tales of Phantasia X save pictures.
Maybe other games will use the same func even.  This makes save pictures
work correctly the first time.
2014-06-08 16:38:43 -07:00
Henrik Rydgard
a31194a877 Add some sanity checks when looking up syscalls.
This may avoid crashing the emu when it starts executing junk (still not good of course, heh).
2014-06-08 13:03:03 +02:00
sum2012
cfa0e752e1 Fix Replace_memcpy crash
Fix Replace_memcpy crash in #5496
2014-06-08 01:01:47 +08:00
Sacha
8ac1c17f74 Fix a warning. Update native (fix SDL joystick). Fixes #6241. 2014-06-08 00:56:57 +10:00
Unknown W. Brackets
90b30f8bfe Use module start func, not entry, if specified.
Fixes #5539, Ranshima Monogatari Rare Land Story.  Still logging in case
it causes a problem.
2014-06-07 06:28:23 -07:00
Unknown W. Brackets
a7b9ce205b Enable function replacements by default.
So things like Star Ocean work, and game memcpy()'s to GPU work.

This will make game start on mobile a bit slower, though.  And there could
still be bugs so leaving as an option, but seems pretty stable.  Didn't
realize it wasn't enabled by default.
2014-06-07 00:13:45 -07:00
Unknown W. Brackets
aa3a429a0b Avoid unaligned 32 bit reads.
They make Symbian do odd things.
2014-06-05 01:12:27 -07:00
Unknown W. Brackets
66d0cef0de Avoid calling select() with an error pointlessly.
It's just a spin loop unfortunately anyway.
2014-06-03 01:48:10 -07:00
Unknown W. Brackets
0bba5310b6 Fix lagsync with alternate speed set. 2014-06-03 01:36:20 -07:00
Unknown W. Brackets
39b1d97beb Make the lag sync adapt to minor variance. 2014-06-02 23:34:48 -07:00
Unknown W. Brackets
29f2519861 Add an experimental sync to keep real time sync.
May help input, audio, and network related lag problems.
2014-06-02 23:34:48 -07:00
Henrik Rydgård
71a6a4ba04 Merge pull request #6183 from sum2012/scemp4
Small improve in scemp4 part 2
2014-06-01 15:44:48 +02:00
Unknown W. Brackets
f6d4be1d49 Hook Star Ocean's function to upload stencil data.
Hurray, it seems to work properly.
2014-05-31 21:48:11 -07:00
Unknown W. Brackets
b603a71281 Fix Star Ocean movement problems due to memcpy.
It needs to handle overlap correctly, ugh.
2014-05-31 21:48:10 -07:00
Unknown W. Brackets
a09b738879 Fix exit replacement hooks. 2014-05-31 21:48:10 -07:00
Unknown W. Brackets
c142207a93 Fix a few warnings, mostly type comparisons. 2014-05-31 21:42:57 -07:00
sum2012
a711e3eadd Remove the hack 2014-06-01 05:09:14 +08:00
Unknown W. Brackets
1433b98c46 Clean up the framebuffer force downloads. 2014-05-31 10:03:03 -07:00
Unknown W. Brackets
b2dc92b942 Add a hook for Hexyz Force's "monoclome" thread.
This fixes missing graphics in some areas in GLES, due to direct framebuf
access.
2014-05-31 10:03:02 -07:00
Unknown W. Brackets
5dd8ebe2b4 Add a hook for Gods Eater Burst's swizzled copy. 2014-05-31 10:03:01 -07:00
Unknown W. Brackets
f489694515 Add the option to hook, rather than replace, funcs.
This can be useful for debugging or developing translations/game hacks,
and also gives us options when dealing with GLES incompatibilities.
2014-05-31 10:03:00 -07:00
sum2012
9f269c39d4 Fix space bug
VS2013 bad thing
2014-05-30 06:15:05 +08:00
sum2012
b308052077 Small improve in scemp4 part 2 2014-05-30 06:07:58 +08:00
Henrik Rydgård
770d0d7adb Merge pull request #6178 from unknownbrackets/audiocodec-fix
Cleanup sceAudiocodec some
2014-05-29 20:04:25 +02:00
Henrik Rydgård
018468d9e0 Merge pull request #6180 from sum2012/log
Remove sceUtilityLoadAvModule report
2014-05-29 20:03:26 +02:00
sum2012
38844ac0e7 Remove sceUtilityLoadAvModule report
Now no need
2014-05-29 23:36:36 +08:00
sum2012
bf0f0b87d6 Small improve scemp4 part 1 2014-05-29 23:33:17 +08:00
Unknown W. Brackets
4bb6709eb2 More cleanup in sceAudiocodec. 2014-05-29 08:19:26 -07:00
Unknown W. Brackets
0b59cc4c35 Use a std::map in sceAudiocodec. 2014-05-29 08:16:47 -07:00
Unknown W. Brackets
a09f1fd80f Clean up a leak in sceAudiocodec load state. 2014-05-29 08:11:00 -07:00
Unknown W. Brackets
77b5cb7629 Reset decodePos in lowlevel decode.
FFmpeg was smart enough to do this for us, but not when we loaded a
savestate.  This is because without a savestate, we returned an initial
small header packet of this size, which gave FFmpeg the idea that seeking
there might help.

But, since we're forcing the decode at a certain position the better thing
is to seek ourselves.
2014-05-29 00:38:20 -07:00
Unknown W. Brackets
f29233386c Initialize some variables. 2014-05-29 00:16:16 -07:00
Unknown W. Brackets
a229593105 Erp, forgot to amend, sorry. 2014-05-28 22:49:49 -07:00
Unknown W. Brackets
63bb52bc42 Use the correct size in sceAudioCodec savestates.
ARRAY_SIZE(ptr) ain't gonna work.  Fixes #6173, thanks Lioncash.
2014-05-28 22:45:51 -07:00
Henrik Rydgård
94810e2451 Merge pull request #6159 from sum2012/sceio
sceio:Remove fix Buzz Ultimate Music Quiz Crash Sporadically code
2014-05-27 17:44:00 +02:00
Unknown W. Brackets
0de41cd028 Don't savestate replacement funcs.
This makes it so we can reorder them as we like, which is nicer, and also
makes sure there won't be weird compatibility problems or etc.
2014-05-27 08:02:41 -07:00
Unknown W. Brackets
8dcc09c9e1 Use a separate func for gpu memset(). 2014-05-27 07:50:01 -07:00
sum2012
a24b1cf024 sceio:Remove fix Buzz Ultimate Music Quiz Crash Sporadically code
Now no need the code.
link #4497
2014-05-27 22:47:28 +08:00
Unknown W. Brackets
b73c575418 Support swizzled framebuffer downloads.
Used in God Eater 2 when showing the load save screen.
2014-05-27 01:17:09 -07:00
Unknown W. Brackets
64f6012dba Support memsets of framebuffers as uploads.
Technically should clear stencil too... maybe it'd be better to handle
separately.
2014-05-27 01:17:09 -07:00
Henrik Rydgård
2275c3a457 Merge pull request #6142 from unknownbrackets/psmfplayer
End the video when we run out of packets
2014-05-26 10:56:33 +02:00
Unknown W. Brackets
8275f613ce UpdateMemory() now returns whether to skip the cpy.
This way it can do it itself as necessary in the right order.
2014-05-25 21:48:41 -07:00
Unknown W. Brackets
df22d0609f End the video when we run out of packets.
If there are no audio or video packets left, even if we haven't hit the
pts, the video is over.
Fixes #6135, hanging in Chinese translation of Clannad.
2014-05-25 18:45:31 -07:00
Henrik Rydgård
270fc2daf7 Merge pull request #6079 from sum2012/log
Report sceUtilityLoadAvModule
2014-05-25 09:24:57 +02:00
Henrik Rydgård
95c95d07a4 Merge pull request #6131 from sum2012/Net
Small improve of sceNetAdhocMatching*
2014-05-25 09:24:32 +02:00
Henrik Rydgård
cc8ae194da Merge pull request #6132 from unknownbrackets/module-ver
Report devkit for blacklisted modules too
2014-05-25 09:23:53 +02:00
Unknown W. Brackets
27f8eb6d8a Call gpu->UpdateMemory() from memcpy() funcs. 2014-05-24 21:59:25 -07:00
Unknown W. Brackets
0248b0ba09 Add memchecks to replaced functions. 2014-05-24 21:53:42 -07:00
sum2012
1d36836d2d Add some constant 2014-05-25 10:51:00 +08:00
Unknown W. Brackets
c1fdb5fc5b Might as well allow imports to blacklisted.
If someone's trying to read their code.
2014-05-24 17:15:25 -07:00
Unknown W. Brackets
8ef00232d3 Parse exports of blacklisted modules.
But ignore them.  This allows us to get the devkit version and other
potentially useful information.
2014-05-24 17:13:26 -07:00
sum2012
b8e0fc8fa7 Small improve of sceNetAdhocMatching*
Now Metal Slug XX can display online screen.
2014-05-25 07:57:02 +08:00
Unknown W. Brackets
213646b218 Correct errors in minor psmfplayer funcs. 2014-05-24 15:35:51 -07:00
Unknown W. Brackets
68bccebdeb Clear the psmfplayer handle on delete. 2014-05-24 14:13:18 -07:00
Unknown W. Brackets
c651a0d1e9 Correct status check in scePsmfPlayerStop(). 2014-05-24 12:46:34 -07:00
Unknown W. Brackets
64df42d613 Don't change status in scePsmfPlayerBreak().
It was changed to INIT in d37100b30a, but I
think that only fixed the game because STANDBY was wrong.  Not changing
the status is the correct behavior.
2014-05-24 12:41:40 -07:00
Unknown W. Brackets
d4e548013e Don't zero paused, but do zero end in psmfplayer.
To make sure the video/audio sync up.

If an audio frame was already decoded, it should technically be returned,
but after that it will return an error.
2014-05-24 01:31:50 -07:00
Unknown W. Brackets
222be04b38 Cleanup err codes in scePsmfPlayerGetAudioData().
Even if there's no *more* audio, if the current audio is valid return 0.
2014-05-24 01:10:26 -07:00
Unknown W. Brackets
bc661f4f10 Clean up a duplicate if branch. 2014-05-23 23:02:23 -07:00
Unknown W. Brackets
28a9f7155a Handle a default video with of 0 in psmfplayer. 2014-05-23 23:01:26 -07:00
Unknown W. Brackets
c03aa31240 Write video frames even while paused.
This function just writes the video data to the buffer if at all possible.
2014-05-23 23:00:48 -07:00
Unknown W. Brackets
13b735fd02 Validate more params in scePsmfPlayerGetVideoData. 2014-05-23 23:00:01 -07:00
Unknown W. Brackets
6c52ec524d Fix typo (warning.) 2014-05-23 08:47:12 -07:00
Unknown W. Brackets
ab57bcd4b3 Fix errors and scheduling in psmfplayer stop. 2014-05-22 23:41:38 -07:00
Unknown W. Brackets
75e4575ffe Properly schedule psmfplayer video finish.
Fixes #2251, hurray.
2014-05-22 23:40:44 -07:00
Unknown W. Brackets
b9ede6aade Add a class to create helper threads from HLE.
This should be usable from sceIo as well.
2014-05-22 23:38:21 -07:00
Unknown W. Brackets
a2031cdc62 scePsmfPlayerGetVideoData() keeps going at end.
Even if the video has ended, this happily returns the last frame (with the
same pts value) over and over.  Audio or no audio.

It only returns no data when it's called too early.
2014-05-22 22:19:10 -07:00
Unknown W. Brackets
e79d700bf0 Fix error codes in scePsmfPlayerGetVideoData(). 2014-05-22 22:17:42 -07:00
Unknown W. Brackets
da03308bfa Small correction to psmfplayer seeking.
Should be the specific position after the fileoffset, and should be offset
by the start pts thing...
2014-05-22 00:34:47 -07:00
Unknown W. Brackets
1c4053f3c6 Correct scePsmfPlayerUpdate() finished timing.
With or without audio, it always sets the end on the second call after the
last frame.  Makes sense.
2014-05-22 00:08:18 -07:00
Unknown W. Brackets
288d867588 Fix a type comparison warning. 2014-05-21 08:00:31 -07:00
Unknown W. Brackets
29bd4b63e4 Fix a bunch of formatting warnings. 2014-05-21 07:59:58 -07:00
Unknown W. Brackets
67fc607671 Oops, dumb mistake in reporting. 2014-05-21 01:17:15 -07:00
Unknown W. Brackets
5c13d482e0 When reporting module versions, include devkit ver.
Looks like this'll be the ticket for scePsmfPlayer, which has different
functionality in different versions (including when and how end of video
is flagged, which FF2 depends on.)

Now let's see what versions are out there.
2014-05-21 01:11:33 -07:00
Henrik Rydgård
90c3768ba8 Merge pull request #6101 from hilesaz/master
Fix nonblocking ptpConnect on Windows
2014-05-20 15:29:51 +02:00
Henrik Rydgård
2cfc6bb880 Merge pull request #6100 from sum2012/sceMpegAvcCsc
Revert "Apply hleDelayResult to sceMpegAvcCsc"
2014-05-20 14:11:39 +02:00
Unknown W. Brackets
346f725334 Don't allow seeking without an EPmap. 2014-05-18 21:58:43 -07:00
Unknown W. Brackets
aafc8f1cec Validate and report initial psmfplayer playMode.
We only support play and pause, but they're the only ones I've seen.
2014-05-18 21:41:15 -07:00
Unknown W. Brackets
0c77d3c2ea Delay scePsmfPlayerStart() when seeking.
It seems to only delay when it was already playing.
2014-05-18 20:59:18 -07:00
Unknown W. Brackets
ceebdca2fb Check scePsmfPlayerStart() params like the PSP.
It doesn't care if there's actually audio data here.
2014-05-18 20:48:02 -07:00
Unknown W. Brackets
cd9d85caff Add a delay when setting the psmfplayer file.
This roughly matches the delay that occurs on a real PSP, during which
other threads can run.
2014-05-18 20:43:10 -07:00
Unknown W. Brackets
923189ab47 Prevent a crash on bogus data in psmfplayer. 2014-05-18 20:30:58 -07:00
Unknown W. Brackets
242fe2f3a9 scePsmfPlayerGetVideoData() writes every frame.
Thought it didn't due to dcache not being invalidated.  Fixes #6085.
2014-05-18 19:26:05 -07:00
Unknown W. Brackets
55fd30b520 Skip a bit of work when syncing video/audio. 2014-05-18 19:20:34 -07:00
Bovine
c76548377c Fix nonblocking ptpConnect on Windows
According to
http://msdn.microsoft.com/en-us/library/windows/desktop/ms737625%28v=vs.85%29.aspx
"[...] it is not recommended that applications use multiple calls to
connect to detect connection completion.  If they do, they must be
prepared to handle WSAEINVAL and WSAEWOULDBLOCK error values the same
way that they handle WSAEALREADY, to assure robust operation."

Ideally socket->state should be set to a different state and select()
used to poll sockets until state can be switched to closed or
established.  Changes to socket->state are visible to games as so
probably should not be done without testing.
2014-05-18 06:41:02 -07:00
sum2012
f047320a9c Revert "Apply hleDelayResult to sceMpegAvcCsc"
Fix video 's screen dislocation in Bleach heat of soul 6
#5535
2014-05-18 12:25:32 +08:00
sum2012
b8d82e0a92 Correct Memory check in sysclib_memset 2014-05-18 04:23:10 +08:00
sum2012
bc36555f24 sysclib_memset change to WrapU_UII 2014-05-18 04:20:48 +08:00
sum2012
21c301962b Add some kernal module
Find in bugz Homebrew
2014-05-17 23:06:01 +08:00
Unknown W. Brackets
2ad06d777b Eat cycles and resched in sceGeContinue().
Fixes the gpu/ge/queue test.
2014-05-15 22:45:09 -07:00
Unknown W. Brackets
f7424c6671 Validate the psmf address in scePsmfSetPsmf().
Just to prevent crashes, don't think it's happening anyway.
2014-05-15 01:11:50 -07:00
Unknown W. Brackets
a5e374fc57 Only warn when getting pts without any frame yet. 2014-05-15 00:30:06 -07:00
Unknown W. Brackets
a429e5f8d6 Defer psmf seeking to Update() calls, use epmap.
This improves performance significantly.
2014-05-15 00:14:27 -07:00
Unknown W. Brackets
b0ebcfd087 Allow creating a Psmf from non-PSP RAM.
This way we can reuse the epmap reading code, etc.
2014-05-15 00:10:01 -07:00
sum2012
4ae98826e1 Increase sceUtilityLoad(unload) AvModule
I want do more research of #5993
2014-05-14 15:32:15 +08:00
Unknown W. Brackets
8404a52ab9 Fix typo in scePsmfPlayerStart() rewind. 2014-05-12 07:33:00 -07:00
Unknown W. Brackets
578e4e049b When psmfplayer video is behind audio, skip frames.
This is what the PSP does.  Basically the audio pts drives sync.
2014-05-11 21:51:28 -07:00
Unknown W. Brackets
3205964204 Validate and support stream params in psmfplayer. 2014-05-11 14:23:14 -07:00
Unknown W. Brackets
66a480ba95 scePsmfPlayerStart() can also rewind. 2014-05-11 14:23:13 -07:00
Unknown W. Brackets
9c0bc32f52 Add support for initPts in scePsmfPlayerStart().
It won't be super speedy though, could more ideally do it on the calls to
Update()...
2014-05-11 14:23:13 -07:00
Unknown W. Brackets
5a04fc23a3 Improve error handling in scePsmfPlayerStart(). 2014-05-11 14:23:12 -07:00
Henrik Rydgård
c0e13bf38d Merge pull request #5888 from raven02/patch-5
Delay thread for sceMp3Decode()
2014-05-08 16:14:01 +02:00
Henrik Rydgård
155dcee5a6 Merge pull request #5975 from raven02/patch-32
Audio : add low/medium/high audio latency mode
2014-05-08 11:00:01 +02:00
Henrik Rydgård
55f9e8619d Merge pull request #5968 from sum2012/sceUtility
Avoid duplicate logging in sceUtility*GetStatus
2014-05-08 10:54:05 +02:00
Henrik Rydgard
89fbe8f761 Reduce some logspam 2014-05-08 10:40:58 +02:00
Henrik Rydgård
dd10207666 Merge pull request #5983 from raven02/patch-34
Fixes #5779 with new PSPScreenShotDialog class
2014-05-04 23:56:28 +02:00
Unknown W. Brackets
61320ff70f Respect dstSize and truncate in ccc string conv.
All of these funcs were not null terminating, oops.  And they were also
ignoring dstSize, so if the game specified one it would overflow.
2014-05-03 13:22:45 -07:00
raven02
8ed82f3d25 Fixes #5779 with new PSPScreenShotDiag class 2014-04-30 19:28:05 +08:00
Unknown W. Brackets
4d665b5e7a Fix replacement funcs in the interpreter. 2014-04-28 08:01:13 -07:00
Henrik Rydgård
c625ee169f Merge pull request #5970 from raven02/patch-28
Stub SysMemUserForUser_ACBD88CA/945E45DA
2014-04-28 09:47:21 +02:00
raven02
9806b46586 Fix space issues 2014-04-28 15:30:32 +08:00
Henrik Rydgård
30bf519e2c Merge pull request #5973 from raven02/patch-30
Move POWER_VMEM_IN_USE to sceKernel.h
2014-04-28 09:22:02 +02:00
Henrik Rydgård
7fd84046a4 Merge pull request #5977 from unknownbrackets/psmfplayer
Fix video flicker, add memchecks and detect no audio better
2014-04-28 09:21:46 +02:00
Henrik Rydgård
56018fb057 Merge pull request #5979 from unknownbrackets/multithread
Fix deadlock in multithreading
2014-04-28 09:13:53 +02:00
Unknown W. Brackets
ed6ea61283 Fix deadlock in multithreading.
Fixes #5971.
2014-04-27 15:52:36 -07:00
Unknown W. Brackets
27fbf4c90e Don't return video/audio the first couple frames.
Fixes issues where games don't expect audio to be written to the display
buffer for the first couple games.  Reported to fix #5416.
2014-04-27 13:02:03 -07:00
Unknown W. Brackets
f9a81c8691 Allow smaller psmfplayer buffer sizes.
Some libpsmfplayer.prx libraries allow smaller.
2014-04-27 10:25:51 -07:00
Unknown W. Brackets
647d6c0960 Invalidate when writing video image.
It is required to update the framebuffer, of course.  Fixes Dead or Alive
video flicker.
2014-04-27 08:23:42 -07:00
raven02
e9815052f1 Stub SysMemUserForUser_ACBD88CA/945E45DA 2014-04-27 23:20:18 +08:00
raven02
eda3d48d53 Switch to low/medium/high audio latency mode 2014-04-27 22:11:26 +08:00
raven02
21e4dc60eb Move POWER_VMEM_IN_USE to sceKernel.h 2014-04-27 20:50:11 +08:00
Henrik Rydgård
4eb7991530 Merge pull request #5926 from raven02/patch-15
sceAtrac: set buffer size when game ask for remain frames
2014-04-27 12:29:48 +02:00
raven02
80cff2dca4 Workaround scePauth_F7AA47F6() 2014-04-27 17:26:40 +08:00
sum2012
c84ec49f09 Avoid duplicate logging in sceUtility*GetStatus 2014-04-27 13:43:51 +08:00
sum2012
55e19f46a5 Fix Resistance Houfuku noToki draw slowly in OSK in debug log
#4626
2014-04-27 07:39:07 +08:00
Unknown W. Brackets
eae4c9cc49 Check for no audio more directly.
This fixes some cases where the flag was set wrong.
2014-04-26 09:38:13 -07:00
Henrik Rydgård
fb5eda2915 Change the scepauth report identifier 2014-04-26 10:50:08 +02:00
Henrik Rydgård
c8cb6f375d Merge branch 'scePauth' of github.com:sum2012/ppsspp into sum2012-scePauth 2014-04-26 10:48:47 +02:00
Henrik Rydgård
90710c2369 Merge pull request #5955 from sum2012/scedisplay
Add sceDisplaySetMode error code base on JPCSP
2014-04-26 09:29:35 +02:00
Henrik Rydgård
150cff20b5 Merge pull request #5956 from raven02/patch-24
sceUtility: fix some typo and formatting
2014-04-26 09:27:36 +02:00
Henrik Rydgård
f9a1e51757 Merge pull request #5961 from unknownbrackets/psmfplayer
Improve some psmfplayer funcs, and fix timing
2014-04-26 09:25:29 +02:00
Unknown W. Brackets
d92650ee42 Improve scePsmfPlayer*Data() timing.
Instead of blocking, video should just return old data if called too
often.  Fixes #5910.
2014-04-25 23:48:13 -07:00
raven02
5d5c24a173 sceUtility: fix some typo and formatting 2014-04-26 12:19:34 +08:00
Unknown W. Brackets
a5b2adfff5 Add errors for getting and changing the playmode.
And reporting.  Also, correct the default playMode for unset psmfplayers.
2014-04-25 21:00:24 -07:00
sum2012
d2f7a9974f Add sceDisplaySetMode error code base on JPCSP 2014-04-26 04:41:01 +08:00
sum2012
bae6768d5c Report scePauth_F7AA47F6
To make tpunix easier to debug
2014-04-24 21:57:20 +08:00
sum2012
e17a1b1b5d Decrease log level in sceUtilityNetconfUpdate
Spam in Danball Senki BOOST
2014-04-24 21:11:23 +08:00
Unknown W. Brackets
9b4f8b1a99 Attempt scePsmfPlayerSelectSpecific*().
These functions seem buggy on a real PSP... and they return a weird
variety of error codes.
2014-04-22 08:07:49 -07:00
Unknown W. Brackets
891764d8ee Make scePsmfPlayerSelect*() actually switch.
Don't have any games actually using this, so let's report too.  Audio is
falsely working when the stream isn't playable, not exactly sure the best
way to detect that.
2014-04-22 08:07:49 -07:00
Unknown W. Brackets
56673d3737 Fix overflow in scePsmfPlayerGetCurrent*Stream().
And clean up the returned error codes.
2014-04-22 08:07:48 -07:00