Commit Graph

3640 Commits

Author SHA1 Message Date
Unknown W. Brackets
67cbf2e904 Reverse packetsFree to packetsAvail.
This is the actual value stored in memory, which games may be accessing or
even writing to.

Makes the video/mpeg/ringbuffer/avail test pass.
2015-01-03 18:59:56 -08:00
Unknown W. Brackets
e6a50a1371 Initialize vfpu regs are NAN, not 0.0.
This matches tests, the fpu, and seems logical.
2015-01-03 10:40:21 -08:00
Henrik Rydgard
240ebcb085 Fix memory leaks in sceJpeg 2014-12-31 15:34:50 +01:00
Unknown W. Brackets
3d29b0d278 Fix typo breaking old savestates. 2014-12-29 08:53:19 -08:00
Unknown W. Brackets
93fee10899 Typo. 2014-12-27 09:12:50 -08:00
Unknown W. Brackets
523a75e2bb Fix another stupid mistake. 2014-12-26 08:03:55 -08:00
Unknown W. Brackets
6629655a56 Fix a glitch in host timing in some games. 2014-12-26 07:57:00 -08:00
Unknown W. Brackets
c64aa7f4a4 Correct some differences from IO timing.
Arg, oops.  Fixes #7231.
2014-12-26 07:49:22 -08:00
Unknown W. Brackets
efae9e0612 Make realistic timing optional. 2014-12-26 01:18:52 -08:00
Unknown W. Brackets
d6a113809b Add basic infrastructure to time io better.
This allows the filesystems to more accurately control timing.
But they're not actually doing it yet (same timing as before.)
2014-12-26 01:15:17 -08:00
Unknown W. Brackets
0abd95e784 Typo. 2014-12-26 01:12:23 -08:00
Unknown W. Brackets
0599c04c1c Properly unschedule IO events on file close.
Oops, was waking threads but not bumping events.
2014-12-26 01:07:21 -08:00
Unknown W. Brackets
3f20b32041 Add an option to prevent cpu stall on slow IO.
This is good for any slow storage, including:
  * Hard disk spinning up.
  * Generally slow (cheap) SD cards.
  * HTTP or Samba streaming.

May possibly cause bugs in some cases where timing is unrealistic.  That
being said, as long as the game is a UMD game, and there's caching (could
enable memory caching for storage), it should not be a problem usually.
2014-12-26 01:07:16 -08:00
chinhodado
81197f18a0 Avoid calling GetPointer() multiple times in a row 2014-12-22 22:46:37 -05:00
Unknown W. Brackets
37c7f56b1e Remove a clear copy/paste error. 2014-12-20 09:42:08 -08:00
Unknown W. Brackets
a2f4efa50f Fix an unsigned less than 0 warning. 2014-12-20 09:10:53 -08:00
Henrik Rydgård
a9be90229a Merge pull request #7140 from AbandonedCart/master
use libc++ for iOS to avoid additional directives
2014-12-18 22:38:14 +01:00
Henrik Rydgård
76b1313ed9 Merge pull request #7164 from daniel229/func_replace_orenoimouto_2
Another replace frame download in Ore no Imouto ga Konnani Kawaii Wake g...
2014-12-18 22:22:20 +01:00
Henrik Rydgard
a54e0cf244 Goodbye PowerPC, you can always be resurrected when the time comes 2014-12-16 21:58:38 +01:00
Unknown W. Brackets
0a8e6c2a06 Remove some unused functions. 2014-12-14 17:35:20 -08:00
Lioncash
3610473b78 sceNetAdhoc: Remove unnecessary assignments 2014-12-14 00:10:46 -05:00
Unknown W. Brackets
3ce21ce672 Allocate a correct amount for helper threads.
This was usually "saved" by the round up to 0x100, but was
underallocating.
2014-12-13 18:35:58 -08:00
Henrik Rydgard
8ad1ea4c84 Split JitCommon.h so that you can include it without getting the "NativeJit" definition 2014-12-13 21:13:28 +01:00
Henrik Rydgård
4021252119 Merge pull request #7169 from daniel229/wchar_t_in_scePauth
Support wchar_t in scePauth.
2014-12-12 09:37:12 +01:00
daniel229
fc0ba3f0fe Updata as hrydgard' suggestion 2014-12-12 10:07:28 +08:00
Henrik Rydgård
ea5126ef0b Merge pull request #7165 from lioncash/safe
ReplaceTables: Fix null checks
2014-12-11 20:57:41 +01:00
Lioncash
2f269ac8c0 ReplaceTables: Fix null checks 2014-12-11 14:34:10 -05:00
daniel229
4e017014ae Support wchar_t in scePauth. 2014-12-11 23:03:55 +08:00
Henrik Rydgård
973f4ea0ca Merge pull request #7167 from lioncash/unused
sceKernelModule: Remove unused array in __KernelLoadPBP
2014-12-11 10:21:27 +01:00
Henrik Rydgård
2e8b1363d9 Merge pull request #7166 from lioncash/conds
scePsmf: Remove unnecessary conditions
2014-12-11 09:48:25 +01:00
Lioncash
fc7439ec2a proAdhoc: Change resolveMAC to return bool
Must have missed this in my initial commit.
2014-12-10 23:42:40 -05:00
Lioncash
d8da1cd44d sceKernelModule: Remove unused array in __KernelLoadPBP 2014-12-10 23:38:35 -05:00
Lioncash
0e3d68e27f scePsmf: Remove unnecessary conditions
tempBuf is a stack-allocated array, and filehandle has a check for it above this conditional.
2014-12-10 23:30:19 -05:00
daniel229
eee73607b5 Another replace frame download in Ore no Imouto ga Konnani Kawaii Wake ga Nai 2014-12-11 11:13:59 +08:00
Unknown W. Brackets
f5d5f7d3fa Use SSE shifts for high-vol channels. 2014-12-08 21:23:47 -08:00
Unknown W. Brackets
42cd751060 Prevent a few savestate cross-compat issues.
We don't need to save gpu stats at all, so don't, makes it easier to
change it and dunno if anyone defines double as other than 64 bits.

