Henrik Rydgard
b264657d56
Implement W^X-compatible path. Works on Windows and Android, hopefully iOS (untested).
...
Disabled block linking in this mode, can re-enable with some more work later.
To enable W^X on other platforms than iOS, simply change PlatformIsWXExclusive.
2016-08-28 14:52:08 +02:00
Henrik Rydgard
323eb72b7c
Write-protect the dispatcher on all platforms.
2016-08-28 13:35:27 +02:00
Henrik Rydgård
22cef33a18
Merge pull request #8932 from unknownbrackets/font-minor
...
Font: Draw nothing for chars before first glyph
2016-08-28 11:21:24 +02: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
eacebd4c41
Font: Draw nothing for chars before first glyph.
...
This matches the logic in sceFontGetCharImageRect(), and improves tests.
Previously, we were drawing the alt character in these cases.
2016-08-27 09:41:01 -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
889ab87639
Merge pull request #8893 from unknownbrackets/virtfs
...
Avoid crash in virtfs if handler fails to load
2016-08-07 12:35:27 +02: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
92cdb583aa
virtfs: Log properly on handler load failure.
2016-08-06 20:04:50 -07:00
Unknown W. Brackets
25c320aa4b
virtfs: Avoid crash if handler cannot be loaded.
...
For example, if it was renamed or is for the wrong OS.
2016-08-06 19:23:46 -07: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
ef95bb05cc
Merge pull request #8871 from unknownbrackets/android-power
...
Detect power saving mode on Android
2016-08-06 12:16:01 +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
Henrik Rydgård
cbf0a479fa
Merge pull request #8882 from unknownbrackets/debugger
...
Add custom log expressions to the debugger
2016-08-06 10:54:57 +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
747a6ec524
Debugger: Add custom log expressions.
...
Similar to Visual Studio, just use {a1} to log the value of register a1.
Supports anything the expression parser supports.
2016-08-04 13:29:22 -07:00
Unknown W. Brackets
e4ca124b0e
Debugger: Add custom breakpoint log message.
2016-08-04 13:07:56 -07:00
Unknown W. Brackets
9972e5b10a
Debugger: Allow logging on CPU breakpoints.
2016-08-04 12:39:29 -07:00
Unknown W. Brackets
a9ad0cd471
Debugger: Make breakpoint actions more generic.
2016-08-04 12:02:44 -07: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
372798e16c
Auto-disable CRC reporting in power save mode.
2016-07-24 17:31:41 -07:00
Unknown W. Brackets
1f7a137926
Android: Detect and report power save mode.
...
This shows a message when it's on, or when power drops to low.
2016-07-24 17:04:06 -07: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
Unknown W. Brackets
dcc2541b71
Mpeg: Ask FFmpeg not to look beyond the header.
2016-07-24 15:58:05 -07:00
Unknown W. Brackets
57ae9a1181
Mpeg: Ensure garbage is not read from header.
...
In cases where we did not have a full 64k at first, we would potentially
send FFmpeg garbage if it asked for it.
2016-07-24 15:58:04 -07:00
Unknown W. Brackets
ff95fcd321
Mpeg: Minor cleanup to header parsing.
...
Make sure we don't read garbage.
2016-07-24 15:58:03 -07:00
Henrik Rydgard
eb72a746b9
Fix one possible (reproducible!) startup crash in IRJit. May help #8848
2016-07-25 00:21:01 +02: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
Henrik Rydgård
c6d4966067
Make really sure we're not using the IRBlock copy constructor other than on Symbian.
...
Turns out it ended up being used on Mac, and our asserts just debugprint and don't actually assert...
2016-07-09 09:32:41 +02:00
Henrik Rydgard
e0845b876f
Fix some bugs in the IRJit. Hopefully helps #8848
2016-07-08 00:05:44 +02:00
Unknown W. Brackets
33b392821c
Stop reporting FrameRate.
...
This is just a speed setting, it doesn't affect emulation.
2016-07-04 12:12:42 -07:00
Unknown W. Brackets
226abfeea8
Reset flag when trying server anew.
2016-07-04 12:12:41 -07:00
Unknown W. Brackets
42fd4aeb12
Show feedback when the compatibility is submitted.
2016-07-04 12:12:40 -07:00
Unknown W. Brackets
45218be5e3
Send a CRC hash with compatibility reports.
2016-07-04 12:07:15 -07:00
Unknown W. Brackets
65c7d0bd04
Add uncached flag for file loader reads.
...
This allows us to indicate that a read need not be cached.
2016-07-04 12:07:15 -07:00
Henrik Rydgård
cbb1ab17ca
Merge pull request #8845 from unknownbrackets/http
...
Add UI for wifi remote disc streaming
2016-07-04 20:38:54 +02:00
Henrik Rydgård
1091fd2dc0
Merge pull request #8840 from unknownbrackets/ir-vfpu
...
Minor IR cleanup in the VFPU
2016-07-04 10:02:52 +02:00
Unknown W. Brackets
429346bb94
http: Make sure we don't hang checking existence.
...
It's not great to delay loading when the server is down - we'll do a
proper check when we display the games.
This also fixes shutdown being slow.
2016-07-04 00:46:42 -07:00
Unknown W. Brackets
c3e70c11f8
http: Save last-used port.
...
This is necessary for better caching, in case you share often.
2016-07-03 22:13:54 -07:00
Unknown W. Brackets
41e167f384
http: Oops, fix crash.
...
Huh, I thought I tested this?
2016-07-03 22:13:52 -07:00
Unknown W. Brackets
1de4943632
jit-ir: Avoid crash in stack walk.
...
This can happen if something is data, I suppose, and not a valid block.
2016-07-02 20:51:06 -07:00
Unknown W. Brackets
4578c3cb54
jit-ir: Implement memory breakpoints.
...
These generally work, but likely delay slots will make downcount slightly
off, and won't resume when you hit run again without manually stepping
through them.
2016-07-02 16:38:30 -07:00
Unknown W. Brackets
7cd666c351
jit-ir: Decrease downcount after delayslot.
...
Except for likely delay slots. This makes breakpoints work more
correctly when they trigger within a delay slot.
2016-07-02 16:35:56 -07:00
Unknown W. Brackets
1df08518ae
jit-ir: Implement basic icache clear.
2016-07-01 17:27:24 -07:00
Unknown W. Brackets
6fb34d0bee
jit-ir: Add initial breakpoint support.
...
No memory breakpoints yet, and cache isn't cleared yet so these don't work
exactly the way you might expect...
2016-07-01 17:15:57 -07:00
Unknown W. Brackets
8fab3dc91b
jit-ir: Allow 3x3 and 2x2 vmmov in IR.
...
While this will generate a lot of FMovs, it should still be better than
bailing to interp.
2016-07-01 14:08:32 -07:00
Unknown W. Brackets
65394f1dba
jit-ir: Fix vbfy with overlap.
2016-07-01 14:08:31 -07:00
Unknown W. Brackets
4761c0aa3f
jit-ir: Allow SIMD on vabs/vneg.
2016-07-01 14:08:31 -07:00
Henrik Rydgård
befeba7d80
Merge pull request #8832 from unknownbrackets/pbp-minor
...
Consistently resolve PBP paths, use /s in recent
2016-06-27 09:48:24 +02:00
Henrik Rydgård
3b67ed57a8
Merge pull request #8833 from unknownbrackets/reporting
...
Add reporting for sceKernelDevkitVersion() calls
2016-06-27 09:47:24 +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
eb674b4699
Reduce load delay with many recent http files.
...
If we have data for them, we can start up fairly quickly.
2016-06-26 20:45:04 -07:00
Unknown W. Brackets
9d6684a776
Consistently resolve PBP paths, use /s in recent.
...
Drag and drop was using \s causing duplicate recent entries and confusing
some of the PBP parsing. Let's make it all a bit safer.
2016-06-26 20:33:25 -07:00
Unknown W. Brackets
dcf8da244d
Prevent buffer overrun from OSK dialog.
...
If there was never a null, by mistake, we'd corrupt memory and then crash.
Occurs in the "Sonymon" homebrew.
2016-06-26 20:28:01 -07:00
Unknown W. Brackets
7695cd78cb
Show a confirmation screen after feedback submit.
2016-06-25 23:11:20 -07:00
LunaMoo
101df1da2b
Ooops;3, remove leftover
2016-06-21 06:29:26 +02:00
LunaMoo
6c14b82005
Fix #8448 properly, in case we fail to generate ID.
...
Limit homebrew ini file generation to UI.
2016-06-20 20:50:13 +02:00
LunaMoo
778c518a37
Cheat menu access from gameScreen + minor bugfix +
...
Invalidate JIT for 0xE/0xD checks
And big thanks to [Unknown] for help:3
2016-06-20 11:33:02 +02:00
daniel229
cfff0e9d82
Enable extra ram for The Elder Scrolls Travels Oblivion USA Beta and Melodie - alpha
2016-06-14 15:42:54 +08:00
Unknown W. Brackets
c0c43acb6e
Buildfix for gcc.
...
At least our Travis gccs are hitting an ICE.
2016-06-12 12:08:34 -07:00
Unknown W. Brackets
85e7980c44
Prompt for reporting even when disabled.
...
To improve visibility.
2016-06-12 10:46:57 -07:00
Unknown W. Brackets
2ceee79324
Send screenshots with compatibility reports.
2016-06-12 10:00:32 -07:00
Unknown W. Brackets
da0a79f695
Add an extra param for reporting to verify data.
2016-06-12 07:34:21 -07:00
Unknown W. Brackets
7af1deb768
Reduce chance of reporting data corruption.
...
We already check for spam, so this shouldn't be happening, but let's play
it safer.
2016-06-12 07:30:36 -07:00
Unknown W. Brackets
6151f8ef9f
Allow taking screenshots with a clamped size.
...
Sometimes 10x is a little on the big side.
2016-06-12 07:09:01 -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
Henrik Rydgård
cad7235c86
Merge pull request #8802 from unknownbrackets/file-minor
...
Fix extract file and sharing violation handling
2016-06-05 08:22:48 +02:00
Henrik Rydgård
3649231d66
Merge pull request #8799 from unknownbrackets/psmf
...
Correct some more scePsmf functions
2016-06-05 08:22:12 +02:00
Unknown W. Brackets
5fcf6ee012
Provide clearer errors for invalid ISOs.
2016-06-04 22:10:47 -07: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
4826405c26
File: Retry open when a sharing violation is hit.
...
Some editors will lock the file while it's open, and it is convenient if
you can still have things work when that happens.
2016-06-04 18:17:05 -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
c8d0270bb4
Mpeg: Validate data more during demux.
...
This also parses a bit earlier, not requiring a full 2048 bytes ahead at
all times.
2016-06-04 18:16:21 -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
4d16835990
Mpeg: Validate the pack header.
2016-06-04 18:16:20 -07:00
Unknown W. Brackets
b191fd2914
Mpeg: Make sure not to demux outside the buffer.
2016-06-04 18:16:19 -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
Henrik Rydgård
87f3cf565a
Merge pull request #8793 from unknownbrackets/psmf
...
Correct some scePsmf info retrieval funcs and error handling
2016-05-31 21:04:50 +02:00
Unknown W. Brackets
f4a06cd79a
Remove an impossible assert condition.
2016-05-31 11:56:23 -07:00
Unknown W. Brackets
6ee770bd80
Add some missing overrides to declarations.
2016-05-31 11:55:45 -07:00
Unknown W. Brackets
f084084ff7
Clean up accidental debug code.
2016-05-31 11:53:17 -07:00
Unknown W. Brackets
25136eb019
Remove an unused function.
2016-05-31 11:40:39 -07:00
Unknown W. Brackets
419b960403
x86jit: Fix params in Replace_fabsf.
2016-05-31 10:40:14 -07: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
NCDyson
cc829f31b8
Attempt to fix segfault on VirtualDiscFileSystem::GetFileInfo for files where handler is specified
2016-05-31 06:23:53 -05:00
Unknown W. Brackets
5840338397
Create parent directories when saving new textures.
2016-05-31 00:13:53 -07:00
Unknown W. Brackets
bfda12fa23
Allow more options in texture [hashes] syntax.
...
This allows you to ignore the address or address and clut hash.
2016-05-31 00:13:52 -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
0592f56df5
Oops, this modifies the input string it seems.
...
Not sure if ISOs are actually case insensitive, though?
2016-05-30 00:38:20 -07:00
Henrik Rydgård
45f7afcfa1
Merge pull request #8788 from unknownbrackets/virtfs
...
VirtFS: Normalize leading slashes in index.
2016-05-30 08:51:38 +02:00
Henrik Rydgård
5b9eecf673
Merge pull request #8787 from unknownbrackets/thread-delay
...
Thread: Use a short delay for 0us delays after all
2016-05-30 08:50:57 +02:00
Unknown W. Brackets
9f668a1d31
VirtFS: Normalize leading slashes in index.
...
Otherwise, we might consider "/x" and "x" to be different files, and fail
to use the handler properly.
2016-05-29 22:13:33 -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
a450a79f52
jit-ir: Optimize loads to transfers if possible.
...
These (especially float <-> gpr) happen in all games, but gpr->gpr is
especially common in some minis. Good to reduce bloat.
2016-05-29 18:34:41 -07:00
Henrik Rydgård
a835c4aa8f
Merge pull request #8784 from unknownbrackets/vfpu-minor
...
Special case specific sin/cos result values
2016-05-29 17:57:09 +02:00
Unknown W. Brackets
5b7bd8155d
Special case specific sin/cos result values.
...
Fixes #7737 , thanks go to gid15 from Jpcsp for finding and daniel229 for
reporting.
2016-05-29 08:51:38 -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
Henrik Rydgard
0d6ad3df2f
Fix wrong type of parameter to UpdateRunLoop. Do not understand how this compiled.
2016-05-28 16:11:02 +02:00
Henrik Rydgård
3147f1ac95
Merge pull request #8775 from unknownbrackets/http
...
Clean up HTTP server implementation
2016-05-28 12:34:55 +02: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
27d135d48a
Decouple save states from UI.
...
It's the UI's job to decide how and what things are displayed, not Core's.
This also reduces reasons for linkage issues.
2016-05-27 21:25:05 -07:00
Unknown W. Brackets
e6cf296d1a
Trigger save slot display from UI code.
...
Core shouldn't be calling UI code.
2016-05-27 20:53:20 -07:00
Unknown W. Brackets
afdd01571c
Uncouple savestates from NativeApp some.
...
Still have osm.
2016-05-27 20:41:37 -07:00
Unknown W. Brackets
95d912c378
Get rid of the input_state global linkage.
2016-05-27 20:24:01 -07:00
Unknown W. Brackets
9e9bc91405
Fix a crash when opening a file without extension.
2016-05-26 18:16:41 -07:00
Unknown W. Brackets
8dd7527dc8
Clamp reads at the beginning too.
...
Safer, avoids an index overrun in disk cache.
2016-05-26 00:07:46 -07:00
Unknown W. Brackets
1c357f7f7b
Fix reads from cache outside the file.
...
Homebrew seems to all trigger us to read after the end of file, which was
looping infinitely. Fixes #8773 .
2016-05-25 18:42:21 -07:00
Unknown W. Brackets
4113fd940c
Add ugly invalidation workaround for SGS7s.
...
Otherwise they just crash, and crash often. Special thanks to Jaaan for
numerous trials to try to find the best way to solve the crashes.
2016-05-23 21:35:28 -07:00
Henrik Rydgård
540181c32d
Merge pull request #8759 from unknownbrackets/qt-size
...
Improve display of Qt at 1x size
2016-05-22 10:56:00 +02:00
Henrik Rydgård
faa6b16319
Merge pull request #8763 from unknownbrackets/jit-minor
...
x86jit: Fix vmmul of matrix with itself
2016-05-22 10:55:39 +02:00
Unknown W. Brackets
12f8df395b
Return correct bytes near end in RAM caching.
...
Reading beyond the end of file should not return data. Also check what
the backend actually returned, in case it wasn't able to return data
either.
2016-05-22 01:35:16 -07:00
Unknown W. Brackets
546c0a5d9b
Fix buffer overflow in RAM caching feature.
...
Would mainly affect files not even block sizes, such as CSO files, but
might affect all files. Oops. Fixes #8764 .
2016-05-22 01:34:31 -07:00
Unknown W. Brackets
e65e794f28
x86jit: Fix vmmul of matrix with itself.
...
Was not SIMDing correctly. Probably rare in practice.
2016-05-21 23:02:29 -07:00
Unknown W. Brackets
6159bc003b
Allow Qt platforms to use smallWindow dpi logic.
...
It doesn't look like there's any reason to limit this to Windows.
2016-05-21 09:58:23 -07:00
Henrik Rydgård
bb7dd908ba
Merge pull request #8760 from unknownbrackets/warnings
...
Warning fixes + more ccache
2016-05-21 18:35:29 +02:00
Unknown W. Brackets
a913e0f0fc
Remove some unused private properties.
2016-05-21 09:29:04 -07:00
Unknown W. Brackets
b09c2b1f75
Add some missing override definitions.
2016-05-21 09:29:03 -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
eee98966f4
Add Memory utility to detect shutdown.
2016-05-19 21:17:17 -07:00
Henrik Rydgård
306f7423e7
Merge pull request #8755 from unknownbrackets/cpu-div
...
Handle divide by zero more accurately in jit
2016-05-19 09:30:25 +02:00
Unknown W. Brackets
2d3df5c621
armjit: Handle divide by zero more accurately.
...
Turns out, some games may depend on this behavior.
2016-05-19 00:07:41 -07:00
Unknown W. Brackets
5105e1947f
x86jit: Set HI/LO properly on divide by zero.
2016-05-19 00:06:53 -07:00
Henrik Rydgård
3554024a05
Merge pull request #8750 from unknownbrackets/display-minor
...
Add vblank wait to sceDisplaySetMode, fix default brightness value
2016-05-19 08:49:19 +02:00
Henrik Rydgard
3cae60b320
Revert potentially dangerous optimization that may have caused #8754 , though not sure how.
2016-05-18 21:22:08 +02:00
Unknown W. Brackets
ee31f09b67
Buildfix.
2016-05-18 07:12:21 -07:00
Unknown W. Brackets
5534fba72c
jit-ir: Add load/store reorder and merge passes.
...
Can do more in merge, potentially. Maybe it's not useful...
2016-05-17 21:24:13 -07:00
Unknown W. Brackets
a9cdf7651e
jit-ir: Mark prefixes unknown in mtv.
2016-05-17 21:22:57 -07:00
Unknown W. Brackets
b1c7f3dd3f
jit-ir: Correct vx2i with partial overlap.
2016-05-17 21:22:23 -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
Henrik Rydgård
b5b94f4a4d
Merge pull request #8747 from unknownbrackets/display-minor
...
Display: Return 1 during the vsync period
2016-05-16 09:19:47 +02: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
Henrik Rydgård
558d4297fc
Merge pull request #8743 from unknownbrackets/display-minor
...
Add validation to sceDisplaySetFramebuf
2016-05-16 08:04:37 +02: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
fff898b526
Log the block when "uneaten prefix" happens
2016-05-16 00:05:03 +02:00
Henrik Rydgard
dc772e6f3a
Add missing cases to simplify pass
2016-05-15 23:39:42 +02:00
Henrik Rydgard
f544364c4a
Fix bug in vus2i (thanks unknown), recognize vectors in IR disasm
2016-05-15 23:35:33 +02:00
Unknown W. Brackets
e960158490
jit-ir: Add notes and report about vrot prefixes.
2016-05-15 14:08:59 -07:00
Unknown W. Brackets
ab1461faca
Add prefix handling to vfpu color conv per tests.
2016-05-15 13:16:03 -07:00
Unknown W. Brackets
3f0fc2d851
jit-ir: Fix FSat0_1 behavior on -0.0f.
2016-05-15 13:10:49 -07:00
Unknown W. Brackets
fa61deae3d
Remove unused value.
2016-05-15 12:43:35 -07:00
Unknown W. Brackets
6bf1390603
Fix timing drift on CoreTiming::ForceCheck().
...
Since -1 -(-1) = 0, we'll never think we moved forward this way.
2016-05-15 12:43:34 -07:00
Henrik Rydgard
d6c2b6e9ae
Most of vi2x
2016-05-15 11:46:01 +02:00
Henrik Rydgard
905af75925
vx2i, vbfy, vsgn
2016-05-15 10:57:43 +02:00
Henrik Rydgard
7046f960e5
IR: Add vrot
2016-05-15 10:36:18 +02:00
Henrik Rydgård
168573e711
Merge pull request #8740 from unknownbrackets/ir-vfpu
...
More VFPU comments, implement vmscl
2016-05-15 10:08:22 +02:00
Unknown W. Brackets
e140d36818
ir-jit: Oops, fix matrix scale + tranpose.
2016-05-15 00:59:17 -07:00
Henrik Rydgård
205419a72e
Merge pull request #8741 from unknownbrackets/ir-alu
...
IR the remaining ALU ops, correct div by zero
2016-05-15 09:43:41 +02:00
Unknown W. Brackets
c606f64f71
jit-ir: Add div/divu instructions.
2016-05-14 19:23:52 -07:00
Unknown W. Brackets
6413b44434
jit-ir: Enable IR for madd(u)/msub(u).
2016-05-14 19:23:51 -07:00
Unknown W. Brackets
a05ae2a0a6
Correct divide by zero HI/LO values a bit.
...
Interpreter is now correct, but it's probably not all that important to
get right in jit.
2016-05-14 19:23:50 -07:00
Unknown W. Brackets
4ac773e8b4
jit-ir: Implement bit reverse instruction.
2016-05-14 18:21:42 -07:00
Unknown W. Brackets
8a3dce3b8b
jit-ir: Comment most of the vfpu ops.
2016-05-14 17:35:04 -07:00
Unknown W. Brackets
e1dbcd724e
jit-ir: Oops, correct vtfm for transposed case.
...
The ones that are aligned are here in this case. Fixes crash in Crisis
Core.
2016-05-14 16:20:39 -07:00
Unknown W. Brackets
01d63a1a9d
jit-ir: Implement vmscl.
2016-05-14 16:20:21 -07:00
Unknown W. Brackets
2e097b8996
Oops, typos.
2016-05-14 14:28:05 -07:00
Unknown W. Brackets
d5d77b41f9
jit-ir: Properly flip vtfm simd cases.
...
Disable the broken one and add clearer comments.
2016-05-14 14:23:18 -07:00
Unknown W. Brackets
7c9f368d63
jit-ir: Add some descriptions of mnemonics.
...
Sometimes I forget what vhdp etc. meant, let's make the VFPU code a bit
more accessible.
2016-05-14 14:21:53 -07:00
Henrik Rydgård
8f430e9631
Merge pull request #8736 from unknownbrackets/ir-clear
...
Clear emuhacks on IR block destroy and save state
2016-05-14 18:51:39 +02:00
Unknown W. Brackets
1f28d802a3
FreeBSD buildfix.
...
We need Common to have the right _M_SSE define. Also, let's not define
SSE4 until we need it, since we might need ifs.
2016-05-14 09:06:56 -07:00
Unknown W. Brackets
e37777648e
jit-ir: Restore emuhacks before saving state.
...
Let's just ask jit to do this, not its block cache directly.
2016-05-14 08:59:44 -07:00
Unknown W. Brackets
b74df87db0
jit-ir: Clear emuhacks on block destroy.
2016-05-14 08:40:53 -07:00
Henrik Rydgard
0541fe36df
Symbian buildfix, fix for fpu test
2016-05-14 15:26:43 +02:00
Henrik Rydgard
b612806ee4
Remove accidentally added file
2016-05-14 14:32:43 +02:00
Henrik Rydgard
64eda6a4ec
IR: Split Syscall into Syscall and ExitToPC, so we can put ApplyRoundingMode in between.
2016-05-14 14:32:22 +02:00
Henrik Rydgard
91bc3c31a5
Warning fixes
2016-05-14 14:01:27 +02:00
Henrik Rydgard
7a7c3b9b9f
More VFPU, vmmul thoughts
2016-05-14 14:00:01 +02:00
Unknown W. Brackets
efc8a8e353
Hack to make Symbian build.
2016-05-13 23:56:17 -07:00
Henrik Rydgard
b7091a8f5d
Simplifications and fixes
2016-05-13 21:02:23 +02:00
Henrik Rydgard
5923013d65
Simple workaround for timing issue with coreState after syscall.
...
Also fixes off by one in ForceCheck.
2016-05-13 20:21:19 +02:00
Henrik Rydgard
5b2504120d
Optimize some common prefixes
2016-05-13 20:15:20 +02:00
Henrik Rydgard
91a6cf5e44
Add a couple more passes (2-op, optimize f<->v fp moves)
2016-05-13 20:14:03 +02:00
Henrik Rydgard
f636b2a315
Minor build and other fixes
2016-05-13 19:31:27 +02:00
Unknown W. Brackets
066b0b7fdf
jit-ir: Optimize out beql; break; sequences.
...
These are often used following divs, and are harmless. Things get a bit
easier if we just never compile them.
2016-05-13 07:59:39 -07:00
Unknown W. Brackets
7b43e0e59d
jit-ir: Add nan/inf compares.
...
Without this, Gods Eater Burst crashes before going in game.
2016-05-12 22:53:21 -07:00
Unknown W. Brackets
9e3572dc63
jit-ir: Improve vidt to handle more cases.
2016-05-12 22:40:26 -07:00
Unknown W. Brackets
f52120353b
jit-ir: Apply prefixes for vector init ops.
...
Without this, Gods Eater Burst is horribly broken.
2016-05-12 22:29:31 -07:00
Unknown W. Brackets
c11c0465de
jir-ir: Correct vftm SIMD regs.
2016-05-12 21:29:58 -07:00
Unknown W. Brackets
1ddb2fbfb9
jit-ir: Fix non-SSE Vec4Scale.
2016-05-12 21:02:56 -07:00
Unknown W. Brackets
57b3dbff7e
jit-ir: Avoid flushing on a few Vec4 ops.
2016-05-12 21:01:46 -07:00
Unknown W. Brackets
a8126ca132
jit-ir: Add some missing CONDITIONAL_DISABLEs.
2016-05-12 20:56:47 -07:00
Unknown W. Brackets
29ed8d2201
jit-ir: ExitToReg doesn't write to registers.
2016-05-12 18:34:27 -07:00
Unknown W. Brackets
9f183c97ba
jit-ir: Prevent reading ahead for each reg write.
2016-05-12 18:30:55 -07:00
Unknown W. Brackets
d06c6c080c
jit-ir: Expand unused regs to regular GPRs.
2016-05-12 18:30:55 -07:00
Unknown W. Brackets
99468c6fc1
jit-ir: Optimize out unused temp regs.
...
This way, if constants have made the temp obsolete (common with ins, for
example), it won't even get set anymore.
2016-05-12 18:30:53 -07:00
Henrik Rydgard
7268abec61
IR: vcmp, vcmov, vhdp
2016-05-12 22:35:31 +02:00
Henrik Rydgard
1851458628
Bugfixes
2016-05-12 20:28:59 +02:00
Henrik Rydgard
c69a8c07dc
Forgot this
2016-05-12 20:20:59 +02:00
Henrik Rydgard
850d0abc91
IR: More VFPU. Support normal fp compares.
2016-05-12 20:16:15 +02:00
Henrik Rydgard
182674cddf
IR: SIMD another matrix orientation. Fix various issues.
2016-05-12 13:10:26 +02:00
Henrik Rydgard
cb251ea93f
Crashfix in savestate (hmmmm...)
2016-05-12 12:18:12 +02:00