Commit Graph

2932 Commits

Author SHA1 Message Date
The Dax
4017550e41 Implement some missing syscalls and "fix" one, which fixes a Project Diva 2nd hang, and possibly other games that rely on sceUtilityScreenshotGetStatus to return success, since they tend to wait forever for the dialog to finish. I'd like to implement the dialog and functionality someday, but for now, this works fine.
Also implement stub for sceRtcSetAlarmTick, though Diva 2nd doesn't care if it's implemented or not.
2013-06-12 04:46:06 -04:00
Sacha
5aba914a42 Build fix for non-ffmpeg and non-gcc non-++11. 2013-06-12 10:51:30 +10:00
Henrik Rydgard
e809e39681 Mips interpreter: Use unions instead of ugly casts. Strict-aliasing builds now work, but needs more testing so I don't enable it yet. Also some aliasing fixes for TransformPipeline. 2013-06-11 21:44:37 +02:00
Henrik Rydgard
b60a2fb819 x360 temporary right stick hard bind now configurable in ini file. 2013-06-11 21:29:55 +02:00
Henrik Rydgard
b8959b956b sceMpegGetUserDataAu: return ERROR_MPEG_NO_DATA. Add some notes for later implementing mpeg user data. Fixes part of #2172. Thanks to [unknown] 2013-06-11 19:27:02 +02:00
Henrik Rydgård
6b84743082 Merge pull request #2217 from oioitff/mpeg-fix
Add support for multiple video/audio stream.
2013-06-11 07:42:19 -07:00
oioitff
77a17cacc5 Add support for multiple video/audio stream. 2013-06-11 19:04:14 +08:00
aquanull
e52ac677c0 Quick Save Dialog workaround. 2013-06-11 18:21:48 +08:00
Henrik Rydgard
96a15b893c Workaroud for homebrew loading modules from flash0:/kd/ 2013-06-11 11:48:45 +02:00
Henrik Rydgard
a581e0d180 Avoid division by zero in audio envelope processing. Fixes sound FX on android in some games. 2013-06-11 11:05:34 +02:00
Henrik Rydgård
cf7fafc15c Merge pull request #2191 from aquanull/PSPDialog
Psp dialog improvements
2013-06-11 01:49:34 -07:00
aquanull
96f9bfd792 Now the icon is missing. 2013-06-11 16:37:50 +08:00
Unknown W. Brackets
28729fc116 sceSasInit() ignores maxVoices and always does 32.
Weird, I can't find anything that parameter does except generate errors.
Most games call with 32 anyway...

Affects only sceSasGetEndFlag() and sceSasGetPauseFlag() really.
2013-06-11 00:43:52 -07:00
Unknown W. Brackets
b5ac7eead1 Cleanup some SAS constructors. 2013-06-11 00:37:29 -07:00
Unknown W. Brackets
2ce4cd245f Allow a video end a couple packets from end.
Fixes #2206, Patapon 3.  Possibly we don't even need this check at all,
but I'm not sure.
2013-06-10 23:18:36 -07:00
Unknown W. Brackets
4cbd44a6ca Add fixes to sceMpegAvcDecodeYCbCr().
It seems a lot like sceMpegAvcDecode(), these are just copy/paste.
2013-06-10 23:18:08 -07:00
Henrik Rydgard
e115ed4187 Work-around crash in sceMpeg with bad ringbuffer address.
Add reminder on first run to access the ingame menu with ESC on windows.
2013-06-11 00:51:10 +02:00
Henrik Rydgard
4bc25c91d8 Add option to have PPSSPP stay on top of other windows. Fixes #2199 2013-06-10 23:45:12 +02:00
Henrik Rydgard
43af3d81d1 Add STATE_SUSTAIN code similar to JPCSP, should fix sound fx again in some games.
Please comment in the github commit if this breaks anything. Fixes #2189
2013-06-10 22:18:50 +02:00
evilcorn
ffd2211925 Use Button X to Confirm option also changes osk select and delete buttons 2013-06-10 13:50:26 -06:00
aquanull
b5440ecb65 Unify some common elements of dialogs. 2013-06-10 21:24:49 +08:00
aquanull
3c140106be Auto-height the "borders" of the message text area.
More dialog tweaks.
2013-06-10 21:24:48 +08:00
aquanull
ddc85988ab Improve PSP system dialogs' looks.
Format date according to configurations.
Swap positions of button tips.
Fix text wrapping with non-top-left text alignment.
2013-06-10 21:24:48 +08:00
Sacha
2450c0d28d We can't use S2 or D1. Use alternative means. 2013-06-10 19:28:53 +10:00
Unknown W. Brackets
f8d6bda678 Add a better signal for VRAM copies in the GPU. 2013-06-09 23:55:32 -07:00
Henrik Rydgård
3185594d3c Merge pull request #2186 from unknownbrackets/sas-minor2
Add some error handling in sceSas, delay sceSasCore()
2013-06-09 23:48:25 -07:00
Henrik Rydgård
1998dcb468 Merge pull request #2185 from unknownbrackets/sas-minor
Correct envelope scaling in sas mixing
2013-06-09 23:47:59 -07:00
Unknown W. Brackets
3aaabfb987 Revert #1974, the other fixes are better.
This is no longer needed for games I have, and it breaks Final Fantasy
Tactics' sound effects.