Also, apparently there was padding in the event state but not on all
platforms.
2014-12-08 21:18:56 -08:00
Henrik Rydgård
f135bf79e3 Merge pull request #7157 from lioncash/override
Core: Add missing override specifiers
2014-12-08 22:37:33 +01:00
Lioncash
cac632424c Core: Add missing override specifiers 2014-12-08 15:20:31 -05:00
Lioncash
ae5be5a814 sceSha256: Mark sceSha256Digest as static 2014-12-08 12:31:57 -05:00
Henrik Rydgård
38345a497f Merge pull request #7137 from lioncash/static
Core: Mark some module functions as static
2014-12-08 11:10:14 +01:00
Unknown W. Brackets
066ce50a12 Disable SSE clamping for certain volume levels.
Fixes sound in Tales of Phantasia.  Can improve later.
2014-12-08 02:06:25 -08:00
Henrik Rydgård
82d69fad8d Merge pull request #7146 from hrydgard/sha256
Quick implementation of sceSha256Digest from #7134
2014-12-08 10:40:56 +01:00
Lioncash
4ccb838306 Core: Mark some module functions as static 2014-12-08 04:40:08 -05:00
Henrik Rydgård
6546a5ac03 Merge pull request #7143 from lioncash/net
proAdhoc: Make some functions return boolean values.
2014-12-08 00:26:25 +01:00
Lioncash
a962bc5a6c Mark some functions as const 2014-12-07 17:08:13 -05:00
Henrik Rydgard
7de3ed109a Android x86 buildfix 2014-12-07 22:00:30 +01:00
Henrik Rydgard
1a1faeffd1 More audio microoptimization 2014-12-07 21:14:09 +01:00
Henrik Rydgard
28aa18953a Audio: Minor SSE2 optimization, just because 2014-12-07 20:23:47 +01:00
Henrik Rydgard
8102a67602 Implement sceSha256Digest (untested) 2014-12-07 19:25:45 +01:00
Henrik Rydgard
29e681808d Merge branch 'sceSha256' of https://github.com/daniel229/ppsspp into daniel229-sceSha256 2014-12-07 19:11:45 +01:00
Henrik Rydgard
4457dca4c9 Rename the ARM Jit class to ArmJit 2014-12-07 14:25:22 +01:00
Lioncash
1d9ace08ae proAdhoc: Make some functions return boolean values.
Also shortens validNetworkName a little.
2014-12-06 14:48:46 -05:00
TwistedUmbrella
3f4d58b0b2 use libc++ for iOS to avoid additional directives 2014-12-05 19:47:02 -05:00
daniel229
49b2939f0d sceSha256 2014-12-04 22:44:41 +08:00
Lioncash
efaba33624 sceMpeg: Remove an unnecessary if statement
stream is previously used in the above memcpy, so this check is not necessary.
2014-12-03 16:49:01 -05:00
Unknown W. Brackets
9d97eb5b12 Oops, fix an old typo.
Thanks Lioncash.  This broke a small range of old savestates.
2014-12-03 12:49:52 -08:00
Lioncash
f830d5dec7 Core: Mark some functions as const 2014-12-03 15:16:11 -05:00
daniel229
6846e8b140 Replace frame download in Kenka Banchou Bros: Tokyo Battle Royale 2014-12-03 18:44:04 +08:00
Unknown W. Brackets
ced555ee47 Oops, fix a mistake in umd replacement. 2014-11-25 12:03:16 -08:00
Unknown W. Brackets
fd2d7406d1 Make LocalFileLoader essentially private. 2014-11-23 14:02:35 -08:00
Unknown W. Brackets
967b589778 Consistently use FileLoader for standard ISOs. 2014-11-23 13:59:56 -08:00
Henrik Rydgard
4ed97f9c60 Don't msgbox on game exit (homebrew can legitimately do this) 2014-11-17 21:25:08 +01:00
sum2012
758ddffc37 Prevent unknown getpointer in sceKernelMemset
Fix #7064
2014-11-08 06:49:24 +08:00
Henrik Rydgård
517ca0569e Merge pull request #7058 from unknownbrackets/io-minor
Handle negative read sizes more correctly
2014-11-07 12:16:09 +01:00
Unknown W. Brackets
79ff697f9d Return an error code for negative file sizes. 2014-11-06 08:45:45 -08:00
Unknown W. Brackets
49aff7c75d Correct unload of imported vars.
From level99procrastinator, just slightly adjusted.
2014-11-05 22:57:25 -08:00
Henrik Rydgård
f1d43e7e90 Merge pull request #7046 from unknownbrackets/perf
Improve load and shutdown performance a bit
2014-11-03 21:50:10 +01:00
Unknown W. Brackets
9d86d3ca9b Use std::unordered_multimaps in a few places. 2014-11-03 08:31:52 -08:00
Unknown W. Brackets
bf50baf698 Cleanup some old typedefs. 2014-11-02 18:46:12 -08:00
Unknown W. Brackets
a391296c17 Small optimization to func/var import.
Should compare the nid first, of course, faster and less likely to match
anyway.
2014-11-02 17:53:46 -08:00
Unknown W. Brackets
a6a234add1 Return errors on disk full for file creation. 2014-11-02 12:40:31 -08:00
Unknown W. Brackets
2958c575a1 Check actual free disk space when games ask.
Windows only for the moment.
2014-11-01 00:33:19 -07:00
Henrik Rydgard
d24abb3af0 More GetPointer cleanup. memCardDirectory->memStickDirectory. 2014-10-19 23:20:51 +02:00
Unknown W. Brackets
0f45c3516d Skip setting a0 in the idle thread.
We don't need the param for our fake syscall.  This is safe since it's all
savestated.
2014-10-12 12:51:48 -07:00
daniel229
5ff098efb9 Another replace frame download in danganronpa 1 2014-10-05 13:46:47 +08:00
daniel229
ef1484da65 Replace frame download in danganronpa 1 2014-10-05 13:44:39 +08:00
daniel229
a7cf3aeafc Another replace frame download in danganronpa 2 2014-10-05 13:42:03 +08:00
daniel229
d7927009d0 Replace frame download in danganronpa 2 2014-10-05 13:39:15 +08:00
Unknown W. Brackets
adef5bbe59 Discard packet data when seeking. 2014-10-03 23:23:36 -07:00
Unknown W. Brackets
50e4eded75 Actually use the temp packet. 2014-10-03 23:08:16 -07:00
Unknown W. Brackets
72e8e6448f Don't eat packet data when using a temp packet. 2014-10-03 22:17:25 -07:00
Unknown W. Brackets
cf7e280185 Attempt to ensure we don't decode partial frames. 2014-10-03 22:11:45 -07:00
Unknown W. Brackets
f421453bf9 Align samples even after a loop.
This corrects the amount of audio after certain loops, but it doesn't seem
to output the right data when this happens.

