Commit Graph

4216 Commits

Author SHA1 Message Date
Henrik Rydgård
2ecec84c84
Merge pull request #12127 from unknownbrackets/ge-record
Cleanup GE dump playback
2019-06-24 12:28:32 +02:00
Unknown W. Brackets
93069756e6 GE Debugger: Split playback into a separate file. 2019-06-23 18:49:27 -07:00
Unknown W. Brackets
2c20567624 Audio: Better errors on Output2/SRC reserve.
The frequency handling probably doesn't work, though.
2019-06-23 08:38:22 -07:00
Unknown W. Brackets
c67988d2ce Audio: Correct errors on Output2/SRC release. 2019-06-23 08:17:00 -07:00
Henrik Rydgård
ff65b813d9 Assorted warning fixes 2019-05-10 23:26:34 +02:00
Unknown W. Brackets
848108c6ab Mp3: Set as inited only after success. 2019-04-29 04:47:59 -07:00
Unknown W. Brackets
4ee5d2b611 Mp3: Correct seek to specific frame.
Before, it treated it as an (incomplete) seek to a byte position, which
didn't make much sense.  This matches PSP behavior per tests.
2019-04-29 04:47:59 -07:00
Unknown W. Brackets
68d2571681 Mp3: Fix ID3 tag handling.
Just ignore them and handle via frame sync, which is what the PSP does..
2019-04-29 04:47:59 -07:00
Unknown W. Brackets
bfa9aa009d Mp3: Properly flush the buffer on reset. 2019-04-29 04:47:59 -07:00
Unknown W. Brackets
925e4d1343 Mp3: Correct delay on decode. 2019-04-28 08:44:46 -07:00
Unknown W. Brackets
ac43e55194 Mp3: Loop correctly from an offset.
If the offset points to an ID3 tag or the middle of a frame, that's fine -
it should just search forward to the next sync.  FFmpeg just returns a
decode error, so we do this first.
2019-04-28 08:35:35 -07:00
Unknown W. Brackets
a3640f303b Mp3: Correct sum decoded sample count.
It shouldn't consider both channels of stereo.  This could've been causing
some games to think they were playing audio at an incorrect speed.
2019-04-28 07:30:56 -07:00
Unknown W. Brackets
bc1e6e12f5 Mp3: Return total frame count in sceMp3GetFrameNum.
This might fix games failing to play mp3s correctly.
2019-04-28 07:10:26 -07:00
Unknown W. Brackets
95d3d99343 Mp3: Fix loop func errors, clamp to -1.
Might matter if some game is checking the result.
2019-04-28 06:36:48 -07:00
Unknown W. Brackets
0d6570e8ad Mp3: Correct sceMp3GetMaxOutputSample.
Was based on output buffer size, rather than frame size, before.

Fixes choppy audio in Velocity.
2019-04-24 14:31:12 -07:00
Unknown W. Brackets
be6710ea4a Mp3: Fix errors for a bunch of init getters. 2019-04-24 14:13:46 -07:00
Unknown W. Brackets
5f82258fa1 Mp3: Detect offset headers, reject invalid data.
ID3 handling not really tested.  Left some error codes disabled in case
people are happily playing some custom BGM that the PSP didn't support.
2019-04-24 09:16:21 -07:00
Unknown W. Brackets
e4d2712897 Mp3: Apply offset to stream read buffer.
Handle errors for sceMp3CheckStreamDataNeeded as well.
2019-04-23 21:14:54 -07:00
Unknown W. Brackets
f1eaf9dc0e Mp3: Don't change buffer accounting until add.
If we just ask what we should add, that is meant to stay static until we
do actually add it.

This also reduces the max we ask for at a time, which better matches
correct behavior and might impact game behavior.
2019-04-23 20:18:16 -07:00
Unknown W. Brackets
709c9dc93c Mp3: Fix errors on sceMp3NotifyAddStreamData. 2019-04-23 19:48:01 -07:00
Unknown W. Brackets
5b9a3e6ca8 Mp3: Improve handle releasing behavior. 2019-04-22 23:01:40 -07:00
Unknown W. Brackets
4563d9487b Mp3: Better errors in sceMp3GetInfoToAddStreamData. 2019-04-22 22:57:05 -07:00
Unknown W. Brackets
351a10bd69 Mp3: Allow allocating two mp3 handles.
The handles are always 0 or 1, not pointers, which might be relied upon by
some games.  Two could be used with the same pointer.

