Commit Graph

4020 Commits

Author SHA1 Message Date
sum
94c8d6d8e4 remove space 2016-09-06 19:30:23 +08:00
sum
5d6c9701f2 Fix scePowerSetClockFrequency timing by JPCSPTrace
Fix #4523
2016-09-06 19:28:23 +08:00
Henrik Rydgård
3490220db0 Merge pull request #8955 from unknownbrackets/threadret
Correct initial thread ra and fp
2016-09-05 23:13:47 +02:00
Unknown W. Brackets
d876da1a01 Initialize fp correctly on a new thread. 2016-09-05 08:57:09 -07:00
Unknown W. Brackets
1e51a03d5a Point ra to the correct place on a new thread.
Turns out some games read the ra, maybe long jmps or something?
2016-09-05 08:56:27 -07:00
Chris Burgener
7d089a0f76 Clean up various files 2016-09-03 19:23:17 -04:00
Chris Burgener
645cb4d69e Add Audio Dumping to File 2016-09-03 14:05:38 -04:00
Henrik Rydgård
9e70a6f9d9 Merge pull request #8939 from RisingFog/frame_advance
Add Frame Advance
2016-08-30 16:45:54 +02:00
Chris Burgener
842a29b0ae Add Frame Advance 2016-08-28 12:21:45 -04:00
Henrik Rydgård
ef3f369311 Merge pull request #8933 from unknownbrackets/utility-deps
Utility: Only require avcodec for mp4
2016-08-28 11:19:24 +02:00
Unknown W. Brackets
5a797a08f7 Io: Do not delay on file seek.
This doesn't seem to reschedule, must've measured wrong in #939.

Fixes #8749.
2016-08-27 14:18:59 -07:00
Unknown W. Brackets
ee664fdc25 Utility: Only require avcodec for mp4.
Test was ambiguous - testing more carefully only 300 is required.  Not
sure how I got this wrong before since only 300 was required for the
others...

Should help #8926.
2016-08-27 10:15:35 -07:00
Unknown W. Brackets
a0484dce65 Psmf: Use packets for end in all versions.
Turns out no version of the library looks at the pts for the end.
2016-08-15 21:00:10 -07:00
sum2012
00a379e9f0 Psmf: Ignore last timestamp with old PsmfPlayer libs
Until 5.50
Fix #6574
2016-08-16 03:57:36 +08:00
Unknown W. Brackets
f23391578f Psmf: Ignore stream size with old PsmfPlayer libs.
Until 5.50, the stream size was not used.  See #6574.
2016-08-14 17:24:29 -07:00
Unknown W. Brackets
f0a8e931ff Remove UTF-8 BOMs from a few files.
And note the only ones that do need them in editorconfig.
2016-08-07 17:59:35 -07:00
Unknown W. Brackets
9655013938 Font: Skip log on missing zh_gb.pgf.
Fixes #8332.
2016-08-07 10:27:27 -07:00
Henrik Rydgård
684b123a6d Merge pull request #8891 from unknownbrackets/mytranwars
Hook another VRAM modifying function in Mytran Wars
2016-08-07 12:35:11 +02:00
Unknown W. Brackets
ee3c8b6ea5 Display: Don't count a forced NEXTFRAME as a flip. 2016-08-06 16:47:33 -07:00
Unknown W. Brackets
3ca014858f Display: Flip at least once every 10 frames.
If we don't do this, the FPS doesn't update, and on some platforms, we
never read input.  This can basically mean that PPSSPP will hang.
2016-08-06 16:32:57 -07:00
Unknown W. Brackets
0e43f1cdff Hook another VRAM modifying function.
Seems to be a copy.
2016-08-06 16:30:47 -07:00
Henrik Rydgård
eac18489e6 Merge pull request #8867 from unknownbrackets/mpeg
Improve mpeg parsing / corruption issues
2016-08-06 18:14:17 +02:00
Henrik Rydgård
ea6b72d4c9 Merge pull request #8888 from unknownbrackets/warnings
Warning fixes
2016-08-06 10:59:06 +02:00
Henrik Rydgård
0031244b1c Merge pull request #8889 from unknownbrackets/memstick
Initial support for memstick insert/remove
2016-08-06 10:58:49 +02:00
Henrik Rydgård
61c63e75c4 Merge pull request #8884 from sum2012/Font-minor
Better support zh_gb.pgf
2016-08-06 10:58:10 +02:00
Unknown W. Brackets
980d4194c0 Io: Add a config setting for memstick status. 2016-08-05 21:27:53 -07:00
Unknown W. Brackets
bf7a020c6a Io: Notify callbacks on memstick insert/remove. 2016-08-05 21:05:48 -07:00
Unknown W. Brackets
9e488e8be4 Io: Correct some memstick devctl accuracy issues.
This makes it pass the right values in a few more cases, and unregister
callbacks properly.  Also handles duplicate callbacks.
2016-08-05 20:42:58 -07:00
sum2012
da8188ab7d Add more check for safely 2016-08-06 06:52:48 +08:00
Unknown W. Brackets
2d4e75369a Oops, fix typo.
Pointed out by Florin9doi - wasn't currently causing problems because the
value 1 isn't yet being used.
2016-08-05 11:34:22 -07:00
Unknown W. Brackets
fd546ff21d Fix some type comparison warnings. 2016-08-05 10:47:45 -07:00
Unknown W. Brackets
e55198f7e7 Correct some initialization order warnings.
Also, another missing init with IRBlocks.
2016-08-05 10:46:11 -07:00
sum2012
390ecb3184 Better support zh_gb.pgf 2016-08-05 19:58:31 +08:00
Unknown W. Brackets
db12337b39 Add basic kernel mode file func entries. 2016-08-04 09:46:29 -07:00
Unknown W. Brackets
e78a389ecc Move sceIo kernel tables to sceIo. 2016-08-04 09:46:29 -07:00
Unknown W. Brackets
0b43e28595 Move SysMemForKernel to sceKernelMemory. 2016-08-04 09:46:27 -07:00
Unknown W. Brackets
4b4770bbc5 Log kernel syscalls with a K.
This way they can be properly differentiated.
2016-08-04 09:46:26 -07:00
sum2012
1cc645b5e4 Revert "Temporarily disable PMP video for non-windows"
This revert
5e20ba1811
2016-07-25 20:21:53 +08:00
Unknown W. Brackets
558b4620e8 Mpeg: Parse video streams from PSMF header.
Without doing this, FFmpeg will try to probe the streams to detect them
instead.  When it does this, sometimes it tries to read beyond the data
that's available - and then gets confused by EOFs.