Possibly, seeking isn't doing the right thing and resetting state that
shouldn't be reset when a loop happens.  Not sure... but it was already
wrong before, this just reads the right amount of it.
2014-10-03 21:33:45 -07:00
Unknown W. Brackets
2f443f52a6 Ensure we request s16 samples.
We won't get these for atrac3+, but we should for atrac3 (seems to be the
default anyway, but better to be clear.)
2014-10-03 20:05:08 -07:00
Unknown W. Brackets
24ab84a0fe Centralize atrac frame decode logic. 2014-10-03 20:04:54 -07:00
Unknown W. Brackets
398646411a Properly handle atrac packets with multiple frames.
This gets us decoding the start of a file and near loops way more
correctly.
2014-10-03 19:48:39 -07:00
Unknown W. Brackets
1b520ea673 Correct first next sample calculation.
If it's exactly matching a frame size, we need to return a full frame,
rather than 0.  Fixes #6967.
2014-10-03 07:49:35 -07:00
Henrik Rydgård
c2a462ceb2 Merge pull request #6949 from daniel229/func_replace_soranokiseki
Functions replace in Sora no Kiseki FC, SC ,and Boku no Natsuyasumi 2 and 4
2014-10-02 15:48:28 +02:00
Unknown W. Brackets
2221951cd9 Correct atrac looping offset by one frame. 2014-09-28 15:19:30 -07:00
Unknown W. Brackets
3856a53503 Handle atrac files with larger "fact" chunks.
Ends up with the a separate offset for loops, it seems like.  This corrects
looping information for these files.
2014-09-28 15:19:29 -07:00
Unknown W. Brackets
58afdfac60 Return an error for MOut on a stereo stream.
It seems like it won't downmix, it returns an error.
2014-09-28 15:19:29 -07:00
Unknown W. Brackets
feada0ee65 Adjust some logging.
Report logic op more correctly, cleanup an incorrect log.
2014-09-28 15:13:52 -07:00
Henrik Rydgård
80a28e5ac7 Merge pull request #6950 from unknownbrackets/gpu-minor
d3d9: Show an error when default shaders fail to compile
2014-09-27 18:38:42 +02:00
Henrik Rydgård
f875b14666 Merge pull request #6954 from unknownbrackets/font-minor
Fix some minor issues in sceFont causing failing tests
2014-09-27 18:35:41 +02:00
Unknown W. Brackets
2c99baf295 Delay sceUtilityMsgDialogUpdate() per tests.
This is an approximate value, but it should be close.
2014-09-27 00:13:27 -07:00
Unknown W. Brackets
ad191cdd3a Correct error codes in sceFontOpenUserMemory(). 2014-09-26 23:44:36 -07:00
Unknown W. Brackets
1d4bd6c695 Add a delay for creating fontlibs and fonts.
Matches tests, low bound on the delay.
2014-09-26 23:44:04 -07:00
daniel229
aad301a97a Replace download frame in Boku no Natsuyasumi 2 and 4 2014-09-27 14:00:37 +08:00
Unknown W. Brackets
358462a7f4 Add a .gitattributes to normalize newlines.
No code changes.
2014-09-26 21:20:50 -07:00
daniel229
4de7e89330 Replace download frame in Sora no kiseki SC,and a comment for Sora no kiseki 3rd 2014-09-26 17:13:01 +08:00
daniel229
ea9a0182e4 Replace download frame in Sora no kiseki FC 2014-09-26 16:55:37 +08:00
Unknown W. Brackets
c88b66b308 d3d9: Emulate some logic ops with blending.
This makes Brave Story's intro visible.  Also add for GLES2/GLES3, but
doesn't seem to work on GLES2.
2014-09-23 21:13:47 -07:00
Unknown W. Brackets
0ebe5325d4 Correct the end from sceAtracGetSoundSample().
I think it's meant to be the last *valid* sample.
2014-09-23 11:33:21 -07:00
Unknown W. Brackets
e717a87f9f Add extra frames if we run out of atrac data.
We could probably insert frames instead for GHA phase shifting, but this
will solve other bugs too, I think.
2014-09-23 11:33:21 -07:00
Unknown W. Brackets
fa42426d21 Clamp the final sample count during decode.
Some games depend on / expect this, or else they'll let important data get
overwritten.
2014-09-23 11:33:20 -07:00
Unknown W. Brackets
68f4a1e7f7 Return the correct next sample at the beginning. 2014-09-23 11:33:20 -07:00
Unknown W. Brackets
0aa7247fea Fix seeking in atrac after the start.
Not sure the very start is right though, arg.
2014-09-23 11:33:19 -07:00
Unknown W. Brackets
4702ae0e41 Add breakpoints to most sceAtrac mem access. 2014-09-23 11:33:18 -07:00
Unknown W. Brackets
6b6bf3f8e6 Correct the dataOff member of atrac context. 2014-09-23 11:33:18 -07:00
Unknown W. Brackets
ac1fcdb269 Skip samples in the first chunk of atrac output.
This seems to be what the PSP actually does, although not sure.  The first
result is always smaller by this amount (numerous atrac files tested.)
2014-09-23 11:32:11 -07:00
Unknown W. Brackets
70705d4a9d Remove incorrect atrac decode ptr nullcheck.
Already shown in decode test to be valid.
2014-09-23 08:32:09 -07:00
daniel229
d452d02aba Update replace function for Toaru Majutsu to Kagaku no Ensemble. 2014-09-21 10:58:56 +08:00
daniel229
a657da91c3 Replace download frame in Toaru Majutsu to Kagaku no Ensemble 2014-09-18 15:37:12 +08:00
daniel229
48b774d143 Replace download frame in Rezel Cross 2014-09-18 15:29:59 +08:00
daniel229
2dd3ab6c20 Replace frame download in suikoden1&2 2014-09-15 00:19:22 +08:00
Henrik Rydgard
f84ebf6bff sprintf->snprintf, fix some too short buffers 2014-09-14 00:14:11 +02:00
Henrik Rydgard
02a89306d1 Warning fixes, sprintf->snprintf 2014-09-13 23:51:07 +02:00
Unknown W. Brackets
a892779f89 Merge pull request #6880 from daniel229/func_replace_sakurasou
Replace frame download in Sakurasou No Pet Na Kanojo