Looking at JPCSP for insight, I saw that it re-enables loops if you set a
voice even with a different address (I think?) but that seems strange.
2013-06-09 22:47:01 -07:00
Unknown W. Brackets
b7d494f34e Delay in sceSasCore per tests.
Not sure if this fixes anything, but scheduling issues can be tricky.
2013-06-09 20:56:09 -07:00
Unknown W. Brackets
ea5996bf02 Don't restart release on double keyoff.
Fixes Kingdom Hearts bug, #2066.
2013-06-09 20:38:54 -07:00
Unknown W. Brackets
1d35cc46a4 Validate parameters in sceSasInit(). 2013-06-09 20:32:01 -07:00
Unknown W. Brackets
b7152c2f27 Correct envelope scaling in sas mixing.
Sound effects seem a bit loud, but this matches what JPCSP does and I've
added comments based on my understanding of it.  It makes sense.

This makes all the sounds that never get muted when the envelope hits 0 go
away.  Hurray.

Thanks to help from @i1x.
2013-06-09 19:28:21 -07:00
Unknown W. Brackets
1c1293826c Return correct errors on terminating thread.
Fixes Final Fantasy 4 hangs when playing videos a second time.
2013-06-09 18:56:36 -07:00
Henrik Rydgard
9e345132b9 Shortcut IdentifyFile (which is now used by GameInfoCache) by trusting the file extensions. 2013-06-09 23:10:26 +02:00
Henrik Rydgård
e5050442be Merge pull request #2177 from oioitff/mpeg-fix
Improve mpeg timestamp.
2013-06-09 14:05:03 -07:00
oioitff
32fb534375 Improve mpeg timestamp.
Read 6 bytes timestamp instead.
2013-06-10 04:21:36 +08:00
Unknown W. Brackets
46227c8473 Don't delay psmf video when the audio has ended.
Lunar shows logos without any audio, which means the audio pts is always
0.  That meant it delayed more each frame...
2013-06-09 10:53:49 -07:00
Henrik Rydgård
2846d3ce61 Merge pull request #2169 from unknownbrackets/rtti
Add a safety check for non-rtti
2013-06-09 10:39:41 -07:00
Henrik Rydgård
b8f6d6d559 Merge pull request #2170 from oioitff/mpeg-fix
Improve some functions for scePsmfPlayer.
2013-06-09 10:37:59 -07:00
oioitff
cdebf89584 Improve some functions for scePsmfPlayer.
Fix video end issue for Mahou Shoujo Nanoha A's Portable: The Gears of
Destiny
2013-06-10 01:07:43 +08:00
Unknown W. Brackets
fe1c26f2b2 Add a safety check for non-rtti. 2013-06-09 08:35:54 -07:00
Sacha
104a3a316b Revert extra regs allocation. Causes some crashes with ffmpeg. 2013-06-10 00:29:08 +10:00
Henrik Rydgård
35b28150a4 Merge pull request #2167 from oioitff/atrac-fix
Improve Atrac id generating and fix crash.
2013-06-09 06:21:02 -07:00
Sacha
637d75f47d Unlock the other 16 regs that are available for NEON. 2013-06-09 23:15:59 +10:00
oioitff
64b73ee51d Improve Atrac id generating and fix crash. 2013-06-09 21:10:41 +08:00
Sacha
29d1e40c79 Buildfix for Blackberry, Linux, Symbian, non-ffmpeg platforms, Meego, ... 2013-06-09 22:53:22 +10:00
Henrik Rydgård
62f8727bca Merge pull request #2165 from oioitff/atrac-fix
Implement __sceSasConcatenateATRAC3 and tiny bug fix for sceAtrac.
2013-06-09 04:54:45 -07:00
Henrik Rydgard
04d24012e1 Prevent crashing the emu in stepVideo when things have gone very wrong. 2013-06-09 13:45:48 +02:00
Sacha
583927988c Armjit Update: Improvements
Implement vsat0 and vsat1
Introduce VMOV for immediates.  Use in MOVI2F where possible by detecting if float val can be encoded.
Combine some vneg ops in ApplyPrefixST.
2013-06-09 21:27:16 +10:00
oioitff
c98adee757 Implement __sceSasConcatenateATRAC3.
.
2013-06-09 19:07:02 +08:00
oioitff
406a6adf6d Improve _AtracGenarateContext.
Fix tiny bug for savestate.
2013-06-09 19:06:24 +08:00
Henrik Rydgard
2afbc94734 Turn off RTTI, simulate it where needed. 2013-06-09 13:02:16 +02:00
Henrik Rydgard
645e8a7705 More NewUI, bugfix in ParamSFO where strings were created to include the trailing zero. 2013-06-09 12:41:12 +02:00
Henrik Rydgård
2513e52279 Merge pull request #2162 from unknownbrackets/scheduling
Don't allow the game to force wake from HLE delays
2013-06-09 00:46:25 -07:00
Unknown W. Brackets
2aae25026d Forget blocking audio threads that die/release. 2013-06-08 23:42:59 -07:00
Unknown W. Brackets
0c41d4e952 Don't allow release wait for HLE delays.
Although, presumably the thread would stop waiting, I guess the HLE func
in most cases probably checks and re-waits?