Parsing this way allows us to control the situation.

An example is Valkyrie Profile, corruption in the first frames of the
second video during the intro.  Thi doesn't fix it yet, but now it's just
a matter of buffering.
2016-07-24 15:58:06 -07:00
Henrik Rydgård
a1e815e356 Merge pull request #8651 from unknownbrackets/android-clang
Switch Android build to using clang (needs buildbot update)
2016-07-24 22:14:58 +02:00
Henrik Rydgard
2251c9c8f7 Help #8816 by partially reverting #8753. Does not match the tests though. Firmware difference? 2016-07-24 22:12:17 +02:00
Unknown W. Brackets
266ee632e8 Cleanup FFmpeg funcs deprecated in 3.x. 2016-07-24 12:53:54 -07:00
Henrik Rydgard
40549b14fd Error code cleanup 2016-07-24 21:22:26 +02:00
Henrik Rydgard
745081cc4e Return errors when trying to close file with pending operations. May help #6357. 2016-07-24 16:03:34 +02:00
Unknown W. Brackets
5009dcab7a Add reporting for sceKernelDevkitVersion() calls.
We currently default to 1.50 as the reported version, but we more or less
emulate a 6.60 system.  It may be better to return 6.60, but let's see
what would actually be impacted by that first.
2016-06-26 20:52:48 -07:00
Unknown W. Brackets
80d72acaec Psmf: Correct default stream.
Fixes Jeanne d'Arc, others.
2016-06-07 20:41:13 -07:00
Henrik Rydgård
ce8d2bef57 Merge pull request #8803 from unknownbrackets/mpeg
Reject invalid MPEG puts for certain lib versions
2016-06-05 13:44:38 +02:00
Unknown W. Brackets
bda1956f90 Psmf: Enable error check on player create.
Reporting makes it look like this should be safe.
2016-06-04 18:17:38 -07:00
Unknown W. Brackets
cf2796de41 Psmf: Allow each struct to have its own stream.
Some games will create a clone, and then set a different stream on it,
e.g. one for the video, another for the audio stream.
2016-06-04 18:17:37 -07:00
Unknown W. Brackets
b13c68a373 Psmf: Correct get video/audio info errors.
This actually grabs from the currently specified stream, and fails if it's
the wrong type.  Additionally, return stream-specific info... unlikely to
matter, hard to imagine a video with a mono and stereo stream.

Also reduces log verbosity.
2016-06-04 18:17:37 -07:00
Unknown W. Brackets
185ad781f3 Psmf: Add better error handling for SetPsmf.
Checked on different devkit versions in case of changes.
2016-06-04 18:17:36 -07:00
Unknown W. Brackets
04dcaeae1d Mpeg: Move, rather than resetting, packetsAvail.
When we've got garbage data, this has to stay incorrect.  Without this,
Megaman X gets confused when playing its video (because it enqueues
garbage packets.)