Conflicts:
	Core/HLE/ReplaceTables.cpp
2014-09-12 22:28:27 -07:00
daniel229
5f4a95cdd5 Update as unknown's suggestion 2014-09-13 10:21:00 +08:00
Unknown W. Brackets
4bad83b12b Move a couple funcs outside of loops.
Will cut down on the performance hit.
2014-09-11 22:56:53 -07:00
daniel229
7c1d4234ab Replace frame download in Sakurasou No Pet Na Kanojo 2014-09-11 15:32:07 +08:00
daniel229
22fa431f89 Replace frame download in Ore no Imouto ga Konnani Kawaii Wake ga Nai 2014-09-11 14:34:17 +08:00
daniel229
81ec625d0a Update the hook for Kirameki School Life SP 2014-09-11 12:01:58 +08:00
daniel229
e8efab6d21 Change function name 2014-09-11 00:47:06 +08:00
daniel229
7f6f52a904 Fixes saveicons in Kirameki School Life SP. 2014-09-11 00:18:59 +08:00
daniel229
b1d9461779 Replace frame download in Narisokonai Eiyuutan 2014-09-09 14:33:15 +08:00
Unknown W. Brackets
420eb1bed3 Replace frame download in SD Gundam G Generation. 2014-09-08 22:44:27 -07:00
Unknown W. Brackets
ee6960ff7a Hook the saveicon creation func in Growlanser IV. 2014-09-08 19:10:46 -07:00
Unknown W. Brackets
cddc289675 Use fixed dates for rtc adjusted and reincarnated.
This may be safer in case a game thinks funny business is going on if the
user changed the clock very recently, which wouldn't be the case on a
real PSP.
2014-09-05 09:34:09 -07:00
Unknown W. Brackets
1e31fd54eb Implement rtc date formatting funcs. 2014-09-05 09:13:33 -07:00
Unknown W. Brackets
0180d18449 Correct sceRtcGetDayOfWeek() for odd years. 2014-09-05 09:13:08 -07:00
Andrew Church
6afa948d06 s32 -> int because it doesn't need to explicitly be 32 bits. 2014-09-05 00:31:25 +09:00
Andrew Church
0512a17654 Read lw offset as a signed value. 2014-09-05 00:25:48 +09:00
Andrew Church
230bbad1c6 Read the offset for the framebuffer index from the instruction stream
instead of using a literal constant, so the hook works for other games
using the same function but a different offset (e.g. Zero no Kiseki).
Also remove the memcpy() since the original function will do it anyway
(and may do it differently if other games call the function with
different arguments).
2014-09-04 23:44:32 +09:00
Andrew Church
33264a6b8f Hook Brandish frame capture for menu fadeout and save screenshots. 2014-09-04 17:36:56 +09:00
Henrik Rydgård
8b67f427b0 Merge pull request #6826 from thedax/hle-stub
Add a non-functional stub for sceNetResolverInit.
2014-09-02 22:42:15 +02:00
The Dax
c2afa8f221 Add a non-functional stub for sceNetResolverInit.
Lets a Quake II homebrew port by CROW_BAR boot again.
2014-09-02 15:40:42 -04:00
Henrik Rydgård
b2f5efaa50 Merge pull request #6822 from unknownbrackets/thread-funcs
Improve some timing / thread funcs
2014-09-02 09:49:46 +02:00
Unknown W. Brackets
c9df66a450 Initialize the VFPU revision from a PSP-3000 value. 2014-09-01 23:16:50 -07:00
Unknown W. Brackets
d637de8b4c Eat some cycles when signaling semaphores.
Seems to match tests.
2014-09-01 21:12:56 -07:00
Unknown W. Brackets
2923800217 Eat some cycles when starting a thread.
Seems to improve a test a bit, based on tests.
2014-09-01 21:12:13 -07:00
Unknown W. Brackets
84231c0188 Eat some cycles when canceling/deleting fpls.
Improves tests measuing timeouts remaining after delete.
2014-09-01 21:11:41 -07:00
Unknown W. Brackets
c5b15cc9fc Adjust semaphore timing slightly.
This matches tests a bit better.
2014-09-01 20:03:58 -07:00
Unknown W. Brackets
6599430c04 Improve some timing in msgpipes.
Probably not super important, but makes tests happier.