This also makes NULL a valid pointer, which is used for low level mp3s.
2019-04-21 22:28:04 -07:00
Unknown W. Brackets
4ae2108629 Mp3: Fail to reserve if resource not inited.
Also, add a required parameter for sceMp3LowLevelInit, since it fails
unless proper values are passed for this on a PSP.
2019-04-21 19:54:34 -07:00
Unknown W. Brackets
92829d47fd Mp3: Better match resched on resource init/term.
It always seems to return 0, though.
2019-04-21 18:22:56 -07:00
Unknown W. Brackets
ad299ca92d Power: Match reschedule timing better. 2019-04-14 15:06:32 -07:00
Unknown W. Brackets
bc4a203fcf Power: Correct hz on update and improve resched.
It only reschedules when the PLL changes, which changes in steps.  This
also reads back much more accurate Mhz for each of PLL, CPU, and bus.
2019-04-14 14:51:35 -07:00
Henrik Rydgård
d3c0a010a0 Fix invalid argument string for kuKernelLoadModule. Fixes #11895. 2019-03-24 11:56:35 +01:00
Unknown W. Brackets
f244b390ae Kernel: Kernel threads can beget kernel threads.
Fixes #7687.
2019-03-23 12:05:06 -07:00
Henrik Rydgård
60e32e914e Fix apparent bug in #11094, fixes #11878 and likely #11798 2019-03-12 09:33:39 +01:00
Henrik Rydgård
7865589f48 sceFontLib: Don't call the callback if double-free. Should fix one part of #6627 2019-03-11 12:55:09 +01:00
Henrik Rydgård
bd71af24db Fix some minor things found looking at Valgrind output 2019-02-27 13:42:00 +01:00
Unknown W. Brackets
11be1e7a67 Core: Fix lag sync on game start / after pause.
Fixes #11189.  It was often stuck thinking it was constantly running over,
needed a reset on large delay.
2019-02-19 03:09:42 -08:00
Henrik Rydgård
906d2dff7b Lie about success of loading flash0:/kd/audiocodec_260.prx, just like we already lie about audiocodec.prx.
Fixes #11733
2019-02-10 22:40:34 +01:00
Henrik Rydgård
ecf62a03ad Naruto 3: Probably a better fix for the video hang issue.
Fixes #9591, replaces #11772
2019-02-10 11:42:53 +01:00
Henrik Rydgard
38a2d83aa8 Partially revert #10456 (avoid limit FPS without a clear).
It's a pretty gnarly hack-upon-a-hack. Better to remove the original hack (limit fps) in the general case.
2019-02-06 18:31:02 +01:00
Henrik Rydgard
47a9145355 Remove iForceMaxEmulatedFPS and replace with a compat setting for the two games that really need it.
Takes care of one setting listed in #8171 "Options to remove"
2019-02-06 15:03:15 +01:00
Henrik Rydgard
3d114c5bca Compat: Force realistic UMD timing for F1 2006. Fixes #9193 but not the game, since there's also #11177. 2019-02-06 10:45:12 +01:00
Henrik Rydgård
852f522ebc Improve the check for Vulkan to check for surface extensions first.
Might fix the crashing issues we've seen on AMD?
2019-01-30 19:45:04 +01:00
z2442
e5b75dc294
Added a check to the pointer for memcpy
This check enables the newer builds of daedalus to run.
2019-01-05 18:46:38 -05:00
Henrik Rydgard
3f8aec5147 Remove the "Disable stencil test" hack. Doesn't seem to serve much purpose anymore. 2018-12-14 13:54:03 +01:00
Unknown W. Brackets
ac6106af03 Io: Ensure sign extension for error codes.
The ternary `cond ? EnumValue : IntValue` was not sign extending
consistently across compilers, but we actually want it to always sign
extend in either case.
2018-12-01 09:43:02 -08:00
sum2012
b82b42fab0 Use compat setting instead 2018-11-27 22:45:51 +08:00
sum2012
ee34a73e80 yugioh save fix tool 2018-11-26 21:34:00 +08:00
mrfixit2001
d9ad57e918
Move comments in function to be more relevant 2018-11-04 13:33:42 -05:00
root
c19d3fe06a MRFIXIT2001: This patch adds a second frameskip setting, one for setting the # of frames to skip, one for setting the % of frames to skip based off fps 2018-11-03 01:33:41 +00:00
Unknown W. Brackets
014d9ddead Display: Resched interrupt before vblank threads.
Otherwise, we may first schedule to a woken thread, and then immediately
reschedule to the interrupt.  Each reschedule costs ticks, and it doesn't
look like this should cause two reschedules.

Improves #11414, Breath of Fire 3 frame flicker.
2018-10-07 14:41:08 -07:00
Unknown W. Brackets
a5f61e798e Mpeg: Avoid reading outside available bytes.
When we're just looking for the size or offset, it shouldn't be necessary
to load the stream, so hopefully we can avoid it.
2018-09-08 12:14:17 -07:00
Unknown W. Brackets
c10b2035b5 Debugger: Prevent record with no commands.
Should cut down on empty dumps, at least.
2018-09-01 09:51:04 -07:00
Unknown W. Brackets
d13f76308d Ge: Avoid executing invalid pointers.
May help #3407 and related errors, as well as crashes and execution of
garbage.  This stops immediately on a bad pointer, rather than trying to
push through.
2018-08-25 10:32:32 -07:00