Fixes breakage in Jeanne d' Arc, which constantly releases from wait the
main thread, but calls things like sceMpegCreate which do block.
2013-06-08 23:39:49 -07:00
Unknown W. Brackets
4c730a60c9 Eat cycles in devctl 0x02425823, fix params.
I can't seem to reproduce a way to change its return value, though...

Significant performance improvement for Star Ocean, especially in intro.
2013-06-08 18:03:28 -07:00
Henrik Rydgard
533541615f Merge branch 'master' of github.com:hrydgard/ppsspp
Conflicts:
	UI/GameInfoCache.h
2013-06-08 23:01:49 +02:00
Henrik Rydgard
51daa1f878 Delete the "Use Media Engine" option. 2013-06-08 22:53:36 +02:00
Henrik Rydgård
928ef3782e Merge pull request #2152 from oioitff/atrac-fix
Scale volume in sceP3daBridgeCore and avoid overflow.
2013-06-08 13:43:34 -07:00
Unknown W. Brackets
f0cdc230d0 Savestate the context thing properly.
Just to make sure we don't leak kernel memory on load state.
2013-06-08 12:30:40 -07:00
oioitff
bfb66cc2ab Scale volume in sceP3daBridgeCore and avoid overflow. 2013-06-09 02:27:30 +08:00
Henrik Rydgård
00d589e1af Merge pull request #2150 from oioitff/atrac-fix
Partly implement _sceAtracGetContextAddress and __sceSasSetVoiceATRAC3.
2013-06-08 11:00:11 -07:00
oioitff
883d60fad3 Use a pointer for sampleQueue in SasAtrac3. 2013-06-09 01:58:06 +08:00
oioitff
3c13b574e3 Partly implement __sceSasSetVoiceATRAC3.
Fix Sol Trigger hang up issue.
2013-06-09 01:34:38 +08:00
oioitff
cac9b89823 Basically implement _sceAtracGetContextAddress. 2013-06-09 01:31:45 +08:00
oioitff
6fb2abd0fb Add sceAudiocodec stuff 2013-06-09 01:28:58 +08:00
Henrik Rydgard
3b07090682 Give GameInfo some new powers, like deleting savedata (no UI yet) and computing file sizes. Recognize directories with EBOOT.PBP in them as "games" in their own right, makes things a little cleaner. 2013-06-08 17:52:51 +02:00
Henrik Rydgard
f3224a60e1 Return "libat3plusdecoder.so" as at3plus decoder filename on non-Win/android platforms 2013-06-08 17:44:18 +02:00
Unknown W. Brackets
14034fd9c1 PSP can decode directly to vram, so detect that.
Not sure if any games do this but I did it in a test.
2013-06-08 04:52:37 -07:00
Unknown W. Brackets
dbb2dfdcff Invalidate FBOs when it's obvious they should be.
This fixes videos not being visible in for example Star Ocean.
Most likely any games doing a copy directly from the mpeg decode.
2013-06-08 04:51:57 -07:00
Unknown W. Brackets
f628b4319f Invalidate GPU cache in sceDmacMemcpy(). 2013-06-08 04:51:57 -07:00
Unknown W. Brackets
4de27773d2 Detect audio end separately from video end.
Fixes Crisis Core, broken by Wipeout Pure fix.
2013-06-08 03:00:50 -07:00
Unknown W. Brackets
1a987dda26 Fix crash in sceKernelGetThreadmanIdType(). 2013-06-08 03:00:50 -07:00
Unknown W. Brackets
be7fd47fc2 Calculate packets left based on decode, not read.
This seems to be more correct.  Fixes #2039.
2013-06-08 03:00:49 -07:00
Unknown W. Brackets
0852d8734a Try to handle video end more correctly. 2013-06-08 03:00:49 -07:00
Unknown W. Brackets
073282217c Cut down on void *'s for easier debugging.
Nice to be able to see inside structs with the debugger.
2013-06-08 03:00:49 -07:00
Unknown W. Brackets
36eb90293e Don't use m_pFrame->pkt_duration directly.
Docs say you're supposed to call this func instead.
2013-06-08 03:00:48 -07:00
Unknown W. Brackets
6f9a879aad Set video end only when we run out of frames. 2013-06-08 03:00:48 -07:00
Unknown W. Brackets
b04b601958 Make sure to decode reordered mpeg frames. 2013-06-08 03:00:48 -07:00
Unknown W. Brackets
6844c7cab6 Don't read more than total packets per mpeg put.
And add notes on how it's supposed to really work.
2013-06-08 03:00:47 -07:00
Unknown W. Brackets
51d0f73008 Apparently, return 1 is not needed now. Hurray. 2013-06-08 03:00:47 -07:00
Unknown W. Brackets
8544cf2359 Delay sceMpegCreate() a bit to match PSP firmware. 2013-06-08 03:00:47 -07:00
Unknown W. Brackets
8b25545849 Don't allow sceMpegInit() twice. 2013-06-08 03:00:46 -07:00
Unknown W. Brackets
17907b204b Return a more accurate mpeg ringbuffer decode pos. 2013-06-08 03:00:46 -07:00
Sacha
f21218c3f9 Armjit: Combine mul.s + neg.s to VNMUL. Implement VNMUL, VNMLA, VNMLS.
I had implemented mul.s + add/sub.s + add/sub.s -> VADD/VSUB + V(N)ML(A/S). Turns out it doesn't happen enough though (once or twice per game).
2013-06-08 16:39:59 +10:00
Henrik Rydgård
c2dcebf36d Merge pull request #2136 from oioitff/mpeg-fix
PsmfPlayer seems to step video and sync in scePsmfPlayerGetVideoData.
2013-06-07 12:41:09 -07:00
oioitff
a51291e69c Add Info logs for low level decode. 2013-06-08 01:43:39 +08:00
oioitff
3e0e1f6f35 A tiny mistake in low level atrac3 decode. 2013-06-08 01:38:08 +08:00
oioitff
5be3a6e748 PsmfPlayer seems to step video and sync
in scePsmfPlayerGetVideoData.
2013-06-08 00:27:31 +08:00
oioitff
4385362369 Max sample number for atrac3plus should be 0x800.
Fix bgm and voice for Black Rock Shooter.
2013-06-07 20:38:31 +08:00
oioitff
a2f9fc9540 Fix sceAtracGetBufferInfoForReseting. 2013-06-07 20:21:25 +08:00
Henrik Rydgård
1d9b36fef2 Merge pull request #2131 from oioitff/mpeg-fix
Add support for mono CG audios.
2013-06-07 02:28:36 -07:00
oioitff
49ecb1bdc0 Add support for mono CG audios. 2013-06-07 17:14:26 +08:00
oioitff
1000562e90 Partly implement sceP3daBridgeCore.
Fix the missing voice in Saigo no Yakusoku no Monogatari.
2013-06-07 16:18:07 +08:00
Unknown W. Brackets
61b46e30a0 Return valid stuff in scePsmfQueryStream*(). 2013-06-06 23:07:25 -07:00
Henrik Rydgård
7d566b9ec5 Merge pull request #2106 from unknownbrackets/thread-funcs
Correct sceKernelChangeThreadPriority() and sched fixes
2013-06-06 01:36:03 -07:00
oioitff
5fb92f6fd8 Bug fix for _AtracSetData. 2013-06-06 15:51:21 +08:00
Unknown W. Brackets
32a557803b Reporting in sceKernelChangeCurrentThreadAttr(). 2013-06-06 00:08:24 -07:00
Unknown W. Brackets
e4dc030b83 Reset restarted thread priorities properly. 2013-06-05 23:57:27 -07:00