Also, when unscheduling an event, return the current time left, including
already spent time since last Advance.
2014-09-01 20:03:58 -07:00
Unknown W. Brackets
a42a2864a6 Protect against vtimers scheduled in past. 2014-09-01 20:03:57 -07:00
Unknown W. Brackets
f78712ec3a Simplify alarm timing.
This is from when it seemed like sceKernelSetAlarm() was by cycles.
Corrects handling of large timer / sysclock params.
2014-09-01 20:03:57 -07:00
Unknown W. Brackets
2cad35ad59 Put a 250us minimum on all vtimer scheduling. 2014-09-01 20:03:56 -07:00
Unknown W. Brackets
4e9f54a400 Require 250us lead time to start a vtimer.
Matches tests, improves the threads/vtimers/delete test.
2014-09-01 20:03:56 -07:00
Unknown W. Brackets
baf465500a Fix a bad iterator dereference in sceMpeg.
Though not sure it should actually reach here, let's at least not crash.
2014-08-31 21:15:04 -07:00
sum2012
06fae5bcbc Add a "no loop information" log 2014-09-01 04:47:12 +08:00
sum2012
55cb292bad Correct sceKernelSelfStopUnloadModule 's name and logging 2014-08-29 20:36:21 +08:00
sum2012
26b25052c2 Fix sceKernelSelfStopUnloadModule parameters
According to http://code.google.com/p/jpcsp/source/detail?r=3597
2014-08-29 20:31:25 +08:00
Henrik Rydgard
1d7642fa48 Remove most mentions of the "_XBOX" define 2014-08-24 14:21:35 +02:00
Henrik Rydgard
0f973a3276 Get it running on Android again 2014-08-23 09:48:08 +02:00
Henrik Rydgard
dfbb0bdea2 Hack: Return -1 specifically for trying to load SFO's as modules. Works around #6748
Will test properly later and return the correct value but this should be zero-impact.
2014-08-21 10:34:56 +02:00
Henrik Rydgård
d52c87d82c Merge pull request #6722 from sum2012/wwe
check for duplicated stack addresses by JimLee168
2014-08-20 16:34:02 +02:00
Henrik Rydgård
2de6b471ce Merge pull request #6616 from unknownbrackets/modules
Improve module loading and allocation
2014-08-19 08:00:47 +02:00
Henrik Rydgård
72d5a55791 Merge pull request #6675 from unknownbrackets/threadman
Correct sceKernelThreadmanIdList behavior
2014-08-19 07:56:54 +02:00
Henrik Rydgård
e7a1761147 Merge pull request #6597 from unknownbrackets/ge-minor
Unpause lists after wait signals with no handler
2014-08-19 07:56:37 +02:00
Henrik Rydgård
5f8f3633a8 Merge pull request #6685 from unknownbrackets/kill-volume
Remove bgm and sfx volume settings
2014-08-19 07:56:01 +02:00
Unknown W. Brackets
3fbab33c91 Only loop at video end.
In case of a short video that runs out of data but isn't ready to loop
yet.
2014-08-17 15:46:04 -07:00
Unknown W. Brackets
909ac62669 Return a proper error for fake TMIDs. 2014-08-17 14:38:56 -07:00
Unknown W. Brackets
6852e32d6b Support other thread TMIDs in uid listing. 2014-08-17 14:38:55 -07:00
Unknown W. Brackets
b8f8707ea1 Allow a bad pts on zero size when listing uids. 2014-08-17 14:38:55 -07:00
Unknown W. Brackets
feeb03b5ff Fix return values in sceKernelGetThreadmanIdList().
Support other object types as well, but not threads/etc. properly yet.
2014-08-17 14:38:54 -07:00
Unknown W. Brackets
774589aa4f Correct the Tlspl TMID value. 2014-08-17 14:38:54 -07:00
Unknown W. Brackets
dc16ad3744 Report forwarding module load to loadexec.
Shouldn't do this probably.
2014-08-17 14:26:01 -07:00
Unknown W. Brackets
abacba4e31 Clarify some module loading code. 2014-08-17 14:26:00 -07:00
Unknown W. Brackets
a16ccf52e7 Allocate kernel modules that fail to decrypt.
This corrects some memory semantics to match real firmware.
2014-08-17 14:25:59 -07:00
Unknown W. Brackets
f864b6be63 Allocate 0x4000 at the bottom like real firmware.
Should fix #4056.
2014-08-17 14:25:59 -07:00
Unknown W. Brackets
71e8c0f6e0 Sum all .bss* sections when counting bss size. 2014-08-17 14:25:58 -07:00
Unknown W. Brackets
0a14fd5ee9 Skip zero size segments in module segment info. 2014-08-17 14:25:58 -07:00
Unknown W. Brackets
bf03e32027 Add a safety check for freeing kernel modules. 2014-08-17 14:25:57 -07:00
Unknown W. Brackets
7c37d64717 Load kernel modules into kernel memory.
This way they don't eat up user memory space.
2014-08-17 14:25:55 -07:00
Unknown W. Brackets
99d96218e1 Correct some loadmodule error codes. 2014-08-17 14:25:55 -07:00
Unknown W. Brackets
cf4b607113 Validate the elf position argument more. 2014-08-17 14:25:54 -07:00
Unknown W. Brackets
1d310ad8bb Allocate module memory from top/bottom per request. 2014-08-17 14:25:54 -07:00
Unknown W. Brackets
1d195a37e4 Cleanup modules on unloadself. 2014-08-17 14:25:53 -07:00
Unknown W. Brackets
5c470a1923 Remove bgm and sfx volume settings.
They don't actually work in all games, and this only confuses users.

