Commit graph

1599 commits

Author SHA1 Message Date
Megamouse 9279736fe6 cellOskDialog: fix cellOskDialogAbort error format 2022-04-10 08:38:36 +02:00
Megamouse d84a0c6503 cellGameGetBootGameInfo 2022-04-10 08:38:36 +02:00
Megamouse 544cec0434 revert cellSysutilAvc2Load
I think I mistook the subfunc for the main func
2022-04-08 20:07:58 +02:00
Megamouse bcc097718f cellSysutilAvc2 fixes 2022-04-08 20:07:58 +02:00
Megamouse 0dc176b4f1 cellSysutilAvc2EstimateMemoryContainerSize 2022-04-08 20:07:58 +02:00
Megamouse 47401cba1f cellSysutilAvc2: more improvements 2022-04-08 20:07:58 +02:00
Megamouse 8a2826f3a9 cellSysutilAvc2SetWindowString: add strlen check 2022-04-08 20:07:58 +02:00
Megamouse 81f8ece236 cellSysutilAvc2InitParam: remove overzealous code.
The function is intended as a constructor, so it doesn't make sense to check struct members
2022-04-08 20:07:58 +02:00
Megamouse 3c2cf79675 cellSysutilAvc2: more stubs and errors 2022-04-08 20:07:58 +02:00
Megamouse a841ba4084 cellSysutilAvc2: more constants 2022-04-08 20:07:58 +02:00
Megamouse 3024026d9e cellSysutilAvc2: format some enums
Makes them more readable
2022-04-08 20:07:58 +02:00
Megamouse ee98f577e2 sceNpTrophyGetTrophyIcon: SCE_NP_TROPHY_ERROR_HIDDEN
And prevent some possible segfaults
2022-03-31 23:02:35 +02:00
RipleyTom a4d715e25d Warning Fixes 2022-03-23 19:35:10 +01:00
Megamouse ff34a73fbd cellSaveData: CELL_SAVEDATA_FOCUSPOS_NEWDATA
Untested, but focus position is clamped anyway.
2022-03-18 08:09:50 +01:00
Megamouse 686d2759f4 cellMic: remove cellMicRead error spam 2022-03-12 20:48:36 +01:00
Megamouse cd97d74f0f cellMusic/Decode: add SelectContents functions 2022-03-08 09:02:59 +01:00
Megamouse aafd74f9ea cellMusicDecode: initial implementation
Implements the basic functionality of cellMusicDecode.
Works with Space Invaders (if you add the list selection from the other PR).
Probably fixes SSX custom music.
2022-03-05 18:34:27 +01:00
Megamouse 15e74357cf cellMusic: implement qt music handler 2022-03-03 08:25:46 +01:00
Megamouse b1a9e87ecf cellSearch: fix cellSearchStartListSearch
Fixes listing BGM in Gundam.
The returned content was always empty.
Playback of the tracks will still require a MusicSelectionContext and cellMusic playback, which isn't implemented yet.
2022-02-20 21:06:46 +01:00
Megamouse 2147fe479c cellSearch: more logging 2022-02-20 12:29:37 +01:00
Megamouse 91d7f28c67 cellSearch: log audio and video metadata 2022-02-19 14:27:47 +01:00
Megamouse 8171c7766c cellSearch: silence irrelevant log error 2022-02-19 14:27:47 +01:00
Megamouse 3f69ceac40 cellMusic: fix cellMusicSetVolume log messages 2022-02-19 14:27:47 +01:00
RipleyTom 6bd8a93ff4 Fixes some unchecked derefs in sceNp logging 2022-02-16 17:08:58 +01:00
Eladash fd6c33980b
cellSaveData: Check filename format of savedata files (#11502) 2022-02-14 22:03:40 +03:00
Megamouse d172b9add6 Rename CallAfter to CallFromMainThread 2022-02-07 19:42:08 +01:00
Eladash e951c619c5
Implement Emulator::GracefulShutdown() 2022-02-05 11:49:29 +01:00
Vestral 107107107c SoundTouch resampler integration 2022-01-31 21:20:57 +01:00
Nekotekina 065ee621b8 Call avcodec_register_all in case of old ffmpeg
Apparently it's still possible to break without it.
2022-01-24 22:39:01 +03:00
Jan Beich f2ed50e6b0 cellVdec: constify AVInputFormat for ffmpeg >= 5.0
rpcs3/Emu/Cell/Modules/cellAdec.cpp:326:19: error: assigning to 'AVInputFormat *' from 'const AVInputFormat *' discards qualifiers
                        input_format = av_find_input_format("oma");
                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~
rpcs3/Emu/Cell/Modules/cellAdec.cpp:332:19: error: assigning to 'AVInputFormat *' from 'const AVInputFormat *' discards qualifiers
                        input_format = av_find_input_format("mp3");
                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~
2022-01-21 21:36:17 +03:00
Jan Beich 511ca82e30 cellAVdec: constify AVCodec for ffmpeg >= 5.0
rpcs3/Emu/Cell/Modules/cellAdec.cpp:325:12: error: assigning to 'AVCodec *' from 'const AVCodec *' discards qualifiers
                        codec = avcodec_find_decoder(AV_CODEC_ID_ATRAC3P);
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rpcs3/Emu/Cell/Modules/cellAdec.cpp:331:12: error: assigning to 'AVCodec *' from 'const AVCodec *' discards qualifiers
                        codec = avcodec_find_decoder(AV_CODEC_ID_MP3);
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rpcs3/Emu/Cell/Modules/cellVdec.cpp:143:12: error: assigning to 'AVCodec *' from 'const AVCodec *' discards qualifiers
                        codec = avcodec_find_decoder(AV_CODEC_ID_MPEG2VIDEO);
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rpcs3/Emu/Cell/Modules/cellVdec.cpp:148:12: error: assigning to 'AVCodec *' from 'const AVCodec *' discards qualifiers
                        codec = avcodec_find_decoder(AV_CODEC_ID_H264);
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rpcs3/Emu/Cell/Modules/cellVdec.cpp:153:12: error: assigning to 'AVCodec *' from 'const AVCodec *' discards qualifiers
                        codec = avcodec_find_decoder(AV_CODEC_ID_MPEG4);
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2022-01-21 21:36:17 +03:00
Nekotekina 580bd2b25e Initial Linux Aarch64 support
* Update asmjit dependency (aarch64 branch)
* Disable USE_DISCORD_RPC by default
* Dump some JIT objects in rpcs3 cache dir
* Add SIGILL handler for all platforms
* Fix resetting zeroing denormals in thread pool
* Refactor most v128:: utils into global gv_** functions
* Refactor PPU interpreter (incomplete), remove "precise"
* - Instruction specializations with multiple accuracy flags
* - Adjust calling convention for speed
* - Removed precise/fast setting, replaced with static
* - Started refactoring interpreters for building at runtime JIT
*   (I got tired of poor compiler optimizations)
* - Expose some accuracy settings (SAT, NJ, VNAN, FPCC)
* - Add exec_bytes PPU thread variable (akin to cycle count)
* PPU LLVM: fix VCTUXS+VCTSXS instruction NaN results
* SPU interpreter: remove "precise" for now (extremely non-portable)
* - As with PPU, settings changed to static/dynamic for interpreters.
* - Precise options will be implemented later
* Fix termination after fatal error dialog
2022-01-15 06:48:04 +03:00
kd-11 d874ca5d8c cellGame: Fall back to VERSION field if APP_VER is missing from PARAM.SFO 2022-01-10 12:27:30 +03:00
Vestral 9766d87126 cellAudio: fix enqueued samples computation 2022-01-07 09:48:51 +01:00
Florin9doi 0e07d3c58f USB: Improve SingStar emulation 2022-01-04 18:03:23 +01:00
Megamouse 1c014299eb HLE: fix some types 2022-01-02 18:18:31 +03:00
Megamouse cc21d1b3cf cellSaveData: prevent some potential crashes due to corrupt files 2021-12-14 20:30:47 +01:00
Megamouse 68466f05b6 cellAudio: move some stuff to cpp 2021-12-09 01:46:44 +01:00
Megamouse e6b4655142 cellAudio: use members instead of config values 2021-12-09 01:46:44 +01:00
Megamouse a4ad0a9468 cellVideoOutConfigure: treat unknown aspect as AUTO 2021-12-06 20:50:57 +01:00
Megamouse 88d0b7d135 cellAvconfExt: add some trivial param checks 2021-12-01 21:55:53 +01:00
Megamouse aea1ec2594 avconf: Add const to fxo references 2021-12-01 21:55:53 +01:00
Megamouse c8d4a0dcdc VK/GL: honor game's aspect ratio when scaling 2021-12-01 21:55:53 +01:00
Vestral e5005597fe CellAudio fixes 2021-11-29 20:43:00 +01:00
Vestrel 37a722cc1d
Audio backend improvements
Callback based audio update.
Upgraded common backend interface.
Added Cubeb backend.
Support multiple audio providers.
Dropped pulse, alsa, openal backends.
2021-11-24 19:41:05 +01:00
clienthax 4c0ef37a5c Stub uvc camera init 2021-11-23 23:41:13 +01:00
Megamouse 22e3075c64 cellSaveData: always log setList and setBuf
For debugging
2021-11-20 08:43:46 +01:00
Megamouse 09ead539a5 improvise CELL_SAVEDATA_ERRDIALOG_NOREPEAT 2021-11-20 08:43:46 +01:00
RipleyTom 22910c02a9
Implement sceNpManagerGetPsHandle (#11164) 2021-11-17 18:02:01 +00:00
Megamouse 026efd96b2 cellKbCnvRawCode: use proper constants
and comment out unreachable code
2021-11-16 09:31:16 +01:00
Megamouse f6af5ff13a cellRtcGetDaysInMonth: fix param check 2021-11-16 09:31:16 +01:00
Megamouse 26475f8f40 cellGem: add comment about hack 2021-11-16 01:38:33 +01:00
Megamouse 7dc3a50ddf Fix headless mode 2021-11-14 17:07:18 +01:00
RipleyTom 50bf528f3f NP: add signaling_handler wakeup on connect queue 2021-11-10 12:43:45 +01:00
RipleyTom dc0793b731 NP: Implement sceNpMatching2DeleteServerContext 2021-11-08 13:10:40 +03:00
RipleyTom c194804fec NP: Implement sceNpBasicGetFriendListEntry 2021-11-08 13:10:40 +03:00
RipleyTom d41e405420 NP: Cache Manager + improvements 2021-11-08 13:10:40 +03:00
RipleyTom 516cb959cb rpcn: new allocator + refactoring of np_handler 2021-11-08 13:10:40 +03:00
Nick Renieris b70f08d850 The Velocity Improvements: RoomData/RoomMemberData commands & fixes
modules/np2: Correct some SceNpMaching2 ptr type endianness
np/handler: Use STL .contains() method
Ignore USECRYPTO & USESIGNATURE in recvfrom/sendto
Implement RoomData/RoomMemberData commands
2021-11-08 13:10:40 +03:00
Megamouse af3ef02ca0 fix npDrmIsAvailable 2021-11-04 21:41:07 +01:00
Eladash c49ebba648 Fixes of PS3 filesystem EDAT/SDAT handling
* Return EFSSPEIFIC if encountered corrupted EDAT or an unmatched key in sys_fs_open and sys_fs_read.
* Fix validate_dev_klic() for license-free EDAT.
* Fix EDATADecrypter::ReadData() for when size + pos > file_size but pos < file_size.
* Try to save up to 16 decryption keys. Educated guess based on NPDRM file descriptors count llimit.
* Return LICENCE_NOT_FOUND if needed RAP file is not found in sceNpDrmIsAvailable.
* Check additional sys_fs_open errors for sceNpDrmOpen. (EISDIR, ENOTMOUNTED)
2021-11-04 21:32:15 +03:00
capriots ac300c7356 Correct channel order
Documentation says the order is Front L, Front R, Center, LFE, Surround L, Surround R, Rear L, Rear R
2021-10-27 10:24:02 +03:00
Megamouse 2af2db2cbf Lower some log spam
These functions probably aren't perfect, but they spam a lot of unnecessary log messages.
2021-10-27 00:25:27 +02:00
Megamouse be972f04ac cellGem: hook up camera 2021-10-24 15:01:43 +02:00
Megamouse e67cf68321 cellCamera: fix compilation on linux 2021-10-24 11:32:35 +02:00
Megamouse 77f6db2543 cellCamera: fix some typos (fixes camera attachment in Kung Fu Live) 2021-10-24 11:32:35 +02:00
Megamouse 67ba381dfe cellCamera: fix qt camera handler format 2021-10-24 11:32:35 +02:00
Megamouse 9a6285942b cellCamera: fix buffer allocation 2021-10-24 11:32:35 +02:00
Megamouse 214c1ccc7e cellCamera: move camera handler interaction to seperate functions 2021-10-24 11:32:35 +02:00
Megamouse 263b7854c1 cellCamera: sprinkle some mutexes and handle disconnected cameras during open phase 2021-10-24 11:32:35 +02:00
Megamouse 843aed228e cellCamera: fix camera interaction 2021-10-24 11:32:35 +02:00
Megamouse bf71b1fcf7 cellCamera: fix buffer size for YUV 2021-10-24 11:32:35 +02:00
Megamouse 81c216f330 cellCamera: add error handling to qt camera 2021-10-24 11:32:35 +02:00
Megamouse e4b242955c cellCamera: implement CELL_CAMERA_READ_DIRECT 2021-10-24 11:32:35 +02:00
Megamouse 3fac832567 cellCamera: fix qt camera width and height for non-default resolutions 2021-10-24 11:32:35 +02:00
Megamouse 08011e9b78 cellCamera: Add qt camera handler 2021-10-24 11:32:35 +02:00
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
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
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 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 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 1f3b1e1c99 Implement Emulator::GetFakeCat()
I still have nightmares about that cat.
2021-09-17 22:15:48 +02:00
NicknineTheEagle 4fcc1c0f31 Fully implement sceNpDrmVerifyUpgradeLicense 2021-09-16 23:54:53 +02:00
Megamouse 1a2fad4eac
cellSearch: more stubs and implementations (#10578) 2021-09-16 22:05:29 +01:00
Eladash 677d5f09ce Add debugging info for when sys_tty_write is executed 2021-09-12 19:05:26 +03:00
Megamouse 0525070898 remove deprecated avcodec_register_all
We already use newer avcodec code anyway.
2021-09-06 10:00:34 +02:00
Eladash ea2c5294df cellCamera: Anti-Log spam enhancement 2021-09-04 11:58:59 +02:00
Megamouse 72f0637efe Windows/Audio: add listener for device change
For some reason XAudio2 doesn't automatically change the device anymore.
So let's just listen for the OnDefaultDeviceChanged event and update the cell audio thread if necessary.
2021-08-25 22:44:16 +02:00
Megamouse ac986c7c61 fix some warnings 2021-08-15 21:02:38 +02:00
Megamouse 53bfc6fa59 cellGem: fix floating point warning 2021-08-13 20:45:18 +02:00
Megamouse f0d51899c1 input: fix minor data race
While usually not exposed to the user, there was a slight chance that user input was read in a dirty state.
This became apparent during usage of the new pressure sensitivity button
2021-08-09 11:29:46 +02:00
Megamouse a146aabcaf cellGem: Disable Alignment Checks 2021-08-05 13:10:08 +02:00
Megamouse 3ccfb86e1b cellGem: use existing constant for sphere radius 2021-08-05 02:26:20 +02:00
Megamouse 9c21f43df6 cellGem: fix Deadstorm Pirates regression 2021-08-05 02:02:34 +02:00
Megamouse 87c07679e1 cellGem: add calibration logic with 0.5 second delay 2021-08-05 02:02:34 +02:00
Megamouse 6de4c27b32 cellGem: fix controller connection check 2021-08-05 02:02:34 +02:00
Megamouse 995e9b5f9f cellGem: reset struct on controller reset 2021-08-05 02:02:34 +02:00
Megamouse e03f323fdd cellGem: add some more checks 2021-08-05 02:02:34 +02:00
Megamouse f2bca2ef67 cellGem: set cellGemGetCameraState values 2021-08-05 02:02:34 +02:00
Megamouse 0b88d5f077 cellGem: implement cellGemHSVtoRGB 2021-08-05 02:02:34 +02:00
Eladash 9d71369b2c Fixup HLE lwmutex 2021-08-04 21:39:57 +03:00
Megamouse 2dd0f488a1 cellGem: cellGemPrepareVideoConvert update 2021-08-04 20:28:34 +02:00
Megamouse dd7f24b20e cellGem: fix mouse positions 2021-08-04 20:28:34 +02:00
Megamouse ccb7531289 cellGem: update cellGemGetState 2021-08-04 20:28:34 +02:00
Megamouse 4d0179174a cellGem: add more mouse buttons 2021-08-04 20:28:34 +02:00
Megamouse 3ddcf60a11 cellGem: add some more error checks 2021-08-04 20:28:34 +02:00
Megamouse 3b581aaf94 cellGem: disable tracking in cellGemForceRGB 2021-08-04 20:28:34 +02:00
Megamouse 0c68a6afdd cellGem: improve hue handling 2021-08-04 20:28:34 +02:00
Megamouse fd29382290 cellGem: fix fake move calibration status flag
Apparently OCCURRED means that there are flags to be checked, while SUCCEEDED means that everything went smoothly.
2021-08-04 20:28:34 +02:00
Megamouse 1d3f91a1b8 cellGem: add ext_id and SHARP_SHOOTER_DEVICE_ID 2021-08-04 20:28:34 +02:00
Megamouse 999252a806 cellGem: fix typos, add some comments and reorder 2021-08-04 20:28:34 +02:00
Eladash a0c1b250b6 Fix HLE LWMutex setting - Implement dynamic initialization of HLE functions 2021-07-31 21:47:22 +03:00
Megamouse 50354253c8 replace some random Emu.Pause with fatal errors 2021-07-20 19:47:00 +02:00
Eladash a5c3c7d2e5
cellSaveData/UNIX: Optimize IO (#10574) 2021-07-18 21:08:04 +02:00
clienthax d099148961 sys_hid vsh 2021-07-18 14:20:33 +02:00
Eladash 6f6503ee32 cellSaveData: Fixup funcDone result check 2021-07-17 23:30:26 +02:00
clienthax 9c5c4457b6 Stub libfs_utility_init to bypass FSCK checks by vsh. 2021-07-17 18:56:07 +02:00
Eladash 1e9afdc289 Formatting Library: Implement byte arrays formatting 2021-07-17 18:10:43 +02:00
RipleyTom a34201ebff
Fix deref in sceNpMatching2CreateContext (#10539) 2021-07-14 00:11:14 +01:00
Megamouse e75de44907 cellGame: treat media apps as CELL_GAME_GAMETYPE_HDD
This is kinda hacky but it fixes some errors in PlayTv
2021-07-08 22:06:48 +02:00
Megamouse 161fa95066 cellGame: improve logging 2021-07-08 22:06:48 +02:00
Megamouse e212f16962 sceNp: fix invalid ctx dereference
Fixes "Buzz! Quiz Player" Offline Gameplay
2021-07-01 23:09:23 +02:00
Megamouse b6128c5dfa cellSearch: extend media_info for video files 2021-06-25 09:41:32 +03:00
Megamouse 68a1da31a0 cellSearch: move audio info to separate util file 2021-06-25 09:41:32 +03:00
Megamouse 7e0f2f9b12 sceNp: add some more constants 2021-06-25 09:41:32 +03:00
Nekotekina 3c614d95b8 fs: alternative fs::pending_file implementation (Win32)
Use MOVEFILE_WRITE_THROUGH instead of sync() on commit().
2021-06-20 22:08:24 +03:00
Eladash aaa20c0ff0
cellCamera/cellGem: Fix time stretching setting (#10476) 2021-06-20 21:25:13 +03:00
Eladash 039ca6e839 Fix cellMouse/Keyboard initialization 2021-06-17 20:43:43 +02:00
Ani a49446c9e9
Replace gsl::span for std::span (c++20) (#7531)
* Replace gsl::span for std::span (c++20)
* Replace gsl::byte with std::byte

Co-authored-by: Bevan Weiss <bevan.weiss@gmail.com>
2021-05-30 17:10:46 +03:00
Megamouse a2da525064 cellVdec: silence "Unsupported time_base" error log spam 2021-05-29 12:46:21 +02:00
Eladash 7d89938624 cellPad: do not use recusrive mutex 2021-05-28 20:25:16 +03:00
Nekotekina 2491aad6f2 types.hpp: implement min_v<>, max_v<>, SignedInt, UnsignedInt, FPInt concepts
Restrict smax to only work with signed values for consistency.
Cleanup <climits> includes.
Cleanup <limits> includes.
2021-05-23 19:43:51 +03:00
Nekotekina 160b131de3 types.hpp: implement smin, smax, amin, amax
Rewritten the following global utility constants:
`umax` returns max number, restricted to unsigned.
`smax` returns max signed number, restricted to integrals.
`smin` returns min signed number, restricted to signed.
`amin` returns smin or zero, less restricted.
`amax` returns smax or umax, less restricted.

Fix operators == and <=> for synthesized rel-ops.
2021-05-22 12:10:57 +03:00
Eladash 48870f3e8b TROPUSR: Loader Improvements
* Replace invalid TROPUSR.DAT with empty new ones. (+report an error)
* Fix return code of Load whenever TROPUSR.DAT hadn't existed before.
* Add header magic test.
* sceNpTrophyRegisterContext will abort if TROPUSR.DAT generation failed.
2021-05-21 16:43:34 +03:00
Nekotekina 1d0f6eebdc Improve error_code (new formatting constructor)
Minor cleanup in formatting utilities.
2021-05-19 22:41:16 +03:00
Eladash 57cd4ff3c6
Move HLE table address to FXO (#10284) 2021-05-17 14:22:27 +03:00
Eladash 8bd58b1ad4 Remove lv2_event_queue::check(weak_ptr) 2021-05-15 00:31:14 +03:00
Eladash a992a5fba9 cellAudio: weak_ptr -> shared_ptr 2021-05-15 00:31:14 +03:00
Eladash 0224c7a9eb SPU TG: Simplify state of saved SPU image data
Save only entry points instead of sys_spu_image structure.
2021-05-01 19:43:00 +03:00
Megamouse 3c37036f7a save-overlays: add entry size info 2021-04-30 00:30:26 +02:00
Megamouse 14b6d6291b save-overlays: add localization 2021-04-30 00:30:26 +02:00
Megamouse 11f57f259c cellSaveData: keep focus after confirmation cancel
It was very annoying to be thrown to beginning of the list after cancelling the confirmation.
2021-04-30 00:30:26 +02:00
Nekotekina 86a8e0716f Test alterable aggregates via overriding be_t
Checking how it might look like without introducing too many changes.
Alteration of its behaviour as a "template template" argument allows:
 - normal access
 - easier aggregate inspection
 - memory access interception
2021-04-25 19:00:16 +03:00
Megamouse 1caf81811a Move unspecific Emulator code out of System.cpp 2021-04-24 11:21:22 +03:00
Megamouse 617d21fa84 sys_prx: more constants 2021-04-23 22:02:52 +02:00
Megamouse 41b68ef353 some more constants 2021-04-23 22:02:52 +02:00
Megamouse 087dccd194 Implement most of cellUserInfo 2021-04-23 05:50:19 +03:00
Megamouse aa0afc9a4e Input: avoid mouse events when unused 2021-04-20 00:06:23 +02:00
Nekotekina ccb46df905 Minor fixups (removed unnecessary code) 2021-04-11 16:36:02 +03:00
Megamouse a16d8ba3ea More random changes 2021-04-11 14:01:51 +03:00
Nekotekina 3107f37864 Fix psf::load error for error::stream 2021-04-10 00:43:08 +03:00
Megamouse 17f5fec538
sceNp: fix rap file regression (#10084) 2021-04-09 21:37:57 +01:00
Megamouse 03b76b4606 Emu: some cleanup 2021-04-09 21:03:49 +02:00
Eladash a8d5a8734a Loader/cellGame: Do not crash on invalid PSF files 2021-04-09 20:58:30 +03:00
Megamouse d10584ac6c DRM: Search all user directories for rap files 2021-04-09 08:47:59 +02:00
Nekotekina 95725bf7fc Add -Werror=missing-noreturn (GCC, clang)
May be useful to diagnose functions which fail assertions unconditionally.
2021-04-08 10:29:47 +03:00
Nekotekina b3fb6d7d18 Add and fix -Wredundant-decls (GCC) 2021-03-23 22:48:57 +03:00
Megamouse 43ac33c2b4 cellSaveDataEnableOverlay 2021-03-18 11:11:34 +03:00
Eladash 1d7fbd6a9a Fix sceNpTrophyGet(Trophy/Game)Icon 2021-03-17 22:31:57 +03:00
Eladash 1213708b72
Replace some log errors (#9980) 2021-03-17 17:19:35 +03:00
Nekotekina 8fcebebae3 Implement lv2_mp_flag::cache
Identify /dev_hdd1 without unsafe path comparison.
2021-03-16 19:37:03 +03:00
Eladash d7b4753007 Make gamedata installation atomic as real PS3 2021-03-16 19:31:52 +03:00
Nekotekina 0327ecc5c1 Enable -Wduplicated-cond (GCC) 2021-03-13 18:46:59 +03:00
Nekotekina c22e1e71f0 Continue fixing strict aliasing warnings 2021-03-13 18:02:37 +03:00
Eladash aff63028d4 SCE Decryption: Detect illegal RAP files 2021-03-13 11:51:40 +01:00
Eladash 923ba6f3bb Fix sysutil_send_system_cmd at Emu.Stop() 2021-03-12 21:01:48 +03:00
xddxd df338f0552 Move sys_crashdump to it's own file and make it a module itself 2021-03-08 22:57:35 +03:00
Nekotekina 87af905018 Enable -Wunused-parameter 2021-03-06 18:07:08 +03:00
GitArUs f8097a428c
Allow games to list all savedata (#9547)
* cellSaveData - allow games to list all savedata, not only those they own.

Co-authored-by: Megamouse <studienricky89@googlemail.com>
2021-03-06 16:01:04 +03:00
Nekotekina 52fe86b56c fixed_typemap.hpp: make it a bit fool-proof
Require objects to be non-copyable (move is still allowed).
2021-03-02 21:58:49 +03:00
Nekotekina ea5e837bd6 fixed_typemap.hpp: return reference 2021-03-02 16:08:14 +03:00
Nekotekina d788b12a8e fixed_typemap.hpp: reduce indirection
Backported some changes from auto_typemap.hpp
Implemented methods init(), reset(), clear()
Disabled recreation support.
2021-03-02 16:08:14 +03:00
Megamouse a7c9827ad4
Improve cellScreenshot (#9851)
* Fix screenshot logging

* Update libpng to 1.6.37

* cellScreenshot: Write text chunks
* cellScreenshot: add overlay image
* screenshot_manager: add /dev_hdd0/photo/

* read_png_file: use deleter instead of manual close

* cellScreenshot: use Qt for overlays
* cellScreenshot: don't apply overlay to regular img
* screenshot_manager: add mount hack for VFS
* cellScreenshot: escape the whole path
2021-02-28 22:05:04 +03:00
Nekotekina f580bee32c Rewrite cellNetCtlNetStartDialogLoadAsync hack 2021-02-28 20:20:17 +03:00
RipleyTom 67378c7dea Add CELL_NET_CTL_INFO_DHCP_HOSTNAME impl 2021-02-26 11:58:42 +03:00
Nekotekina 090a769bf6 Implement fs::sync (Linux/POSIX) 2021-02-23 18:24:50 +03:00
Nekotekina 014846cf31 cellSaveData: fix minor issues 2021-02-23 18:24:50 +03:00
Eladash 112b7f6571 Fix Emulation::CallAfter
Most CallAfter usages were extremely wrong when ordered after Emu.Stop(). could result in anywhere from emulation stopping hangs to even segfaults.
track_emu_state = true is now the default, I haven't found cases which need need it disabled.
2021-02-23 17:55:36 +03:00
Eladash d4af8dd89a Fix atomicity of savedata/trophy data writes 2021-02-23 11:29:23 +03:00
Eladash 932f31e37b Atomic PARAM.SFO writes 2021-02-23 11:29:23 +03:00
Megamouse f0b7afd7cc cellPad: minor optimization 2021-02-22 10:45:40 +01:00
RipleyTom 8be2a55ccc Add mutex lock for NP changes 2021-02-21 18:04:55 +03:00
Eladash eb0d006168
Fix most of "[x] thread is too sleepy" at Emu.Stop() (#9813)
* Fixes some thread sleep/wait calls
2021-02-21 16:43:02 +03:00
Nekotekina 038148bf06 Fix almost all GCC warnings 2021-02-17 22:59:04 +03:00
Nekotekina 8e6e57de86 Enable -Wunused-function warning 2021-02-15 14:39:53 +03:00
Eladash f43260bd58
Atomic waiting refactoring (#9208)
* Use atomic waitables instead instead of global thread wait as often as possible.
* Add ::is_stopped() and and ::is_paued() which can be used in atomic loops and with atomic wait. (constexpr cpu flags test functions)
* Fix notification bug of sys_spu_thread_group_exit/terminate. (old bug, enhanced by #9117)
* Function time statistics at Emu.Stop() restored. (instead of current "X syscall failed with 0x00000000 : 0")
2021-02-13 17:50:07 +03:00
Nekotekina d0126f0fa0 Fix freezes in HLE Vdec and SPU LLVM precompilation.
Freezes could accidentally occur on close or ingame.
Deprecate range-for loop on lf_queue.
This is a part of PR #9208

Co-authored-by: Eladash <elad3356p@gmail.com>
2021-02-01 19:14:01 +03:00
Nekotekina aeeceb7d0b Minor fixups 2021-02-01 11:30:50 +03:00
Megamouse 1078626eea Fix ppu compilation progress dialog
We could only increase the value because we completely based the dialog on cellMsgDialog.
This led to an issue where the dialog would increase its maximum and thus decrease the current percentage.
It then couldn't decrease and was stuck on the old percentage.
2021-01-30 21:34:16 +01:00
Nekotekina ee288340b0 Implement thread_ctrl::scoped_priority
RAII priority control (+1, or -1)
2021-01-25 21:49:16 +03:00
Nekotekina f944573b3c Fix old warnings: remove strncpy
Use strcpy_trunc instead.
Change some sce structs.
2021-01-20 12:26:09 +03:00
Eladash e4c3b1c2bd vm: Remove vm::dealloc_verbose_nothrow 2021-01-15 17:37:52 +03:00
Eladash e1f95ceb54
sceNpTrophy: Fix sceNpTrophyRegisterContext for handler abortion (#9586)
* Implement handler abortion during context registration.
* Fixed recursive calls to sceNpTrophy functions such as by callbacks from registering context.
* Turns out the reader lock for context registeration was incorrect because ctxt->tropusr and trophy directory are being modified. Made it an exclusive lock after callback.
2021-01-12 19:14:51 +03:00
Nekotekina db8e6fe7a7 Enable -Wunused-variable 2021-01-12 14:34:14 +03:00
Megamouse 52deff06ba
Random stuff (#9589)
* minor coding style adjustment

* Qt: simplify osk dialog buttons

* replace std::find_if with convenience functions

* RSX: use sv in swizzle comparison

idk, I'll remove this if it was intentional.

* overlays/osk: rename enter to return

This one confused me and make me look for a bug that caused the "enter" key to be disabled, while it was actually the return key (obviously xD).
2021-01-12 12:59:50 +03:00
Eladash bf6f43ec3a Utils: Rewrite fmt::split 2021-01-08 22:23:48 +03:00
Megamouse 36159c2bd4 Add comment for deprecated avcodec_register_all
Apparently this is now done automatically and doesn't even need to be called at all
2021-01-08 14:36:49 +03:00
Chris f8589de476
Initial playlist-based custom soundtracks support (#9362)
* Initial playlist-based custom soundtracks support

This is the initial implementation of playlist-based (cellSearch) custom soundtracks support.
It is based on the initial work by @Megamouse and currently uses a directory-based approach to manage albums and utilizes FFMPEG to read audio metadata.

Background: The real PS3 can import music in XMB from USB into its internal storage (/dev_hdd0/music) and additionally stores metadata (artist, trackname, tracknumber, ...) in a database (/dev_hdd0/mms/db/metadata_db_hdd). Games can make use of imported music via cellSearch.

For the time being, this implementation does NOT make use of metadata_db_hdd as the db-format is not well understood and a folder-based approch is easier to use. Users only have to create folders inside /dev_hdd0/music and add music to it to create a "playlist". This playlists contents will be sorted alphabetically. As a result, users could prefix numbers to the audio-files to force a specific order.

The only really supported audio format is MP3. I also added support for AAC, AC3, WMA, ATRAC3 and ATRAC3 plus, however, non of these formats were successfully tested for several reasons. AC3 and WMA are not enabled in the current FFMPEG build which makes reading codec-specific data impossible. We could enable these later if we want to. AAC actually could work but I was not able to get it working in WipeOut HD Fury. My guess is that the game does not support AAC. Finally, I could not find any ATRAC3 (or Plus) music to test with.

This implementation currently only implements parts of cellSearchStartListSearch() and cellSearchStartContentSearchInList(). There are several other functions which are still completely unimplemented and will probably be needed by other games. However, this implementation is a starting-point and is enough for WipeOut and maybe a few other games.

A video which showcases this custom soundtrack support is available here: https://www.youtube.com/watch?v=4nu1OCtONTY

Next steps:
 - Utilize sortKey in cellSearchStartContentSearchInList()
 - Eliminate TODOs
 - Implement the missing other functions
 - Test on more games - I do not own many that support custom soundtracks

Signed-off-by: gladiac1337 <gladiac@gmail.com>

Co-authored-by: Megamouse <studienricky89@googlemail.com>
Co-authored-by: Ani <ani-leo@outlook.com>
Co-authored-by: Ivan <nekotekina@gmail.com>
2020-12-31 22:47:09 +03:00
Nekotekina 5227e65808 vm: implement vm::atomic_op, fetch_op helpers
Can help to reduce lambda depth hell a little.
2020-12-30 20:11:02 +03:00
Nekotekina 35322b5d14 Remove deprecated _bit accessor from v128
Complicated (a lot of code), confusing (ambiguous)
2020-12-29 21:04:28 +03:00
Nekotekina 6b96807112 Reimplement utils::popcnt64
Implement utils::popcnt128
2020-12-29 15:28:02 +03:00
Nekotekina a8e0d261b7 types.hpp: more cleanup
Also fix compilation.
2020-12-22 19:08:09 +03:00
Nekotekina b7bf316c1a Don't randomly include "stdafx.h"
It's file for precompiled headers.
Include what is used, don't rely on transitive includes.
2020-12-22 14:32:30 +03:00
Nekotekina 41ee792f95 MSVC: remove MemLeak build support
There are better memleak detection tools.
1) Requires to guard placement new and external libs
2) Doesn't work thoroughly
2020-12-22 14:32:30 +03:00
Nekotekina bd269bccaf types.hpp: remove intrinsic includes
Replace v128 with u128 in some places.
Removed some unused files.
2020-12-21 21:11:25 +03:00
Nekotekina eec11bfba9 Move align helpers to util/asm.hpp
Also add some files:
GLTextureCache.cpp
VKTextureCache.cpp
2020-12-18 18:07:42 +03:00
Nekotekina 05099e2ae1 Replace uint64_t with u64 2020-12-18 12:23:53 +03:00
Nekotekina 77352a2a86 Replace uint32_t with u32 2020-12-18 12:23:53 +03:00
Nekotekina d6042cf891 Replace uint16_t with u16 2020-12-18 12:23:53 +03:00
Nekotekina 534c63bf57 Replace uint8_t with u8 2020-12-18 12:23:53 +03:00
Nekotekina fb29933d3d Add usz alias for std::size_t 2020-12-18 12:23:53 +03:00
Nekotekina 4cfa9b11f3 Move busy_wait() to asm.hpp 2020-12-18 12:23:53 +03:00
Eladash bfe1a8673a PPU: Allow HLE execution from pure instruction decoder type interpreter 2020-12-15 11:18:51 +03:00
Nekotekina e321765c54 Split BEType.h to util/v128.hpp and util/to_endian.hpp 2020-12-13 16:34:45 +03:00
Nekotekina b59f142d4e Move types.h to util/types.hpp 2020-12-12 15:12:01 +03:00
Nekotekina dff4392c10 Move error_code to ErrorCodes.h 2020-12-12 15:12:01 +03:00
Nekotekina b09b7c1184 Remove any_pod<> from types.h
Add simplified any32 to GCM.h
Add simplified cmd64 to PPUThread.h
2020-12-12 13:12:39 +03:00
Nekotekina aa3aef4beb std::chrono cleanup: always use steady_clock 2020-12-11 19:01:56 +03:00
Nekotekina b382d3b3e9 Remove ASSUME macro
It's dangerous and sometimes bluntly misused feature.
Its optimization potential is near-zero.
2020-12-10 14:08:02 +03:00
Nekotekina 36c8654fb8 Remove HERE macro
Some cleanup.
Add location to some functions.
2020-12-10 12:30:22 +03:00
Nekotekina 5d934c8759 Improve narrow() and size32() with src_loc detection 2020-12-09 16:26:20 +03:00
Nekotekina e055d16b2c Replace verify() with ensure() with auto src location.
Expression ensure(x) returns x.
Using comma operator removed.
2020-12-09 15:43:38 +03:00
Eladash 2602be426f
Allow emulation to work without firmware (#9367)
* Allow emulation to work without firmware
* Fix HLE prx path detection.
* Fix manual list loading bugs.
* Fix HLE gcm
* GUI: Fix fonts search
* GUI: Hardcode sprx list
Do not depend on /dev_flash/sys/external/ contents.
2020-12-07 20:10:34 +03:00
Nekotekina 24e4e329ed atomic.hpp: add atomic_t<bool> specialization
May be required in future, plus adds/hides some methods.
2020-12-07 17:13:12 +03:00
Nekotekina eb66302907 atomic.hpp: replace std::atomic with atomic_t
Dual dependency is nothing good.
2020-12-07 17:13:12 +03:00
Nekotekina b16cc618b5 atomic.hpp: add some features and optimizations
Add atomic_t<>::observe() (relaxed load)
Add atomic_fence_XXX() (barrier functions)
Get rid of MFENCE instruction, replace with no-op LOCK OR on stack.
Remove <atomic> dependence from stdafx.h and relevant headers.
2020-12-07 17:13:12 +03:00
RipleyTom af8c661a64 Remove BOM markers 2020-12-06 15:30:12 +03:00
Nekotekina d1e7837422 atomic_t: cleanup type requirements
Add C++17 requirements.
Remove alignment requirements (auto-align type).
What's missing is to detect padding and forbid it.
2020-12-04 19:11:36 +03:00
Nekotekina 8efc22bd45 atomic.hpp: simplify and unify bit test instructions
Also make them available on all platform.
Rename some rare methods.
2020-12-04 14:33:38 +03:00
Nekotekina cad3a6c547 sceNp.cpp: fix some UTF-8 string mismatch 2020-11-30 03:21:34 +03:00
Eladash 992a372fc7 cellGame fixes 2020-11-17 09:04:35 +01:00
Nekotekina ea5f5aea5f vm: memory locking rewritten
Added vm::lock_sudo method (wrapper for utils::memory_lock).
Put locking outside of vm::g_mutex scope.
Prelock sudo memory for RSX, vm::stack, vm::main.
Prelock sudo memory for shared memory objects.
Don't check for TSX path.
2020-11-16 12:46:15 +03:00
RipleyTom e6f2f8ad0d Add some error checking in sceNp2.cpp 2020-11-13 05:28:00 +03:00
RipleyTom a83df01bfd
rpcn 0.3.5 (#9227) 2020-11-10 08:55:49 +00:00
Morgan Creekmore a28ab0a408
Set AccountAge to 18 to fix age restriction checks, fix incorrect logged function name (#9218) 2020-11-07 09:47:44 +00:00
Megamouse a3eb5c2d63 More Header cleanup 2020-11-06 22:14:05 +01:00
Nekotekina 34fa010601 Improve cond_var notifiers
But nobody uses it anyway, so clean up includes.
2020-11-06 00:10:16 +03:00
Nekotekina d022e7cd27 sys_prx: add cpu_flag::wait 2020-11-04 14:59:26 +03:00
Nekotekina 86fc842c89 TSX: new fallback method (time-based)
Basically, using timestamp counter.
Rewritten vm::reservation_op with the same principle.
Rewritten another transaction helper.
Add two new settings for configuring fallbacks.
Two limits are specified in nanoseconds (first and second).
Fix PUTLLC reload logic (prevent reusing garbage).
2020-10-31 15:34:14 +03:00
Nekotekina ba26e16411 Rename vm::reservation_light_op -> light_op
Rename vm::reservation_peek_op -> peek_op
Also remove overkill assertion for cpu_flag::temp.
2020-10-31 15:08:49 +03:00
Megamouse 2cee26c3e7 Cleanup some includes 2020-10-31 11:53:46 +01:00
Megamouse 5d55e509ec
cellSubDisplay: Add some constants (#9178) 2020-10-31 01:40:38 +00:00
Megamouse 4984e87776 implement interception for cellKb and cellMouse
this needs to be tested
2020-10-31 02:11:27 +03:00
Megamouse c65b7d0aea HLE: Add some constants 2020-10-31 02:11:27 +03:00
Megamouse 54fd224fd8 Add License Area Setting 2020-10-31 02:10:30 +03:00
Nekotekina 58adb6a1aa sys_ppu_thread: add cpu_flag::wait 2020-10-30 18:27:15 +03:00
Nekotekina 13c564f2af sys_memory: add cpu_flag::wait 2020-10-30 18:09:30 +03:00
Nekotekina 95aeebe4b5 sys_rsx: add cpu_flag::wait 2020-10-30 18:00:25 +03:00
Nekotekina 605d57c541 sys_event: cleanup (replace vm::temporary_unlock)
Also made minor changes in sys_rsx.cpp.
Removed unused exception std headers.
2020-10-30 17:49:07 +03:00
RipleyTom 6f5bbf550a Revert part of CellHddGameCheck 2020-10-28 20:44:38 +03:00
Nekotekina 13de773486 Remove some vm::reservation_lock instances 2020-10-27 17:56:19 +03:00
Eladash 0fcf767ee9 SPURS: Implement spursJobchainPopUrgentCommand 2020-10-25 16:43:38 +03:00
Eladash 1e7bf218e0 CellSpurs: Minor fixes 2020-10-25 16:43:38 +03:00
Megamouse 27643cb715 HLE: improve cellHddGameCheck 2020-10-24 00:26:41 +03:00
Eladash 701f7f39d6
Improve SPURS debugger (#9090) 2020-10-18 11:07:01 +03:00
RipleyTom 9e14d240a8 Implement ethernet address determination 2020-10-16 22:53:48 +03:00
RipleyTom 344c813eb1 Avoid double locking with start_sig 2020-10-16 22:53:48 +03:00
RipleyTom abaa8f855f sceNpManagerGetAccountRegion impl 2020-10-16 22:53:48 +03:00
Eladash 5185ddb8b5
CellSpurs: JobChain functions and some more (#9080) 2020-10-16 18:35:20 +01:00
Nekotekina 346a1d4433 vm: rewrite reservation bits
Implement classic unique/shared locking concept.
Implement vm::reservation_light_op.
2020-10-10 13:58:48 +03:00
Nekotekina 89f1248140 Implement vm::reservation_op
Implement vm::reservation_peek (memory load)
Implement vm::unsafe_ptr_cast helper
Example use in cellSpurs.cpp
Fix dma_lockb value and description
2020-10-07 20:11:59 +03:00
Eladash c628147521 cellSpurs: Implement more HLE functions (part 1) 2020-10-07 01:12:21 +03:00
Eladash a5cff8b186 kernel-explorer: Initial SPURS debugger 2020-10-06 14:20:23 +03:00
Eladash 2a258dc21e
Fix GCC compilation (#9035) 2020-10-05 06:39:56 +01:00
Eladash ec1244bb82 Minor cellSpurs fixup 2020-10-04 19:54:56 +03:00
Eladash a0b387e0a9 cellSpurs: Fix HLE workload signalling, taskset fixes 2020-10-03 22:35:59 +03:00
Eladash 7fdf3dd760 cellSpurs: Add CellSpursJobOpcode definitions 2020-10-01 18:16:13 +03:00
Eladash 1f28bee86a cellSpurs: Add error codes formatting (unused) 2020-10-01 18:16:13 +03:00
Eladash aed560b630 Implemnt various HLE CellSpurs functions 2020-10-01 18:16:13 +03:00
Megamouse 531eb04fd7 cellGameSetParamString: fix string sizes 2020-09-29 08:44:25 +02:00
Eladash 83d71519e0 Implement HLE sys_config stack allocation 2020-09-26 21:48:12 +03:00
Eladash b79d236bfa
cellSearch: use std::hash (#8981) 2020-09-26 17:28:19 +01:00
Eladash 6164b3d2e2 Compilation fix 2020-09-24 21:00:23 +03:00
Eladash c806da51f8
Implement cellGameDeleteGameData (#8962) 2020-09-24 20:13:19 +03:00
Eladash 183aa31319 cellSysCache: Global hdd1 lock
Take advantage of recursive locking.
2020-09-24 18:06:51 +03:00
Eladash b8fa6fb4c4 Win32 FS: Rewrite (fix) vfs::host::rename 2020-09-24 18:06:51 +03:00
Eladash 3372409590
cellGameContentPermit: Fix missing PARAM.SFO writeback (#8934) 2020-09-23 20:35:06 +03:00
Eladash 5a049322ed HLE: Always return empty paths if game content does not exist in cellGameContentPermit 2020-09-23 20:24:21 +03:00
Eladash 418968d974 sceNpTrophy: Add logging of commSign 2020-09-22 19:46:52 +03:00
Eladash 89905bc1c4 sceNpTrophyRegisterContext: Implement SCE_NP_TROPHY_STATUS_NOT_INSTALLED 2020-09-22 19:46:52 +03:00
Eladash cf61198fe3
HLE: Implement ERROR_BROKEN in cellGameDataCheck (#8945) 2020-09-22 10:30:31 +02:00
Megamouse 0b42cf06f8 sceNpTrophyCreateContext: improve commId logging 2020-09-21 15:32:02 +02:00
Megamouse 4c4be331f5 HLE: Fix sceNpTrophyCreateContext
fixes #7431 Soldner-X
Assuming that a SceNpCommunicationId should have a format like "TEST12345", then there is no need to delete termination characters after we already created a truncated string with 9 characters + null terminator.
The current behaviour does not work at all, because in case that we actually have a non-null termination character, deleteTerminateChar will step over the last x chars in the already truncated ID until it forcefully finds a character of its liking. eg. term='2': "TEST12345" => "TEST1" => "TEST1_00"
2020-09-21 15:32:02 +02:00
Eladash 75c3fdcb6f Fix cellGameBootCheck PARAM.SFO reads 2020-09-21 06:36:34 +03:00
Eladash 5ac6f090fc
Fix cellGamePatchCheck (#8933) 2020-09-19 19:38:22 +01:00
Eladash 0d183a24be cellFs: Rewrite cellFsGetFreeSize 2020-09-19 13:53:04 +01:00
Eladash 2620a51cc9 cellSaveData: Minor fix 2020-09-19 13:53:04 +01:00
Eladash f1e8739608 Always reset size in cellGameGetSizeKB
Reversed.
2020-09-19 13:53:04 +01:00
Eladash ed032dc985 cellGame: Improvements 2020-09-19 13:53:04 +01:00
Megamouse a2da187615 HLE: localize most - if not all - exposed strings 2020-09-14 18:24:18 +02:00
Eladash 5db1427923 cellGame: Implement cellHddGameCheck2 2020-09-12 11:00:24 +02:00
Eladash 81eceb1728 cellSysUtil: Implement CELL_SYSUTIL_SYSTEMPARAM_ID_LICENSE_AREA 2020-09-12 11:00:24 +02:00
Megamouse 639650c65a Add more defines to cellSysutil 2020-09-12 09:56:51 +02:00
RipleyTom d9d354c981 Makes DNS processing more consistent 2020-09-09 23:56:25 +02:00
Ani 22dc2947b3
hle: Implement ID_CURRENT_USER_HAS_NP_ACCOUNT (#8864) 2020-09-08 15:12:47 +01:00
Megamouse fee96ec92d fix some warnings 2020-09-08 12:05:51 +02:00
RipleyTom 10820fa135
Implement sceNpSignaling & signaling improvements (#8836) 2020-09-07 22:50:17 +01:00
Eladash 019d2d5dcf Implement HLE cellSpursAddUrgentCommand 2020-08-27 23:52:37 +01:00
RipleyTom 190822c2b2
RPCN Client (#8663) 2020-08-27 20:47:04 +01:00
Eladash edc09e22b4
PSF: Avoid redundent string copies in psf::array/string/get_string (#8707) 2020-08-21 23:55:17 +01:00
Eladash 0c85d4c0d0
cellSaveData: Fix loss of "BLIST" and files' information in PARAM.SFO (#8706) 2020-08-08 23:40:47 +01:00
Eladash 17f965c171 lv2: Minor fix of "unspecific ppu" path of _sys_lwcond_signal 2020-08-03 02:57:20 +03:00
Bevan Weiss 609182b131 Update cellAudio to use float constants instead of doubles
Another simple Clang recommendation
2020-07-26 17:23:02 +03:00
Megamouse bb3ac62126 cellMic: use s32 consistently 2020-07-24 14:47:10 +02:00
Megamouse 6e25fea16a use not_an_error in sys_spinlock_trylock 2020-07-24 14:47:10 +02:00
Megamouse 5e7c6853c2 fix truncation warnings 2020-07-24 14:47:10 +02:00
Megamouse f76a011ba0 fix sceNpCommerce2CreateCtx log message 2020-07-24 14:47:10 +02:00
Megamouse d854a39500 add a gazillion more error_code 2020-07-24 14:47:10 +02:00
Megamouse a00ebacef3 cellFont: add error_code 2020-07-24 14:47:10 +02:00
Megamouse c2f4244c4d cellMic: error_code, random cleanup and stubbing 2020-07-24 14:47:10 +02:00
Megamouse 7437c324c6 cellMusic: add error_code 2020-07-24 14:47:10 +02:00
Eladash 54b87b6dbb cellSaveData: Increase sleep time 2020-07-23 13:45:58 +03:00
Eladash c37bc3c55c SPU: Make spu_thread::offset private 2020-07-19 17:58:49 +03:00
Megamouse 53b95fea19 audio: rename audio channels to audio downmix
The setting does not actually define the channels themselves, only the downmix option that the PS3 provides.
Channels might be changed seperately in the future.
2020-07-08 21:11:23 +02:00
Megamouse e2fd4e46f7 Only reboot audio if a relevant setting changed 2020-07-08 21:11:23 +02:00
Megamouse 20d6664dc1 Try to make most audio configs dynamic 2020-07-08 21:11:23 +02:00
Megamouse bb0aaea92d cellAudio: implement downmix to 5.1 2020-07-08 21:11:23 +02:00
Megamouse 5fae1b3637 HLE: fix sceNpDrmGetTimelimit invalid param error 2020-07-07 09:43:32 +02:00
Megamouse 5269b69bc5 cellAudio: use downmix formula based on documentation 2020-06-29 09:06:36 +02:00
Eladash 2483cc6f8d Fix race in Crypto/unedat.cpp, Make NPDRM keys usage atomic 2020-06-28 23:26:10 +01:00
Eladash 97717defa5 Remove devKlic/rifKey reset 2020-06-28 23:26:10 +01:00
Eladash 9cb4402c16 Make error_code::value member private 2020-06-27 09:02:55 +01:00
Megamouse 76faaf43f7 Input: Use global variables for pad modifications 2020-06-26 04:42:52 +02:00
Eladash ab9cdc70ad cellSaveData: Emulate PPU processing of auto/list post-fixed callback 2020-06-25 19:50:33 +03:00
Eladash 88a0e0fe2d cellAudio: Minor fixup 2020-06-14 18:45:46 +01:00
Eladash ff04cd6d69 cellAudio: Fix event queue attachment 2020-06-14 02:31:23 +03:00
Eladash f0d526411c IDM: Implement idm::clear<typename> 2020-06-12 22:12:36 +03:00
Megamouse 1cb4fb9c50 stub cellPngEnc 2020-06-04 23:13:40 +03:00
Megamouse 413f87b737 Add error_code to cellPngDec 2020-06-04 23:13:40 +03:00
Megamouse 8a8edb1b62 stub sceNpCommerce2 2020-06-04 23:13:40 +03:00
Megamouse caa1324457 stub sceNpTus 2020-06-04 23:13:40 +03:00
Megamouse 41eb6d4461 cellAudio improvements
- use CELL_AUDIO_BLOCK_32 where possible
- use CELL_AUDIO_BLOCK_SAMPLES where possible
- remove redundant logging
- return CELL_AUDIO_ERROR_AUDIOSYSTEM in cellAudioGetPortConfig (probably unreachable code anyway)
- return CELL_AUDIO_ERROR_PORT_OPEN in cellAudioPortOpen
- stub cellAudioSetPersonalDevice cellAudioUnsetPersonalDevice and cellAudioMiscSetAccessoryVolume
2020-06-04 23:09:47 +03:00
Megamouse 99895471ae cellAudio: make master volume dynamic 2020-05-31 07:37:59 +02:00
Mrlinkwii 68bee397eb Update cellSpurs.h 2020-05-22 22:19:04 +03:00