Commit graph

3626 commits

Author SHA1 Message Date
Megamouse
1584aba387 sceNpDrmIsAvailable: fix error check
No idea where I saw this check. Probably looked at the wrong function
2021-10-14 22:06:12 +02:00
Malcolm Jestadt
f06c8b22e8 PPU/SPU LLVM: Emulate VPERM2B with a 256 bit wide VPERMB
- Save 1 uop by using 256 wide VPERMB instead of VPERM2B. (Compiles down to a vinserti128 and vpermb)
2021-10-13 17:51:54 +03:00
shockdude
cd73d738e5
Add emulated DJ Hero turntable controller in Settings I/O tab 2021-10-12 23:29:19 +02:00
Eladash
ab50e5483e
GUI Utilities: Implement instruction search, PPU/SPU disasm improvements (#10968)
* GUI Utilities: Implement instruction search in PS3 memory
* String Searcher: Case insensitive search
* PPU DisAsm: Comment constants with ORI
* PPU DisAsm: Add 64-bit constant support
* SPU/PPU DisAsm: Print CELL errors in disasm
* PPU DisAsm: Constant comparison support
2021-10-12 23:12:30 +03:00
RipleyTom
df39bd39b0 Fix rpcn create/login not returning proper error 2021-10-12 17:30:46 +02:00
Megamouse
3832d4fa1c sceNpFriendlist: some improvements 2021-10-12 00:40:27 +02:00
Megamouse
8f328b2624 sceNpCustomMenu: improvements 2021-10-12 00:40:27 +02:00
Megamouse
80ef348600 sceNp: more error checks 2021-10-12 00:40:27 +02:00
Megamouse
e2a9c0a8f3 sceNpInit: fix error check order 2021-10-12 00:40:27 +02:00
Megamouse
780a234467 sceNpDrmIsAvailable: add param checks 2021-10-12 00:40:27 +02:00
RipleyTom
ea9dc9317d rpcn v0.4.0 2021-10-11 22:20:20 +02:00
Eladash
15af1bca69 PPU DisAsm: Fix CMPLI disassembly 2021-10-11 19:34:01 +03:00
Megamouse
eb850681ee cellKb: implement key repeat
- Implements key repeat functionality
- Fixes an issue where games registered keys repeatedly even though we weren't actually setting multiple key presses.
2021-10-07 09:49:53 +02:00
Eladash
71b15c1fa6
Suggest tweaking the setting "Stub PPU Traps" after PPU trap (#10921) 2021-09-30 21:33:55 +03:00
Malcolm Jestadt
86716dc37b SPU LLVM: Optimize branches following byteswaps
- The first element can be extracted via vmovd rather than vpextrd, which saves 1 uop.
2021-09-30 13:22:35 +03:00
Malcolm Jestadt
f9ab077908 SPU LLVM: Use VDBPSADBW in SUMB
- This instruction can be used to sum bytes horrizontally if the second input vector is all zeroes.
2021-09-30 13:22:35 +03:00
Eladash
e7b9513d4a Bugfix after recent PPU patches pr 2021-09-28 12:12:12 +03:00
Eladash
34c36c73ee Debugger/Disasm: Name PPU Syscalls 2021-09-28 12:12:12 +03:00
Megamouse
2821eb7397 Remove some lwmutex log spam
I don't know if there's a reason for the warning message.
So I'll just change it and see how many developers throw insults at me :)
2021-09-26 21:28:17 +03:00
Eladash
65c9cd99cd Patches/PPU: Implement HLE/LLE/With-TOC function call patches
Example patches:
  [ jumpf, 0x12340, "cellGcmSys:cellGcmSetFlip"] // Places a call to cellGcmSetFlip at 0x12340
  [ jumpf, 0x12340, "cellGcmSys:0xDC09357E"] // Same, using FNID
  [ jumpf, 0x12340, 0x2345678 ] # Function OPD based call eading OPD at 0x2345678
2021-09-26 20:49:57 +03:00
Megamouse
8f1dc7a2d4 Fix VFS regression
Implements cfg_mode
2021-09-25 19:21:59 +03:00
Megamouse
4323ca4a01 Remove unused lambda 2021-09-25 19:21:59 +03:00
Eladash
d0e31f4ec3 sys_fs: Add write log messages for SDATA/EDATA 2021-09-22 14:57:16 +03:00
Eladash
3e06446297 sys_fs: Fix sys_fs_read/write when nbytes is 0 2021-09-22 14:57:16 +03:00
Eladash
5ae7dbf77c Fix cellFsSdataOpenByFd flags 2021-09-22 14:57:16 +03:00
Megamouse
a7cb513a89 cellOsk: partially implement continuous mode 2021-09-21 23:22:26 +02:00
Megamouse
e3ec71c683 cellOsk: partially implement cellOskDialogExtUpdateInputText 2021-09-21 23:22:26 +02:00
Megamouse
f7870d4968 cellOsk: do not notify INPUT_ENTERED on each input
Apparently the event is only sent when a user confirms the dialog during any continuous mode with seperate windows.
2021-09-21 23:22:26 +02:00
Megamouse
80ef0ce9b5 cellOsk: reset options after unload 2021-09-21 23:22:26 +02:00
Megamouse
696a3c4a42 cellOsk: stub some settings 2021-09-21 23:22:26 +02:00
Megamouse
81a01134bb cellOsk: fix dialog abort w/o user interaction 2021-09-21 23:22:26 +02:00
Megamouse
70c291753c cellOsk: dont send INPUT_ENTERED unless continuous 2021-09-21 23:22:26 +02:00
Eladash
17a074e1ac
Fix memory leak in cellOskDialog (#10895) 2021-09-21 11:29:32 +03:00
Eladash
38d5f688b3 cellAudio fix 2021-09-20 07:59:34 +02:00
AniLeo
c995505023 edat: Check for the correct directory 2021-09-18 18:20:55 +01:00
Eladash
e10c6cbaf7 SPU: cpu_work() fixup, fix recursion in AV handler 2021-09-18 19:43:55 +03:00
Eladash
5870da0b55 SPU MFC: Add shuffling in steps setting 2021-09-18 19:43:55 +03:00
Eladash
1f3b1e1c99 Implement Emulator::GetFakeCat()
I still have nightmares about that cat.
2021-09-17 22:15:48 +02:00
Eladash
ddec5d6908 CPUThread: Prevent recursive check_state calls 2021-09-17 14:02:22 +03:00
Eladash
975aae1d13 SPU MFC: Implement MFC commands execution shuffling 2021-09-17 11:38:10 +03:00
Nekotekina
9e62ca562b SPU LLVM: implement SQRT and DIV pattern detection (xf) 2021-09-17 10:23:43 +03:00
Nekotekina
d28b0ba2fa SPU LLVM: implement spu_re, spu_rsqrte
Improve matching with peek_through_bitcasts() helper.
Implement erase_stores() helper.
2021-09-17 10:23:43 +03:00
Nekotekina
aba332d4c4 SPU LLVM: make intrinsics for most xfloat instructions 2021-09-17 10:23:43 +03:00
Nekotekina
543fb7a9cb LLVM DSL / SPU LLVM: implement infinite precision shifts
Remove old make_*** helpers in favor of matcheable expressions.
2021-09-17 10:23:43 +03:00
Nekotekina
67b3fc70f8 LLVM DSL: implement absd and match helpers
Matcheable expression absd(a, b) (absolute difference).
2021-09-17 10:23:43 +03:00
Nekotekina
4b8ee85995 LLVM DSL: reimplement pshufb, add 'calli'
Implement postponed custom intrinsic replacement.
Make bitcast operator static like other ones.
2021-09-17 10:23:43 +03:00
Nekotekina
86ead1b93b SPU LLVM: implement FI instruction
Use approximate reciprocal in FRSQEST.
2021-09-17 10:23:43 +03:00
Nekotekina
1685769bd9 LLVM DSL: reimplement fmuladd, force hw fma if present 2021-09-17 10:23:43 +03:00
Nekotekina
2acb6ed60d SPU LLVM: optimize SHUFB for permutation-only shuffles
Drop constant generation when unused.
2021-09-17 10:23:43 +03:00
Nekotekina
144244e902 SPU LLVM: implement missing constant mask handling in SHUFB 2021-09-17 10:23:43 +03:00