See #3318.
2016-06-04 18:16:23 -07:00
Unknown W. Brackets
4ee39f82e4 Mpeg: Validate added packets.
Older libraries only, but this will cause it to reject packets that don't
make sense.  So far, this seems to mirror the behavior of various garbage
packets sent to the real firmware.
2016-06-04 18:16:22 -07:00
Unknown W. Brackets
41f2999a2b Mpeg: Write into the ringbuffer using actual ring.
This mimics behavior with clamped sizes and wrap around, and also makes it
easier to implement the garbage data handling the PSP has.
2016-06-04 18:16:21 -07:00
Unknown W. Brackets
6d14c17f26 Mpeg: Treat negative available packets as zero. 2016-06-04 18:16:19 -07:00
Unknown W. Brackets
deffb246ae Mpeg: Require less memory for older lib versions.
It seems it started requiring 64k at 1.05.
2016-06-04 18:16:18 -07:00
Henrik Rydgård
606856c9ad Merge pull request #8791 from unknownbrackets/delay
Minor sysclock delay accuracy improvements
2016-05-31 21:08:00 +02:00
Unknown W. Brackets
91887ad85c Psmf: Correct errors in current stream num. 2016-05-31 09:55:51 -07:00
Unknown W. Brackets
0a00777403 Psmf: Only write current type/channel if valid.
And improve error handling in general.
2016-05-31 09:55:51 -07:00
Unknown W. Brackets
7ad07ca82e Psmf: Handle stream specification per tests.
These seem buggy, but generally sane.
2016-05-31 09:55:50 -07:00
Unknown W. Brackets
cca9a73105 Psmf: Start at stream 0 when not specified. 2016-05-31 09:55:49 -07:00
Unknown W. Brackets
510db2051d Psmf: Detect PCM streams from private stream info.
This logic comes from Jpcsp.  Let's report though and see if there's more.
2016-05-31 09:55:49 -07:00
Unknown W. Brackets
74239c199d Psmf: Allow AUDIO type when specifying streams. 2016-05-31 09:55:48 -07:00
Unknown W. Brackets
5f7c95f249 Psmf: Count PCM as an AUDIO stream as well. 2016-05-31 09:55:47 -07:00
Unknown W. Brackets
9df727f94f Psmf: Stop pretending streamMap is a vector. 2016-05-31 09:55:47 -07:00
Unknown W. Brackets
8df298f622 Thread: Auto-resume dispatch for worse threads.
Seems this doesn't happen when you start a better priority thread, pretty
reproducibly.
2016-05-31 09:55:20 -07:00
Unknown W. Brackets
197f3393df Thread: Better/minor accuracy for sysclock delay.
Certain negative values shouldn't cause a delay, could help if a game has
a bug.
2016-05-31 09:55:19 -07:00
Unknown W. Brackets
baac12b327 Log args for dispatch/interrupt early-fail. 2016-05-31 09:55:18 -07:00
Unknown W. Brackets
d0d570c6ac ThreadEvent: Delete threads after handler runs.
It should actually run on the thread itself, it seems, but that's probably
not as important as the thread still existing.  This allows the handler to
get the thread name or etc.
2016-05-30 13:00:23 -07:00
Unknown W. Brackets
21ba67e1d7 Module: Add legacy save state stub fixup.
Forgot this, when we don't have the stub info.  Stub info is better, since
we might handle things differently.
2016-05-30 02:11:28 -07:00
Unknown W. Brackets
65820d6184 Thread: Use a short delay for 0us delays after all.
It seems the behavior varies.  Should help #6924 and #6981.
2016-05-29 22:04:47 -07:00
Unknown W. Brackets
1a3fc9cdeb Module: Avoid writing missing stubs on reimport.
In case they were manually linked, or something.
2016-05-29 08:29:51 -07:00
Unknown W. Brackets
9b706975ad Module: Reimport stubs on load state. 2016-05-29 08:27:19 -07:00
Unknown W. Brackets
47f16ed97b Module: Refactor stub imports to dedicated func. 2016-05-29 08:07:01 -07:00
Unknown W. Brackets
12b907ed60 Put syscalls back where they were supposed to be.
Oops, didn't mean to move this.  Might've broken save states.
2016-05-29 07:31:22 -07:00
Unknown W. Brackets
4fc12cdd29 ThreadEvent: Handle getting scheduled off a thread. 2016-05-29 00:59:52 -07:00
Unknown W. Brackets
97cce6ccfe ThreadEvent: Trigger handlers for start/exit too.
Start isn't in the right place or on the right thread, and exit isn't on
the right thread either.  But these don't seem very particular about what
thread they run on.
2016-05-28 21:19:28 -07:00
Unknown W. Brackets
c6cd614f2b Thread: Allow mipscalls to be scheduled in a row.
Should be fine to just use the stack to save these things, likely that's
what happens in real firmware.  This fixes issues when a second mipscall
is scheduled in the same HLE syscall.
2016-05-28 21:18:03 -07:00
Unknown W. Brackets
ceb36fc81d ThreadEvent: Allow an exit event handler on self. 2016-05-28 21:17:54 -07:00
Unknown W. Brackets
be1cde15ba ThreadEvent: Initial support for create/delete. 2016-05-28 21:17:36 -07:00
Unknown W. Brackets
e9916bdf0b ThreadEvent: Add management functions.
Currently never being triggered, though.
2016-05-28 21:17:16 -07:00
Unknown W. Brackets
04576189b4 Callbacks: Fix delete when multiple for a thread.
Oops, this was deleting all after the deleted one.
2016-05-28 21:15:25 -07:00
Unknown W. Brackets
a1fbcc3d93 Avoid directly calling osm from Core/GPU code.
This allows UI to handle the message however it wants to, and reduces
cross linkage issues.
2016-05-27 22:05:30 -07:00
Unknown W. Brackets
f0cc975865 Hook some funcs in Me and My Katamari.
One is a very hardcoded screenshot download / vfpu convert to 565, and the
other is some very weird check to make sure render is clear or has
happened or something.