Also, the default 7 lowers the volume of audio detected as bgm or sfx, but
not other volume.  This means that some audio may have played too loud in
some games by default, which will be fixed by this change.
2014-08-17 14:16:59 -07:00
Unknown W. Brackets
413523c8ac Unpause lists after wait signals with no handler.
This stops the gpu/displaylist/state test from hanging, and appears to be
the correct behavior.  It makes sense.
2014-08-17 14:14:25 -07:00
Henrik Rydgard
8560e317d0 Reload the stream on loop. Fixes #6703. Thanks to @unknownbrackets 2014-08-17 22:29:01 +02:00
sum2012
6024fe7e13 Don't need duplicate the whole table 2014-08-15 23:30:51 +08:00
sum2012
9f4efaf142 Add sceLibFttt
Same as sceFont
2014-08-15 22:42:08 +08:00
JimLee168
8099281928 check for duplicated stack addresses
Based on https://code.google.com/p/jpcsp/source/detail?r=3569

Fix WWE SmackDown! vs. RAW 2006
2014-08-13 21:28:22 +08:00
daniel229
a1f922baff fix typo,add sceUsbGpsGetState() function 2014-08-13 01:47:24 +08:00
daniel229
88124952a2 add sceUsbGpsOpen() function 2014-08-13 01:18:03 +08:00
daniel229
1ff9507f7c Add sceUsbGps module 2014-08-13 00:11:26 +08:00
Unknown W. Brackets
3bd945c2a8 Ignore displaybuf in psmfplayer when warming up.
Should fix #6704.
2014-08-10 21:56:05 -07:00
Unknown W. Brackets
5525c0a485 Use a lookup for function replacements.
Ought to be a tiny bit quicker.
2014-08-03 13:17:55 -07:00
Unknown W. Brackets
d060a06fa6 Disable a bunch of function replacements.
These are just for speed, let's turn them off.  Using a flag because:
 * I think there's still some issue with savestates, not sure.
 * We might swap this flag to a separate option.
