Commit graph

367 commits

Author SHA1 Message Date
Nekotekina bd9131ae1c Implement fs::get_cache_dir
Win32: equal to config dir for now
Linux: respect XDG_CACHE_HOME if specified
OSX: possibly incomplete
2019-01-13 14:45:36 +03:00
Megamouse d9d5f45e9e rsx/input: fix rsx replay 2019-01-10 13:05:48 +01:00
MSuih eba364c64c Clear disk cache if it grows too large (dev_hdd1/cache) (#5411)
* Clear disk cache automatically

* Add disk cache to UI
2018-12-24 00:18:47 +03:00
eladash 8cbaa8627c Do not rely on cellPadInit in native ui 2018-12-15 13:51:16 +01:00
Nekotekina 92be67b402 Fix #5370 regression 2018-12-05 00:06:09 +03:00
NicknineTheEagle 32059bfaa2 Properly get PARAM.SFO and icons for C00 games (#5370)
* Added a helper function for fetching game's PARAM.SFO path

This should properly get SFO path for unlocked C00 games

* Normalized line endings

* Refresh game list after installing a RAP file
2018-12-04 01:46:01 +03:00
Nekotekina 06253c8489 Implement "Initialize Directories" options
If disabled, /dev_hdd0, /dev_hdd1, etc, are not created automatically.
2018-11-05 13:14:11 +03:00
eladash 5ee351234c rsx-capture: unbreak 2018-10-23 18:02:03 +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
Megamouse 4ab777b429 Add title to emulator message dialogs 2018-10-14 23:14:46 +03:00
Megamouse 49e5212a8f RSX/Overlays: Add option for japanese button layout 2018-10-03 23:08:33 +02:00
Nekotekina 19a64e0e94 Add g_typemap and g_idm alias
Future idm/fxm replacement
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 680aaf21f0 Fix consistency in Emu::Stop()
Don't clear force_boot on shortcut Load()
2018-09-27 12:16:43 +03:00
Megamouse b7e010bbd0 Fix Emu.Restart() 2018-09-23 01:49:58 +01:00
Nekotekina ed8aa774bb Optimize logging via logs::channel
Use constant-initialized severity subobjects instead of temporaries
2018-09-16 00:36:20 +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
Nekotekina e8b5555630 Rewrite vfs::get and vfs::mount
Preprocess . and .. correctly
Don't use recursive locking
Also use std::string_view
Fix format system for std::string and std::string_view
Fix fmt::merge for std::string_view
2018-09-15 17:09:56 +03:00
jmatich b5dbd44087 Compilation fixes for Mingw64 (MSYS2) (#4899)
fix compilation on mingw
2018-08-29 14:27:10 +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
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
Megamouse 67aff85e8e RSX/Qt: Move rrc captures to captures dir 2018-07-28 23:10:45 +02:00
Megamouse ab84a67511 Loader: handle fs::file is Null fatal after decrypt self 2018-07-28 23:10:45 +02:00
Megamouse e58b7cbe1f user_manager: megamouse fixes 3 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
Megamouse a19113025c HLE/Qt: implement sys_tty_read 2018-07-16 00:05:30 +04:00
Nekotekina 6229b3ca8d Fixes for booting PS1 games 2018-06-23 17:30:16 +03:00
clienthax 8b449ce76c PS1 Classics 2018-06-23 16:34:19 +04:00
Nekotekina d62b0c88b0 Restore /dev_flash/ config 2018-06-23 09:26:11 +03: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
eladash 3e433ef05c create the shaderlog dir in Emu.Init() 2018-06-21 22:54:08 +04:00
VelocityRa dd0684b58a overlays/perf_overlay: Make pos, font, opacity, margin configurable
- Also some perf overlay refactoring
2018-06-18 22:34:26 +03:00
Megamouse af71cf0922 implement "Enable TSX" combobox 2018-06-17 00:43:00 +04:00
scribam 14dc1fead6 yaml-cpp: update submodule and build integration 2018-06-13 04:25:34 +04:00
Daniel Valentine fb20c27e7b Delay GDB server launch until emulator run (#4658) 2018-06-08 13:34:27 +01:00
Nekotekina 7242387a42 Block GUI after stopping emulation
This is necessary to prevent restarting the emulation until it's finished
Remove "process_events" callback completely
2018-06-04 16:01:17 +03:00
Nekotekina b0ee369135 Rewrite LLVM compilation progress dialog
Use a single dialog
2018-05-30 20:35:35 +03:00
VelocityRa c8d8a81ccd overlays: Performance Overlay 2018-05-30 12:35:41 +03:00
Nekotekina c5d8d50908 Move SPU LLVM log file 2018-05-23 15:36:29 +03:00
scribam bf2f00a163 log: add Vulkan header version 2018-05-19 10:59:10 +03:00
scribam 70e2873e69 Compilation fix for GCC 8 (at least) 2018-05-17 00:53:31 +04:00
Nekotekina 367f039523 Build transactions at runtime
Drop _xbegin family intrinsics due to bad codegen
Implemented `notifier` class, replacing vm::notify
Minor optimization: detach transactions from global mutex on TSX path
Minor optimization: don't acquire vm::passive_lock on PPU on TSX path
2018-05-16 17:31:58 +03:00
Jake 75b40931fc rsx: initial capture/replay functionality (#4510)
* rsx: initial capture/replay functionality
2018-05-13 12:18:05 +03:00
Nekotekina fe4c3c4d84 Implement SPU recompiler cache
Shared between ASMJIT/LLVM recompilers, compiled at startup
2018-05-09 23:35:18 +03:00
Nekotekina f5ee6fb113 Convert newlines in game title 2018-05-09 22:19:55 +03:00
Nekotekina 1ca51a023c SPU LLVM Recompiler (preview) 2018-05-09 22:19:55 +03:00
Nekotekina 16f5167aed SPU Analyser improved
This restores some functionality removed in SPU ASMJIT v2.0
Also implements new experimental features
2018-05-08 13:05:29 +03:00
Nekotekina bd1d4de422 Fix unnecessary cache dir 2018-04-22 00:06:49 +03:00
Nekotekina da6afb11f0 Fix game title if unset 2018-04-22 00:06:49 +03:00
Nekotekina 3ffafb741c SPU ASMJIT: übertrampolines and spu_runtime
Use opt-out shared spu_runtime to save memory (Option: SPU Shared Runtime)
Implement "übertrampolines" for dispatching compiled blocks
Patch fixed branch points to use trampolines after check failure
2018-04-22 00:06:49 +03:00
Nekotekina 898637f830 Remove mfc_thread
Clear mfc_queue on reset
Improve MFC Proxy a bit
2018-03-31 21:13:12 +03:00
Nekotekina c3a5e3f491 [LLVM Cache] Minor workaround 2018-03-31 16:51:19 +03:00
Nekotekina 19944eeed0 Implement SPRX precompilation
Automatically precompile firmware modules
Add "Create LLVM Cache" menu (for games)
Reimplement jit_compiler::cpu as static method
2018-03-22 23:24:58 +03:00
Nekotekina 4b1c052030 Fix crash on exit after access violation 2018-03-11 19:33:02 +03:00
Nekotekina c0a0cb98c5 Fix argv for DG category 2018-03-11 19:33:01 +03:00
Nekotekina eea2c20420 Improve vfs::mount
Mount /dev_bdvd/PS3_GAME if necessary
2018-03-11 19:33:01 +03:00
Nekotekina f4d2fccdfe Improve boot dir access
Add Emu.GetDir() method
2018-03-11 19:33:01 +03:00
Nekotekina c8a6bc6e24 Relax /dev_bdvd mounting requirements
Allow some PSN games with DG category to boot
2018-03-11 19:33:01 +03:00
Nekotekina f056b2f4ab Improve TTY output
Use atomic variable to sync TTY size
Implement console_putc (liblv2)
Write plaintext instead of HTML
Slightly improve performance
Fix random line breaks in TTY
2018-03-01 16:28:08 +03:00
Megamouse 6141bc5598 Fix firmware installation for vfs 2018-02-28 17:27:06 +04:00
Nekotekina cce0ad0c35 Clean vm::ps3 namespace use 2018-02-09 17:49:37 +03:00
Nekotekina 76be7d40ac Remove PSP2 2018-02-09 15:24:46 +03:00
Unknown 51a2b43d81 Qt/Input: Introduce profiles 2018-01-10 03:17:02 +04:00
Nekotekina af3e1fc580 Improve Restart function
Don't erase boot args
Should now work correctly with game launchers
2018-01-03 01:04:04 +03:00
Nekotekina 78f7020ce6 Warn about corrupted PARAM.SFO 2017-12-29 20:05:06 +03:00
Nekotekina e768bdc80f Remove /app_home/ dependency
Should also fix exitspawn
2017-12-27 02:51:58 +03:00
Peter Mcteague 6702c14b88 Added installation for additional packages to game boot 2017-11-28 22:22:37 +03:00
Nekotekina f7803927d9 Fix exitspawn (autoexit option)
Fix other situations affected by this options
2017-11-26 09:02:37 +03:00
Unknown de465cb941 Fix "Exit RPCS3 when process finishes" command line crash
Added force_boot to force boot on cmdline boot.
Load() caused a Stop() that exited the application with "Exit RPCS3 when process finishes" enabled. Now Stop is only called if the emu is not stopped
2017-11-21 03:02:47 +04:00
Nekotekina af107df0b4 Fix NPDRM exitspawn 2017-11-01 05:07:12 +03:00
Nekotekina 0e7e40f2cb Fix /dev_bdvd/ for exitspawn 2017-11-01 05:07:11 +03:00
Nekotekina 00a0d37455 Add cmdline support 2017-10-28 23:24:08 +03:00
Nekotekina df2fc13b7a Add PPU instruction stat dumper
Needs PPU Debug option to activate and PPU Interpreter
Dumps after Resume (after Pause)
Fix utils::memory_decommit, clean vm.cpp
2017-10-11 20:06:33 +03:00
Nekotekina e5f756205c sys_net full rewrite
Implement sys_net syscalls
Clean libnet functions
Use libnet.sprx
Use libhttp.sprx
Use libssl.sprx
Use librudp.sprx
Implement sys_ss_random_number_generator
2017-10-05 19:51:37 +03:00
Nekotekina 3e3160d7ac Minor VFS fix 2017-09-21 14:34:09 +03:00
Nekotekina 5c93acefd9 Try to fix some fs errors 2017-09-19 15:07:07 +03:00
Nekotekina 519f21db18 Exitspawn support renewal
Implemented _sys_process_exit2 syscall
Rewritten sys_game_process_exitspawn
Rewritten sys_game_process_exitspawn2
Implemented _sys_process_atexitspawn
Implemented _sys_process_at_Exitspawn
And some other changes
2017-09-19 15:07:07 +03:00
Nekotekina 837c5dddee Add <typeinfo> 2017-09-19 15:07:07 +03:00
Nekotekina 010b75251f fs::rename fixed
Added overwriting policy
sys_fs_rename improved
2017-08-30 17:14:30 +03:00
Andrew O'Neil daf3760cd4 Add PulseAudio audio backend 2017-08-24 17:43:34 +03:00
Nekotekina c1450ad616 Reenable thread_local for all platforms 2017-08-24 16:27:07 +03:00
Nekotekina 1716db14ed Fix moving disc games with arbitrary dir name 2017-08-23 21:26:18 +03:00
RipleyTom 81da93a302 Fix rare occurence where there is a /PS3_GAME+something directory which leads to weird behavior 2017-08-15 21:14:09 +03:00
Nekotekina 613214cdca Improve error formatting 2017-08-08 22:17:51 +03:00
Megamouse f3ad922a8f drag and dropperinno (#3037) 2017-08-06 22:29:28 +03:00
Jan Beich 40d305b35d Make ALSA optional 2017-08-06 02:02:57 +01:00
Nekotekina c14eb4e54a Implement error report stacking 2017-08-04 14:33:53 +03:00
Nekotekina 93db420f80 sys_lwmutex, sys_lwcond refactoring 2017-07-30 01:09:42 +03:00
Ryan Gonzalez dbd69536ed Linux evdev joystick support (#2885)
* Linux evdev joystick support (#2678)

* Cleanup libevdev configure code

* evdev fixes

* Evdev joystick additions/fixes

* Error message tweak

* Fix evdev multiple joysticks (thanks @hcorion!)

* Change by-id to by-path in evdev
2017-07-26 21:03:06 +03:00
Nekotekina 25fcde9507 Rearrange /dev_bdvd mounting logic
Prevent booting patches without /dev_bdvd
Prevent booting with foreign /dev_bdvd
2017-07-14 03:39:22 +03:00
Nekotekina d8abe75526 Improved sprx boot (for devs only) 2017-07-14 01:47:00 +03:00
Nekotekina 113b937263 Fix moving game dir 2017-07-12 19:35:46 +03:00
Nekotekina 3cd4256b9e Fill game list from all locations 2017-07-12 18:16:09 +03:00
Nekotekina 08e9400870 Improve booting disc games
Store disc locations for disc games
Create /dev_hdd0/disc/ directory
Move disc games from /dev_hdd0/game/ to /disc/ automatically
Load disc game patches automatically
2017-07-12 16:38:19 +03:00
Nekotekina 420bfef214 Cleaning after PoorRequest 2017-07-12 14:07:38 +03:00
Nekotekina 6561ddae41 PPU LLVM: multithread compilation 2017-06-24 19:12:19 +03:00
Nekotekina 155f13ed54 Workaround booting NP games 2017-06-23 20:09:33 +03:00
RipleyTom 0dd10d1457 Command line elf path fix (#2844) 2017-06-10 22:50:10 +03:00
kd-11 860b76452f vulkan bringup on linux
cleanup: drop unused stuff
2017-06-08 19:08:44 +03:00