Nekotekina
240b4a8bd8
cellGameData: use g_fxo for content_permission
2019-09-26 23:26:36 +03:00
Nekotekina
cd843bda6e
cellSaveData: always commit changes on error in funcFile loop
...
Make sure the changes which are already done are written.
2019-09-25 18:47:38 +03:00
Nekotekina
f841b47b6b
cellSaveData: add auto maintenance routine in Emu.Init()
...
This routine:
1) Removes junk backup directories
2) Fixes interrupted save data process in edge case
This case can happen if emu terminates between two atomic renames.
Also use directory renaming technique for delete op.
Also rewrite recreate operation to be part of atomic process.
2019-09-25 18:47:38 +03:00
JohnHolmesII
c62a667fb1
Fix null pointer check (clang warnings)
2019-09-24 09:11:50 +02:00
Nekotekina
40fcd457bf
cellSaveData fixup
2019-09-23 03:15:41 +03:00
Eladash
2494091353
cellSaveData: Log param error code ( #6587 )
2019-09-23 03:07:23 +03:00
Megamouse
88388f1efc
sceNpSns: add more logging
2019-09-22 10:16:55 +02:00
Megamouse
2dc71cfe51
sceNpTrophy: add errors from RE
2019-09-22 10:16:55 +02:00
Nekotekina
e7d67f9732
Fix unwanted statichle_handler init
2019-09-21 03:59:43 +03:00
Megamouse
caef52e3b3
Input: don't intercept pads after system dialogs, but still ignore input
2019-09-20 22:12:40 +02:00
Megamouse
571bb914f5
cellPad: fix out of bounds warning
2019-09-20 22:12:40 +02:00
Megamouse
7193d407b9
Input: Remove unused flush member
2019-09-20 22:12:40 +02:00
Eladash
c50119aefa
Fix sceNp2Init
2019-09-19 08:26:29 +02:00
Nekotekina
4b19e55fcc
Use g_fxo for cellKb, cellMouse
...
Use init_mutex
2019-09-19 02:16:14 +03:00
Nekotekina
353a7ff8e6
cellCamera: use g_fxo
2019-09-19 02:16:14 +03:00
Nekotekina
c2fe2ac4a4
cellMic: use g_fxo
2019-09-17 02:46:34 +03:00
Nekotekina
36a528067c
cellAudio: use g_fxo
2019-09-17 02:46:34 +03:00
Nekotekina
76314520ef
cellAudio: use vm::gvar to allocate working memory
2019-09-17 02:46:34 +03:00
Nekotekina
584174d371
vm::gvar: add array support
2019-09-17 02:46:34 +03:00
RipleyTom
2b8890b193
CellPadLdd functions implementation
2019-09-17 01:17:48 +03:00
Megamouse
32a4c2242b
sceNp: fixups
2019-09-13 06:18:49 +02:00
Nekotekina
b91661ae71
Remove timeout support from lf_queue::wait
...
Add notify method and use atomic wait
2019-09-10 19:25:39 +03:00
Wojtek Arabczyk
cb66d05693
Fix warnings in rpcs3/Emu/Cell/Modules/sceNp.cpp
2019-09-09 19:16:02 +03:00
Megamouse
aa262889f2
cellVdec: add error_code
2019-09-08 20:54:43 +03:00
Megamouse
6aacec4694
cellMouse: add error_code
2019-09-08 20:54:43 +03:00
Megamouse
c111209639
cellGem: add error_code
2019-09-08 20:54:43 +03:00
Nekotekina
693d54553c
Fix compilation
2019-09-08 19:26:10 +03:00
Megamouse
cb00b71c4b
sceNp: add error_code and some param checks ( #6416 )
...
* sceNp: add error_code and basic implementations
* sceNp: and fix some structs
* sceNpSns: improvements
* sceNpUtil: improvements
* sceNpTus: improvements
2019-09-08 18:36:10 +03:00
Megamouse
cddc045c69
cellPad: disable reserved bit check in cellPadSetActDirect
2019-09-08 08:49:15 +02:00
Nekotekina
d0db7ca6bd
cellSaveData fixup ( #6393 )
...
Increase entry max size
2019-09-05 14:49:03 +03:00
RipleyTom
8de1239132
Simulate BSD FS for file order presentation in savedata
2019-09-05 03:01:46 +03:00
isJuhn
08c12f4c00
File.cpp: add rounding_alignment argument to get_dir_size to allow GetSizeKB functions to report size more accurately
2019-09-03 03:19:49 +03:00
Nekotekina
a5be410e3f
[noexcept] Don't throw on unimplemented HLE functions.
...
Getting rid of exceptions.
2019-09-02 14:43:31 +03:00
Nekotekina
796a6646f7
Silence statichle
2019-08-27 13:56:50 +03:00
Nekotekina
e41b234dc4
Use g_fxo for cellSysCache
2019-08-27 03:50:15 +03:00
Nekotekina
d2eba2387b
Use g_fxo for display_manager
2019-08-27 03:50:15 +03:00
Nekotekina
2a37a4bcea
Use g_fxo for cellPad
...
Rename pad_t -> pad_info
2019-08-27 03:50:15 +03:00
Nekotekina
928719b658
Use g_fxo for rsx::avconf
2019-08-27 03:50:15 +03:00
Nekotekina
cfdd298693
Use g_fxo for cellMusicDecode
2019-08-27 03:50:15 +03:00
Nekotekina
7b0d834477
Use g_fxo for gem_camera_shared
2019-08-27 03:50:15 +03:00
Nekotekina
e4a7e8c058
Use g_fxo for cellGem
...
Rename gem_t -> gem_config
2019-08-27 03:50:15 +03:00
Nekotekina
1d3c18f4e2
Use g_fxo for cellGcm
...
Rename CellGcmSysConfig -> gcm_config
2019-08-27 03:50:15 +03:00
Nekotekina
9a2338a5ca
Use g_fxo for fs_aio_manager (dummy)
2019-08-27 03:50:15 +03:00
Nekotekina
8304043d00
Use g_fxo for sysutil_cb_manager
2019-08-27 03:50:15 +03:00
Megamouse
32b5b11a83
cellSaveData/overlays: prevent possible array out of bounds in list view
2019-08-26 21:09:20 +02:00
Nekotekina
6165bd68c0
Use g_fxo for avconf_manager
2019-08-22 15:14:33 +03:00
Megamouse
94dd6c2007
cellSaveData: improve param.sfo creation
2019-08-22 08:05:12 +02:00
Megamouse
896cfd2ade
cellSaveData/cellMsgDialog: implement cellSaveDataDelete
2019-08-22 08:05:12 +02:00
Megamouse
0b720aeb59
cellSaveData: ignore dot and dotdot
2019-08-22 08:05:12 +02:00
Megamouse
b3c1759853
cellSaveData/overlays/Qt: fix some warnings and a possible nullptr deref
2019-08-22 08:05:12 +02:00
Nekotekina
8cf025bf71
Use g_fxo for cellWebBrowser
...
Rename browser_t -> browser_info
2019-08-22 02:13:39 +03:00
Nekotekina
2b55bde104
Use g_fxo in cellRudp
...
Rename rudp_t -> rudp_info
2019-08-22 02:13:39 +03:00
Nekotekina
02fe1ef7ff
Use g_fxo for cellSearch
...
Rename search_t -> search_info
2019-08-22 02:13:39 +03:00
Nekotekina
93d5c0a38e
Use g_fxo for cellRec
...
Rename rec_t -> rec_info
2019-08-22 02:13:39 +03:00
Nekotekina
54952f6ad6
Use g_fxo for LoadedNpdrmKeys_t
...
Rename to loaded_npdrm_keys
2019-08-22 02:13:39 +03:00
Nekotekina
606601441d
Use g_fxo for cellMusic
...
Replace music_t with music_state
2019-08-22 02:13:39 +03:00
Megamouse
b3aff3a1c6
cellKb: fix large ASCII characters for some compilers
2019-08-18 08:18:15 +02:00
Megamouse
eedf96e1f4
Qt: fix diacritics in keyboard handler
2019-08-18 08:18:15 +02:00
Megamouse
7408f50d71
cellKb: improve key conversion
2019-08-18 08:18:15 +02:00
Megamouse
86a8b5924a
Add option for keyboard layout
2019-08-18 08:18:15 +02:00
eladash
050339bb3e
PPU/LV2: Make thread-lists scheduling atomic
2019-08-17 22:46:36 +03:00
Megamouse
8debdfcd09
handle empty callback returns
2019-08-14 23:54:09 +02:00
Nekotekina
4f22559ff0
Remove dumb overloads of atomic_op, fetch_op
...
And lf_queue::apply.
Fix inlining problem by passing F by value.
2019-08-14 20:28:34 +03:00
Eladash
a4896eb6df
Fix race on cellVdecClose TLS cleanup
2019-08-13 04:56:00 +03:00
Eladash
30c72b105e
Fix race on notifying vdec thread in cellVdecGetPicture
...
Can dereference nullptr if cellVdecClose was called simultaneously.
2019-08-13 04:56:00 +03:00
Eladash
4b82006984
ppu: Improve LWSYNC
...
Block load<->load reordering as real lwsync.
2019-08-13 04:56:00 +03:00
Eladash
ecb3b62787
Fix CELL_CAMERA_ERROR_NOT_INIT check in cellCameraSetNotifyEventQueue when camera set to null
...
Don't worry, this was a duplicated check for null camera setting.
2019-08-11 21:43:13 +03:00
Eladash
96527eee5b
idm: Fix bug in ID searching
...
* ID checking now checks if (id % step) == 0
* Extend possible ID range to allow UINT32_MAX (as long as base is non-zero)
2019-08-11 21:43:13 +03:00
Eladash
997e3046e3
vm/sys_overlay Improvements
...
- Implement sys_overlay_load_module_by_fd.
- Implement special segment allocation when ppc_seg flag is specified.
2019-07-28 14:23:58 +03:00
Eladash
22994d15fb
Fix cellCamera events support with clocks scaling
2019-07-26 21:27:55 +03:00
Eladash
85b1152e29
Timers scaling and fixes
2019-07-23 00:09:01 +01:00
Nekotekina
c01f1a8968
Avoid transitive include of vm_ref.h
...
Add forward declarations of vm::_ref_base
Remove default AT = u32 in _ptr_base and _ref_base (doesn't play well).
2019-07-15 15:46:46 +03:00
Nekotekina
cfa1416d64
sys_spu: add vm::temporary_unlock
2019-07-14 18:33:23 +03:00
Nekotekina
bc1617758c
sys_semaphore: add vm::temporary_unlock
2019-07-14 18:18:03 +03:00
Nekotekina
0a88a23bf5
sys_event: add vm::temporary_unlock
2019-07-14 18:06:02 +03:00
Nekotekina
38d4e3c184
sys_mmapper: add vm::temporary_unlock
2019-07-14 17:51:03 +03:00
RipleyTom
6c6b973342
Microphone implementation
2019-07-11 20:13:12 +01:00
Eladash
6fba3dd90c
Misc correctness improvement
...
Use let_<u64> for name_64 and prefer it when possible.
2019-07-09 11:52:34 +03:00
msuih
690cdff0d3
Minor fixes
...
- Fix a typo in OpenAL
- Fix typo in cellHttp.h
- Unused variables in catch
- Use 64-bit shifts
- Use use_count with shared pointers, unique is depracated and getting removed
- Explicitly cast boolean to int
- Signed/unsigned issues with loop variables
- Fix missing return statement (the code path is unreachable, but compiler wants a return)
- */ ouside of comment
- Fix duplicate layout name
2019-07-01 04:33:23 +03:00
msuih
d57124d075
Explicitly cast size_t to integer types
2019-07-01 04:33:23 +03:00
Eladash
43f919c04b
Fixup after #6143 ( #6146 )
...
vm::spu max address was overflowing resulting in issues, so cast to u64 where needed. Fixes #6145 .
Use vm::get_addr instead of manually substructing vm::base(0) from pointer in texture cache code.
Prefer std::atomic_thread_fence over _mm_?fence(), adjust usage to be more correct.
Used sequantially consistent ordering in semaphore_release for TSX path as well.
Improved memory ordering for sys_rsx_context_iounmap/map.
Fixed sync bugs in HLE gcm because of not using atomic instructions.
Use release memory barrier in lwsync for PPU LLVM, according to this xbox360 programming guide lwsync is a hw release memory barrier.
Also use release barrier where lwsync was originally used in liblv2 sys_lwmutex and cellSync.
Use acquire barrier for isync instruction, see https://devblogs.microsoft.com/oldnewthing/20180814-00/?p=99485
2019-06-29 18:48:42 +03:00
Eladash
1ee7b91646
Refactoring ( #6143 )
...
Prefer vm::ptr<>::ptr over vm::get_addr.
Prefer vm::_ptr/base over vm::g_base_addr with offset.
Added methods atomic_t<>::bts and atomic_t<>::btr .
Removed obsolute rsx:🧵 :Read/WriteIO32 methods.
Removed wrong check in semaphore_release.
Added handling for PUTRx commands for RawSPU MFC proxy.
Prefer overloaded methods of v128 instead of _mm_... in VPKSHUS ppu interpreter precise.
Fixed more potential overflows that may result in wrong behaviour.
Added io/size alignment check for sys_rsx_context_iounmap.
Added rsx::constants::local_mem_base which represents RSX local memory base address.
Removed obsolute rsx:🧵 :main_mem_addr/ioSize/ioAddress members.
2019-06-29 01:27:49 +03:00
JohnHolmesII
232a35b6fc
Various small warning fixes
...
-Indentation warnings
-prevent shift overflow
-This was declared extern in all contexts. Remove this for initialization
-Fix main return types. OH CANADA!
-Silence extraneos 'unused expression' warning
-Force use return value (warning)
-Remove tautological compare copy-pasta (char always < 256)
2019-06-28 01:45:29 +03:00
JohnHolmesII
d0eae7bab1
Fix -Wsign-compare a little bit
...
Explicitly mark loop types (per review)
2019-06-28 01:45:29 +03:00
JohnHolmesII
23094b48bb
Fix warnings related to -Wswitch
...
Add default cases.
Move default breaks to newline
Add proper handling in some instances.
Add missing enums to switches
2019-06-28 01:40:52 +03:00
JohnHolmesII
be521ff0ab
Fix warnings related to parentheses
2019-06-25 20:36:32 -07:00
Lassi Hämäläinen
e9e87b8bd9
Add missing #includes to header files
...
- Multiple header files where missing #includes to other headers that
where used in the header. Correct header was included in correct
order in source files which caused everything to compile.
- Added missing #includes so header files correctly include all their
dependencies and fixes problems with IDEs being unable to parse
headers correctly due to missing symbols
2019-06-25 17:11:10 +03:00
Lassi Hämäläinen
499035512b
Split Emu/Memory into more logical headers
...
- Add vm_locking.h and vm_reservation.h and move relevant functions
and types to these headers.
- Change include order and make vm_ptr.h, vm_var.h and vm_ref.h headers
usable invidually and them including vm.h instead of other way around
- Because usage of vm::ptr now requires including vm_ptr.h instead of
vm.h updated multiple #includes
- Added additional #includes to vm_reservation.h and vm_locking to
where vm::reservation_* and locking related functions are used
2019-06-25 17:11:10 +03:00
Nekotekina
517a2bc34a
sys_lwcond: add vm::temporary_unlock
2019-06-20 14:46:32 +03:00
Nekotekina
a935203a18
sys_lwmutex: add vm::temporary_unlock
2019-06-20 14:46:32 +03:00
Nekotekina
d021d9e14a
sys_mutex: add vm::temporary_unlock
2019-06-19 20:39:39 +03:00
Nekotekina
89a31292dc
sys_cond: add vm::temporary_unlock
2019-06-19 20:39:29 +03:00
Megamouse
b29a89807e
cellPad: set len to 0 if pads are being intercepted by the system
2019-06-15 00:24:10 +02:00
Megamouse
3f00b485a0
cellMsgDialogAbort: don't call on_close and properly re-enable pads
2019-06-15 00:24:10 +02:00
Nekotekina
2bc0ea37ab
sys_fs: yield PPU on disk access ops
2019-06-08 19:34:55 +03:00
Nekotekina
31994dd3b2
Rename cond_one to unique_cond
...
Remove redundant in_cv in cellVdec
2019-06-02 23:22:16 +03:00
Nekotekina
dfd50d0185
Implement std::bit_cast<>
...
Partial implementation of std::bit_cast from C++20.
Also fix most strict-aliasing rule break warnings (gcc).
2019-06-02 23:22:16 +03:00
scribam
09c9996f31
Use empty() instead of comparing size() with 0
...
Recommendation from Clang-Tidy: https://clang.llvm.org/extra/clang-tidy/checks/readability-container-size-empty.html
2019-06-01 22:59:23 +03:00
Megamouse
f48589005d
handle some more warnings
2019-05-28 21:47:49 +02:00
Megamouse
34964e0e4f
handle some warnings
2019-05-28 21:47:49 +02:00
scribam
6c5ea068c9
Remove redundant semicolons
...
Fix "-Wextra-semi" warnings
2019-05-12 18:32:11 +03:00
Megamouse
c1e245ae73
Emu: msg_dialog_frame fixup: don't reject on Close to prevent Emu.Stop()
2019-05-05 16:29:50 +02:00
Megamouse
b639584acc
Emu/Qt: Fix Boot Recent when using BootGame(add_only=true)
2019-05-05 16:29:50 +02:00
Megamouse
b0a24665e5
Emu: msg_dialog_frame fixes
2019-05-05 16:29:50 +02:00
Ani
a24ede4f40
cellPad: Update vendor and product IDs
...
- Used IDs were not from the Guitar Hero instruments but in fact from the Rock Band ones. Sets the correct Guitar Hero IDs and adds the Rock Band ones on comments. TODO: Allow selecting the specific devices on the PAD Settings.
- Adds DJ Hero Turntable VID/PID.
- Adds Dance Dance Revolution Mat VID/PID.
2019-04-20 23:17:13 +01:00
eladash
450e2c9a0e
cellSaveData: Add missing SDK version check for setParam->reserved2 check
2019-04-20 20:43:58 +01:00
eladash
ae5a4b697e
Fix cellSaveDataListAutoSave/Load unk flags
2019-04-20 01:04:41 +03:00
eladash
1e9d3346d1
Reschedule in cellMsgDialogOpen2
2019-04-20 01:04:41 +03:00
eladash
9446bd2d3f
Handle a few more cellSaveData errors
...
* Check directory existence if setParam is NULL (dont create directory)
* Fix mask for reCreateMode
* Check a few setParam fields including reserved buffers.
* Fix sizeKb when the dir is empty except from PARAM.SFO
* Fix error checking when CELL_SAVEDATA_RECREATE_YES is specified but setParam is NULL (Doesnt do anything, simply errors)
2019-04-20 01:04:41 +03:00
eladash
ff11d9a3bd
Improve scheduler control for cellSaveData
...
TODO: There are probably more spots where we should yield.
A little more at the start because PacketRead is called twice.
Dont use sys_timer_usleep because it will just call this_thread::yield() repeatedly.
2019-04-20 01:04:41 +03:00
eladash
9497270da5
Implement initial arguments error checking for cellSaveData
2019-04-20 01:04:41 +03:00
eladash
2b4bc588dc
Put missing check_state() in some places
...
Fixes a few verification failures while closing the emulator with HLE liblv2
2019-04-20 01:04:41 +03:00
Nekotekina
7865982208
Fix static_hle log channel definition
2019-04-16 23:49:18 +03:00
Nekotekina
f40320bcae
Fix cellVdecOpen
...
Use pseudo-address in sys_ppu_thread_create calls
2019-04-11 21:20:22 +03:00
scribam
1d947daa81
hle: Add some more functions
2019-04-10 22:15:35 +03:00
Nekotekina
9736773c04
Implement vfs::host::rename
...
With spurious access error workaround
2019-04-10 13:58:12 +03:00
scribam
f30af3ccd2
hle: Add more missing functions
2019-04-07 23:31:15 +03:00
scribam
8dbf2638e2
hle: Add some missing functions
...
0xBA50BC23 => cellCelpEncOpenExt
0x1AC58D11 => cellHttpFlushCache
0xA39FE9DC => cellHttpEndCache
0xB4FA3111 => cellHttpInitCache
0x4A18A89E => sceNpMatchingSetRoomInfoNoLimit
0xB020684E => sceNpMatchingGetRoomInfoNoLimit
2019-04-05 17:28:10 +01:00
eladash
1ed2055ec1
Fix cellVdecGetPicItem element popping behaviour
2019-03-31 14:57:21 +03:00
eladash
f2bbae9db4
Remove handle in cellVdecClose
2019-03-31 14:57:21 +03:00
eladash
8eb59271a5
Improve error checking of cellVdecOpen
...
Those are the initial argument checks done by the firmware
2019-03-31 14:57:21 +03:00
eladash
d6025c6764
Fix cellPadGetInfo port status returned
...
ASSIGN_CHANGES flag is not returned in this func.
2019-03-31 14:57:21 +03:00
eladash
47ca1b1dda
Minor optimizations in cellPad
...
- Dont bother with shared_ptr since all pad_t management is going under the pad mutex.
- Change m_pads type into std::array since its size is known
2019-03-31 14:57:21 +03:00
scribam
f15eb88f59
hle: Fix cellSysutilAvcExt module
...
And add cellSysutilAvcExtSetChatMode and cellSysutilAvcExtSetChatGroup
functions
2019-03-31 00:55:55 +03:00
scribam
1916cc1691
hle: Add cellSysmoduleUnloadModuleInternal and cellSysmoduleLoadModuleInternal functions
2019-03-30 23:52:56 +03:00
scribam
f369aeab7a
hle: Add FT_Get_X11_Font_Format function
2019-03-30 23:52:56 +03:00
scribam
0e9313d2df
hle: Add cellFontInitLibraryFreeType function
2019-03-30 23:52:56 +03:00
scribam
a254a203bb
hle: Add libad_async and libad_core modules
2019-03-27 21:41:44 +00:00
scribam
a9eb321814
hle: Add sceNpEulaAbort function
2019-03-26 23:19:01 +03:00
scribam
956d039415
hle: Add cellVideoPlayerUtility module
2019-03-24 19:16:49 +03:00
scribam
581b205f73
hle: Add cellPesmUtility module
2019-03-24 19:16:49 +03:00
scribam
6c40b9f3e0
hle: Add cellDtcpIpUtility module
2019-03-24 19:16:49 +03:00
scribam
d6bf18eabc
hle: Add some sceNpMatchingInt functions
2019-03-24 17:29:18 +03:00
scribam
32ae7e466c
hle: Add cellNetAoi module
2019-03-24 17:29:18 +03:00
elad
fc253165e2
Correctness fix for RSXIOMem
...
- Make RSXIOMem volatile.
- Hint the compiler to check only once the address returned.
2019-03-08 23:44:46 +03:00
elad
b7da3ea5cd
Release ppu thread before ShowSaveDataDialog, Fixes #4031
2019-03-08 23:44:46 +03:00
RipleyTom
61bd2ea799
Adds VID/PID for Guitar Hero guitar & drum
2019-03-08 17:52:48 +00:00
elad
3c9f03968c
Yield before flushing io buffers in fsync (sys_fs) ( #5506 )
2019-03-08 16:07:14 +00:00
Nekotekina
4ea76def7c
Update sys_lwmutex_lock and sys_lwmutex_unlock (liblv2 HLE)
...
Implement missing SYS_SYNC_RETRY logic
Following #5680
2019-03-06 15:09:50 +03:00
eladash
e38b7aee5a
check address in sys_rsx_context_iomap
...
* Fix 0 vm page flags to behave like 1m flags, follows c8a681e60
* check if address exists and valid for rsx io allcations (must be allocated on 1m pages)
2019-03-05 21:23:24 +03:00
RipleyTom
de5379a69f
Static hle implementation
2019-02-27 22:54:59 +03:00
eladash
a22297f205
exception throwing fix in sys_lwmutex_create
...
arg6 doesnt exist, if arg4 is not negative name is discarded and treated as 0.
2019-02-27 22:16:08 +03:00
RipleyTom
ad6b0ee122
Adds class type to controller options
2019-02-27 18:13:19 +00:00
Megamouse
b107718869
sysPrxForUser: improve crash dump functions
...
this might fix some crashes that could appear in the todo logging itself
2019-02-26 21:53:59 +00:00
Megamouse
d4888a4973
cellSysCacheMount: don't return RET_OK_RELAYED on empty cacheId
...
The system cache is supposed to be cleared but I don't think we wanna do that
2019-02-13 01:55:07 +03:00
Megamouse
4a1499e0be
cellMsgDialog: optionally make dialogs blocking and fix exit condition
...
and apply review fixes
2019-02-12 21:06:10 +03:00
Megamouse
fe79e541dd
cellGame: improve exit functions
2019-02-12 21:06:10 +03:00
Megamouse
17a5e0bc98
cellGame: add error_code
2019-02-12 21:06:10 +03:00
eladash
84d42ecb65
Add EFAULT checks to spu_thread_group_join, ppu_thread_join
...
Order of checks is based on firmware
2019-02-10 00:16:57 +03:00
kd-11
9ed9d7e947
overlays/osk: Implement native osk interface
2019-02-02 11:54:01 +03:00
Nekotekina
400718dfd9
cellSaveData: try to handle occasional failures
...
Retry moving directory on FILE_ACCESS_ERROR
2019-01-31 01:08:30 +03:00
Megamouse
8d5d44141e
rsx/Qt: fix some undefined behavior in progress_dialog CallAfters
2019-01-22 12:04:01 +03:00
Nekotekina
59e0296281
cellMsgDialog: fix error spam on CELL_OK
2019-01-18 16:49:17 +03:00
Megamouse
58a22d1461
cellSaveData: add error_code
2019-01-14 21:12:13 +01:00
Nekotekina
c5026f7109
cellVdec: fix minor race
2019-01-14 01:24:05 +03:00
Nekotekina
74d684b57e
cellAudio: fix template arg style
...
Add constexpr if
2019-01-14 00:01:27 +03:00
Nekotekina
435f60d503
lf_queue: add iterator support
...
Allow range-for loop over an object returned by `pop_all()`
2019-01-13 14:45:36 +03:00
Nekotekina
453344c232
cellSaveData: workaround possible issues with symlinks
...
Don't use ../ location for temporary directories
2019-01-13 14:45:36 +03:00
Megamouse
022550a43b
cellOskDialog: use atomic_op for state operations
2019-01-12 23:39:01 +01:00
Megamouse
d7cc97433d
cellOskDialogUnloadAsync: guarantee 0 terminated return string
2019-01-12 23:39:01 +01:00
Megamouse
fce9f352a9
cellOskDialog: fix cellOskDialogAbort
2019-01-12 23:39:01 +01:00
Megamouse
f9c1b15bf4
cellOskDialog: fix cellOskDialogUnloadAsync return string
...
fixes Class of Heroes 2G
2019-01-12 23:39:01 +01:00
Rui Pinheiro
3406acd8c9
Fixups for audio PR
2019-01-12 22:22:03 +03:00
Rui Pinheiro
49fbf9bf0f
Tweaks to buffering algorithm
...
Increase untouched buffer timeout when some of the buffers have been
touched. Might improve audio quality on games that suffered from
miniscule popping even when buffering was enabled (such as DeS).
In addition, made time stretching algorithm slightly more aggressive.
Includes some other tiny tweaks as well.
2019-01-12 21:29:56 +03:00
Rui Pinheiro
48db0430d4
Misc. Tweaks
2019-01-12 21:29:56 +03:00
Rui Pinheiro
650bc0c1f2
Fix game pausing/unpausing
2019-01-12 21:29:56 +03:00
Rui Pinheiro
f17f984721
Add timeout for untouched buffers
2019-01-12 21:29:56 +03:00
Rui Pinheiro
8f6043b568
Change cellAudio diagnostic messages to Trace
2019-01-12 21:29:56 +03:00
Rui Pinheiro
67f9397746
Various fixes
...
In addition, linux builds (and ALSA/PA) now work again
2019-01-12 21:29:56 +03:00
Rui Pinheiro
4f39457858
Rewrite OpenAL backend to support new features
2019-01-12 21:29:56 +03:00
Rui Pinheiro
892deb1552
Implement basic time stretching + Tweaks
2019-01-12 21:29:56 +03:00
Rui Pinheiro
5159d3559e
Implement Audio Backend Capabilities querying
...
Also renames "AudioThread" to "AudioBackend". The new name is more
descriptive of what the class really is responsible for, since the
backends are not responsible for managing the audio thread.
NOTE: Right now only XAudio2 is supported
2019-01-12 21:29:56 +03:00
Rui Pinheiro
2addbe6be2
Implement basic cellAudio buffering
2019-01-12 21:29:56 +03:00
Megamouse
e18e9909af
cellOsk fixup
2019-01-12 08:26:04 +01:00
RipleyTom
fad80ed443
revert part of #5529
2019-01-12 06:59:07 +01:00
Megamouse
e3ea29599d
cellGame: fix some installation issues
...
fixes HAWX2 (at least until it crashes again)
2019-01-11 03:36:22 +03:00
Megamouse
e5aede7aa7
cellOskDialog: initial code for cellOskDialogSetSeparateWindowOption
2019-01-10 13:05:48 +01:00
Megamouse
17058113df
cellOskDialog: add multi-line option and handle more permutations (WIP)
2019-01-10 13:05:48 +01:00
Megamouse
4a8b30c625
cellOskDialog: cellOskDialogExtRegisterConfirmWordFilterCallback
2019-01-10 13:05:48 +01:00
Megamouse
e0ac244fed
split MsgDialogBase
2019-01-10 13:05:48 +01:00
Megamouse
d5303b0b64
add error_code to cellOskDialog and cellMsgDialog
2019-01-10 13:05:48 +01:00
Megamouse
7cc4239cc2
cellOskDialog: add message
2019-01-10 13:05:48 +01:00
Megamouse
cc30b4e5be
cellOskDialog: don't send input signals without seperate screen enabled
2019-01-10 13:05:48 +01:00
Megamouse
16f2975792
cellOskDialog: properly handle dialog states to improve param checks
2019-01-10 13:05:48 +01:00
RipleyTom
37c621ebbf
cellSysutilCheckCallback forced granularity
2019-01-03 02:15:01 +03:00
Nekotekina
7a4282b4c0
cellSysutil: drain callback queue at single step
...
This way if a new callback is registered in a process,
it will not be executed immediately in the same loop.
Remove mutex, use lock-free queue.
2019-01-03 02:15:01 +03:00
Megamouse
3b83e223d8
cellOskDialog: add some param checks
2019-01-02 15:45:51 +01:00
Megamouse
0e7fd45504
cellOskDialog: add Constants
2019-01-02 15:45:51 +01:00
Megamouse
ad5cdc38cd
cellOskDialog: implement CellOskDialogInputFieldResult
...
fixes abort and cancel
2019-01-02 15:45:51 +01:00
Megamouse
6f7b25de90
implement CELL_PAD_INFO_INTERCEPTED
2019-01-02 15:45:51 +01:00
eladash
2ea061b9c7
Set total memory size according to sdkver
2018-12-30 20:12:32 +00:00
RipleyTom
c6e47a573d
cellVideoOutConfigure minor fix.
2018-12-30 17:58:20 +03:00
eladash
26d47afec6
hle gcm: Fix cellGcmGetReportDataAddressLocation
...
* Never return NULL (also apllies to similar functions)
* Base offset is 0x0e000000 for main location
* Default location is LOCAL
Info was taken from disasm of gcm
2018-12-30 15:04:59 +01:00
RipleyTom
aa306dd356
Trophy changes
2018-12-27 19:11:51 +01:00
scribam
7c74bafaf3
sceNp: improve sceNpManagerGetNetworkTime function ( #5451 )
2018-12-25 17:13:11 +03:00
Nekotekina
f750b4c420
cellSaveData: try to address #5415
2018-12-24 16:04:46 +03:00
kd-11
9c46386dd4
rsx: Check av configuration when selecting display buffers!
...
- Some applications have mismatch between video output configuration and display buffer sizes
2018-12-24 09:05:19 +03:00
isshininu
9717e19be2
sceNpTrophy: use SCE_NP_TROPHY_STATUS_INSTALLED instead of SCE_NP_TROPHY_STATUS_NOT_INSTALLED
...
* Update sceNpTrophy.cpp
* Revert "Update sceNpTrophy.cpp"
* Update sceNpTrophy.cpp
* Update sceNpTrophy.cpp
2018-12-22 13:53:38 +01:00
eladash
69fc1f2613
Added CAMERA_NOT_INIT checks for no camera setting
2018-12-20 08:52:09 +01:00
Megamouse
6b1d80ec25
cellCamera: fix read_mode
2018-12-20 08:02:44 +01:00
Megamouse
bc3ab7a9d9
Input: Enable In-Game Pad Config Reset
2018-12-17 19:41:18 +01:00
eladash
fd894d4c69
hle gcm: Fix cellGcmGetNotifyDataAddress
2018-12-15 19:40:18 +03:00
eladash
8cbaa8627c
Do not rely on cellPadInit in native ui
2018-12-15 13:51:16 +01:00
Nekotekina
d6afba96f1
cellSaveData: fix 'Already exists' error
2018-12-10 01:43:47 +03:00
RipleyTom
5207b00973
Extra Handling of result value of funcStat CB.
2018-12-08 18:44:00 +03:00
scribam
24a8d0aeef
sceNp: add SCE_NP_ERROR_ID_NOT_FOUND for sceNpBasic*Entry* functions
2018-12-03 15:26:29 +03:00
Nekotekina
96cabeadff
Rewrite condition variables
...
Implement helper functions balanced_wait_until and balanced_awaken
They include new path for Windows 8.1+ (WaitOnAddress)
shared_mutex, cond_variable, cond_one, cond_x16 modified to use it
Added helper function utils::popcnt16
Replace most semaphore<> with shared_mutex
2018-11-29 01:30:05 +03:00
Nekotekina
7f1cbb1136
Fix 16 bit audio mode
...
Pointed by @ruipin, some backends may be affected
Reuse float buffer for conversion result
2018-11-24 02:55:29 +03:00
eladash
3c7f02d99d
Fix libcamera regression
2018-11-19 19:05:39 +03:00
Nekotekina
65ca934452
cellSaveData: fix truncation size (regression)
2018-11-17 14:40:11 +03:00
Nekotekina
12ceceff19
cellSaveData: restore atime/mtime for unmodified files
2018-11-17 14:40:11 +03:00
RipleyTom
f4fb5200a0
cellVdecGetPicture accurate error checking
2018-11-15 20:06:49 +03:00
eladash
90f816595a
Fix cellPadGetData
...
* Remove complete buffer clear
* If pressure sensitivity option is not specified, write zeroes (should this be handled from our actual controller handler?)
* Check sensor setting before reporting changes
2018-11-07 15:46:51 +03:00
Nekotekina
eaa17b7f7c
cellSaveData: anti-corruption precautions
...
Try to commit changes atomically
2018-11-05 13:14:11 +03:00
Nekotekina
6104685ad6
Implement cond_one sync primitive
...
Change futex() args to use unsigned int
2018-11-05 13:14:11 +03:00
eladash
43b75ccf04
cellGame: Add missing nullptr checks
...
if the param is null pointer, the library simply skips writing into it. also fix the order of writes.
2018-11-02 19:47:37 +03:00
eladash
2058d024ce
Fix cellGcmInit (workaround)
2018-10-28 20:09:09 +03:00
msuih
56ea45f9d5
Add setting for master volume
2018-10-20 16:35:01 +03:00
Nekotekina
1b37e775be
Migration to named_thread<>
...
Add atomic_t<>::try_dec instead of fetch_dec_sat
Add atomic_t<>::try_inc
GDBDebugServer is broken (needs rewrite)
Removed old_thread class (former named_thread)
Removed storing/rethrowing exceptions from thread
Emu.Stop doesn't inject an exception anymore
task_stack helper class removed
thread_base simplified (no shared_from_this)
thread_ctrl::spawn simplified (creates detached thread)
Implemented overrideable thread detaching logic
Disabled cellAdec, cellDmux, cellFsAio
SPUThread renamed to spu_thread
RawSPUThread removed, spu_thread used instead
Disabled deriving from ppu_thread
Partial support for thread renaming
lv2_timer... simplified, screw it
idm/fxm: butchered support for on_stop/on_init
vm: improved allocation structure (added size)
2018-10-19 22:22:35 +03:00
Nekotekina
430e2243ac
Fix audio_thread buffer deallocation race
2018-10-19 22:22:35 +03:00
Nekotekina
73d35b0236
Remove CALL_FUNC, implement ppu_execute<>()
2018-10-19 22:22:35 +03:00
Megamouse
49e5212a8f
RSX/Overlays: Add option for japanese button layout
2018-10-03 23:08:33 +02:00
Nekotekina
1b740995a4
Refactor audio_thread (g_idm)
2018-10-02 23:26:54 +03:00
Nekotekina
1456678316
Refactor audio/camera/mic threads
2018-10-02 02:22:26 +03:00
Nekotekina
306f95a9ae
New named_thread template (preview)
...
Old class named_thread renamed to old_thread
It's too hard to move in a single commit
2018-09-27 14:04:16 +03:00
Nekotekina
4ef384a161
Fix cellVdecClose
...
Thanks Micaelis#6971
2018-09-27 14:04:16 +03:00
eladash
1a6c819176
cellgcm: Fix SET_REFERENCE initial value
2018-09-20 01:05:40 +03:00
Nekotekina
c5676e5649
Remove thread_ctrl::atexit
...
It was only a workaround for poor C++11 thread_local support
2018-09-15 17:09:56 +03:00
Megamouse
ed7012c9db
cellKb/Qt: Improve basic keyboard
...
Sadly the shift in Qt is a bit counter productive.
You'll have to hack another key as shift until i figured it out
2018-09-13 22:01:30 +02:00
Nekotekina
2226125728
atomic_t<>: remove inline assignment
...
Add atomic_op/fetch_op overloads with template argument (may be removed in future)
Remove args... in atomic_op (capturing lambda is preferred)
2018-09-09 12:59:24 +03:00
Nekotekina
3ac1b46df2
Add option "HLE lwmutex"
...
Replaces lwmutex/lwcond implementation with alternative one
2018-09-09 01:02:19 +03:00
Alex James
5237779136
cellCamera: Fix check_dev_num call in cellCameraOpenEx
2018-09-08 20:07:10 +03:00
Nekotekina
ed9fb8405b
Move rotate/cntlz/cnttz helpers to Utilities/asm.h
2018-09-08 00:32:04 +03:00
Nekotekina
ee96807305
Remove explicit_bool_t, ignore, multicast<>
...
Remove vm::ptr operator %
This was a bad idea but explicit_bool_t was created almost for it
Other removed types are unused and have little to no meaning
2018-09-08 00:32:04 +03:00
Ofek
d7b0344091
Fix trophy regression
...
Hopefully
Correct status order
2018-09-07 20:04:37 +03:00
Zion Nimchuk
46812d46ba
better stub sceNpUtilBandwidthTestGetStatus
2018-09-07 12:38:51 +03:00
scribam
d7bb59cd99
c++17: use std::size
2018-09-06 13:15:59 +03:00
scribam
7724161c14
c++17: use std::clamp
2018-09-06 13:15:59 +03:00
Nekotekina
ca5158a03e
Cleanup semaphore<> (sema.h) and mutex.h (shared_mutex)
...
Remove semaphore_lock and writer_lock classes, replace with std::lock_guard
Change semaphore<> interface to Lockable (+ exotic try_unlock method)
2018-09-03 23:00:36 +03:00
Nekotekina
5e556a87ff
Adjust cellMic log levels
2018-09-03 21:40:36 +03:00
Nekotekina
ce4c4696dd
Try to get rid of SIZE_32 macro
2018-09-03 21:40:36 +03:00
Nekotekina
7bccdbf157
Make vm::var unmoveable
...
Fix bugs with discarding vm::make_var result
2018-09-03 21:40:36 +03:00
Nekotekina
8abe6489ed
Mega-cleanup for atomic_t<> and named bit-sets bs_t<>
...
Remove "atomic operator" classes
Remove test, test_and_set, test_and_reset, test_and_complement global functions
Simplify atomic_t<> with constexpr if, remove some garbage
Redesign bs_t<> to use class, mark its methods constexpr
Implement atomic_bs_t<> for optimizations
Remove unused __bitwise_ops concept (should be in other header anyway)
Bitsets can now be tested via safe bool conversion
2018-09-03 21:40:36 +03:00
Rui Pinheiro
1175658bd5
Fix cellMic regression from #4467
...
cellMicEnd would get stuck waiting for the cellMic thread to finish, but
it never does because micInited is still true.
Fixes Resistance: Fall of Mankind getting stuck after the menu
2018-09-03 19:49:41 +02:00
Ofek
4c1459534d
Trophy fixes
2018-08-29 16:56:17 +03:00
Megamouse
686d3eb1df
cellMsgDialog: improvements
2018-08-29 16:09:00 +03:00
Megamouse
00b31c27a3
cellGame: implement error messages and some stubs
2018-08-29 16:09:00 +03:00
Megamouse
7208aa37cc
cellMsgDialog: introduce open_msg_dialog
2018-08-29 16:09:00 +03:00
Megamouse
d4285fb196
cellGameExec: add param checks
2018-08-29 16:09:00 +03:00
Zion Nimchuk
f9cab3270f
Initial work on cellMic
2018-08-29 15:15:18 +03:00
Nekotekina
363811981d
Reintroduce LOG_CHANNEL
...
Groundwork for further improvements
2018-08-25 15:39:00 +03:00
eladash
18ec05c070
Fix cellGcmInit
...
add a missing reset
2018-08-22 12:20:31 +03:00
eladash
158019b50f
Rsx: fix translation when address is negative
...
move address shift to where it should be, extend io table to catch all possible values.
2018-08-22 12:20:31 +03:00
kd-11
8800c10476
zcull synchronization tweaks
...
- Implement forced reading when calling update method to sync partial lists
- Defer conditional render evaluation and use a read barrier to avoid extra work
- Fix HLE gcm library when binding tiles & zcull RAM
2018-08-18 16:14:30 +03:00
Nekotekina
aa4040bb7b
Implement vm::find_map; improve memory allocation
...
Add vm::user64k and vm::user1m constants
Remove vm::user_space, unreserve it
2018-08-14 15:14:06 +03:00
Megamouse
1a5b950d8b
fix cellMouse lag + fullscreen mouse
2018-08-13 22:23:22 +02:00
eladash
449888b9db
Rsx/vm: fix base addresses
2018-08-13 16:16:34 +03:00
eladash
f349695a75
Rsx: rewrite address translation
2018-08-13 16:16:34 +03:00
VelocityRa
1625f4bcc9
cellCamera: Fixes
...
- Fix regression from #4676
- Refactoring of event queue management stuff
- Some accuracy fixes
2018-08-07 02:54:14 +02:00
Megamouse
69af607491
cellCamera: improvements
2018-08-02 00:24:06 +02:00
Megamouse
456aa4ab8d
cellMusic: improvements
2018-08-02 00:24:06 +02:00
Megamouse
f8c8a3a26c
cellPad: improvements
2018-08-02 00:24:06 +02:00
Megamouse
27820f0371
cellMouse: improvements
2018-08-02 00:24:06 +02:00
Megamouse
bff038f554
cellKb: improvements
2018-08-02 00:24:06 +02:00
Megamouse
f6a3659a14
user_manager: megamouse fixes 4
2018-07-26 03:16:51 +04:00
mpm11011
68202eb2b7
user-manager: replacing fmt::format with string concat.
...
(cherry picked from commit 63379afc7a402edb2159912318281febc3e7438a)
2018-07-26 03:16:51 +04:00
mpm11011
948bd3673e
user-manager: squash all commits for this feature.
2018-07-26 03:16:51 +04:00
eladash
12b8908a00
cellvdec: stub unsupported video timebases
2018-07-21 15:32:38 +04:00
Nekotekina
d2d07abcc5
cellSaveData: print SECUREFILE secureId
...
This can help to decrypt savedata
2018-07-21 12:18:07 +03:00
scribam
b36d0fd59f
clang: fix compilation on 3.6
2018-07-15 12:51:09 +04:00
Ofek
d3596fbc95
Change all hddFreeSizeKB to 40gb-1
2018-07-11 02:16:14 +04:00
Chris Weermann (TGE)
c5dcef52fa
Implement sys_dbg_read_process_memory and sys_dbg_write_process_memory
2018-07-10 01:47:47 +04:00
eladash
4db79c458d
Fix cellSysCacheMount error checking
2018-07-05 16:36:57 +04:00
eladash
24699f0f96
Fix cellSysCacheClear
2018-07-05 16:36:57 +04:00
eladash
3b64e0fb3f
Fix cache directory
2018-07-05 16:36:57 +04:00
Ofek
5d3b0e7352
Fix cellGameDataCheckCreate2 ( #4832 )
...
* Fix cellGameDataCheckCreate2
2018-07-01 23:07:21 +01:00
Jake
e2c288ff8a
trophy: zero out data before setting
2018-06-24 14:29:41 +04:00
eladash
b3a933ba84
cellgcm: fix regression
2018-06-24 10:57:30 +03:00
eladash
b456955688
rsx: fix hardcoded rsx allocation address
2018-06-24 10:57:30 +03:00
clienthax
8b449ce76c
PS1 Classics
2018-06-23 16:34:19 +04:00
Megamouse
4464951c77
cellVdec: add more detail to the logging
2018-06-22 22:30:02 +04:00
Nekotekina
81e5f3b7f2
Remove /dev_flash/ configuration
...
Simplify code by using root config location for /dev_flash/
Hide Emu.GetEmuDir() function due to the risk of misuse
2018-06-22 14:14:29 +03:00
Nekotekina
88b6d51643
Fix cellGameContentPermit
2018-06-12 02:09:22 +03:00
isJuhn
88bfdb0c05
cellGameContentPermit: Don't set content and usrdir path on gamedata if cellGameCreateGameData was never called
2018-06-11 21:48:29 +04:00
Megamouse
5454f57dd0
cellSaveData: handle fatal error fs::file is_null (read-only files)
2018-06-08 23:41:56 +03:00
Megamouse
4003aacc6a
RSX: add taskbar progress to native ui progress dialogs
2018-06-08 23:41:56 +03:00
Megamouse
b9b6bd85a6
Qt/RSX: add taskbar progress in msg_dialog_frame for shader compilation
2018-06-08 23:41:56 +03:00
Megamouse
edc9e9b4ec
Qt/RSX: add window title to the shader compilation msg_dialog
2018-06-08 23:41:56 +03:00
isJuhn
dde4a9c6e7
Fix cellGameCreateGameData temporary path
2018-06-06 23:51:58 +04:00
ikki84
73f7ab29bc
Return offline according to g_psn_connection_status.
2018-06-06 19:14:12 +04:00
ikki84
83b09cf047
sceNpManagerRequestTicket2 (return offline)
...
Returning CELL_OK in sceNpManagerRequestTicket2 makes NPEB01268 loop indefinitely trying to check the downloaded content.
Telling that the system is offline escapes the loop and make the game go further.
Moves NPEB01268/BLES01794 from Intro to Ingame.
2018-06-06 19:14:12 +04:00
Dravonic
400079a006
Parallel shader cache loading ( #4677 )
...
* Parallel shader cache loading
2018-06-01 19:49:29 +03:00
eladash
8826948c43
cellgcm: implement cellGcmTerminate
2018-05-29 19:57:28 +03:00
eladash
23b380eb41
allow deallocations to unmap rsx mapped memory
2018-05-29 19:57:28 +03:00
eladash
ce98c962f8
cellgcm: use offset table to get the corresponding address to io address
2018-05-29 19:57:28 +03:00
eladash
97515a0941
sys_rsx/cellgcm: return EINVAL if the io map requast's size is 0
2018-05-29 19:57:28 +03:00
kd-11
8fcd5c1e5a
rsx: Texture cache fixes
...
1. rsx: Rework section synchronization using the new memory mirrors
2. rsx: Tweaks
- Simplify peeking into the current rsx::thread instance.
Use a simple rsx::get_current_renderer instead of asking fxm for the same
- Fix global rsx super memory shm block management
3. rsx: Improve memory validation. test_framebuffer() and
tag_framebuffer() are simplified due to mirror support
4. rsx: Only write back confirmed memory range to avoid overapproximation errors in blit engine
5. rsx: Explicitly mark clobbered flushable sections as dirty to have them
removed
6. rsx: Cumulative fixes
- Reimplement rsx::buffered_section management routines
- blit engine subsections are not hit-tested against confirmed/committed memory range
Not all applications are 'honest' about region bounds, making the real cpu range useless for blit ops
2018-05-23 19:07:08 +03:00
Nekotekina
182259e4a5
cellSaveData fix
2018-05-21 21:47:04 +03:00
kd-11
f6f45b8699
Native UI refactored ( #4623 )
...
Refactor and improve native overlays
2018-05-20 23:05:00 +03:00
Megamouse
68fff54a8b
cellSaveData: don't return after funcStat was successful in savedata_op
...
also add some missing constants
2018-05-20 23:16:11 +04:00