2014-08-03 13:15:41 -07:00
Unknown W. Brackets
f198a7f587 Use checked pointers in all function replacements.
Some games are still hitting bugs and there's no way to disable this "fast
memory" without losing graphical effects.  Better to do it evenly than
weird hacks and extra logging/checks.
2014-08-03 13:04:00 -07:00
Henrik Rydgard
bc3b4c5512 Disk swap: Remount the ISOBlockSystem too. Should fix #6662 2014-08-02 12:35:27 +02:00
Henrik Rydgard
b7ac539420 Fix crash after loading state from within Psmf movie
(a variable was not initialized)
2014-07-28 00:01:28 +02:00
Henrik Rydgård
936dd58367 Merge pull request #6640 from JimLee168/master
Atrac buffer validate RIFF header
2014-07-27 21:08:32 +02:00
sum2012
21e024eeda sceMpegRingbufferAvailableSize might use a different
Based on http://code.google.com/p/jpcsp/source/detail?r=1813
Fix #5112
2014-07-27 23:40:46 +08:00
JimLee168
9722e1eb03 Atrac buffer validate RIFF header 2014-07-27 19:02:01 +08:00
Unknown W. Brackets
c7a2753a00 Fix savestates when there are psmfplayers.
Oops.  Fixes #6613.
2014-07-25 09:19:07 -07:00
Henrik Rydgard
85cb55cb84 Check some addresses in sceAtracDecodeData 2014-07-21 10:30:52 +02:00
Henrik Rydgård
0e5679c833 Revert "Detect Peace Walker's anti-cheat hash func" 2014-07-20 23:39:11 +02:00
The Dax
c1fc04ee64 Remove the "Change MAC Address" screen, and simply generate a new (random) one upon pressing the button. 2014-07-18 16:58:26 -04:00
Henrik Rydgård
06f058de54 Merge pull request #6506 from unknownbrackets/replace-funcs
Detect Peace Walker's anti-cheat hash func
2014-07-18 09:34:46 +02:00
Unknown W. Brackets
a59d8b5c1f Override the codehashing func used in Peace Walker.
This makes the demo work fine even with jit enabled.  May help the full
game when fighting a certain boss.
2014-07-18 00:23:26 -07:00
Sacha
cd20288d99 Fix some compiler warnings. 2014-07-17 00:49:58 +10:00
Unknown W. Brackets
9581de449a Fix some logging in sceNetAdhoc. 2014-07-15 23:35:19 -07:00
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