The screenshot func detects downloads for the "Royal Album".  The render
check detects downloads for post-rename (no idea why it checks here.)

Fixes #7695.
2016-05-20 22:30:25 -07:00
Unknown W. Brackets
842e450965 Display: Correct default brightness, add reporting.
Not sure if any games use hold/resume in a way that ought to work.
Display didn't seem to react to them being called.
2016-05-16 22:33:50 -07:00
Unknown W. Brackets
d0dc03f359 Display: Wait for vblank when setting mode.
Some games call this even when not needed, and it turns out to have an
important behavior.
2016-05-16 22:02:21 -07:00
Unknown W. Brackets
9ed604f9c8 Display: Return 1 during the vsync period.
Timing is based on manual tests, where the vsync signal is near the end of
the vblank.  Curiously, it stops right before the vblank stops, reliably.
2016-05-15 23:46:46 -07:00
Unknown W. Brackets
597824eec6 Display: Add validation/report to set mode.
This seems to be involved in using the video out cable, but fails for
anything but these fixed parameters in normal situations.
2016-05-15 22:16:31 -07:00
Unknown W. Brackets
5e8e2d5e56 Display: Allow only immediate address changes.
It seems you must latch a change to stride/fmt first, which basically
makes sense.  Otherwise it would revert, I suppose.
2016-05-15 16:42:25 -07:00
Unknown W. Brackets
249a85b7e0 Display: Validate framebuf parameters. 2016-05-15 16:38:00 -07:00
Unknown W. Brackets
44cee09adc Dsiplay: Initialize the framebuf params better. 2016-05-15 16:29:58 -07:00
Unknown W. Brackets
958d7f0944 Display: Record bufw/fmt even when display is off.
These are returned by sceDisplayGetFrameBuf().
2016-05-15 15:55:04 -07:00
Unknown W. Brackets
26e9acee4b Display: Skip transitions between off/on in FPS.
We're just trying to detect frequent flips, so off/on doesn't play into
it.
2016-05-15 15:54:04 -07:00
Henrik Rydgard
6e44e97ffa Refactor prep: Split JitInterface into MIPSFrontendInterface and JitInterface 2016-05-09 19:41:39 +02:00
Henrik Rydgard
38b7d89dfb Fix a performance issue in CallSyscall 2016-05-07 21:34:27 +02:00
Unknown W. Brackets
9280bb3eda Merge pull request #8715 from unknownbrackets/tex-replace
Initial texture replacement support
2016-05-01 09:58:16 -07:00
Unknown W. Brackets
2e1986d0c8 Fix a few reorder warnings. 2016-05-01 09:50:03 -07:00
Henrik Rydgård
b6d7aab8dc Merge pull request #8716 from hrydgard/remove-preprocessor-hacks
Remove preprocessor hacks around the JITs
2016-05-01 18:47:59 +02:00
Henrik Rydgård
e91fc59bbe Merge pull request #8693 from sum2012/pmp-video
Temporarily disable PMP video for non-windows
2016-05-01 11:49:55 +02:00
Henrik Rydgard
8b450c8034 Merge NativeJit.cpp/h with JitCommon.cpp/h 2016-05-01 11:39:59 +02:00