marecl
8d4197e71a
Implemented some link() on windows
...
Added copy/move/rename
Added cloning FS objects (deep-copy)
2025-11-24 14:30:45 +01:00
marecl
7a59a19bda
Merge remote-tracking branch 'upstream/main' into quasifs
2025-11-24 09:37:24 +01:00
kalaposfos13
2577dfde7e
Add assert on SFO file being empty ( #3815 )
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
2025-11-23 17:30:09 -08:00
Missake
8123c44ad1
Make FSR off by default ( #3801 )
...
* Make FSR and RCAS off by default
* Update config.cpp
2025-11-23 17:28:48 -08:00
TheTurtle
f1a8b7d85e
vector_alu: Fix V_CMP_U64 ( #3823 )
...
* vector_alu: Fix V_CMP_U64
* vector_alu: Also handle vcc in V_CMP_U64
2025-11-23 17:26:34 -08:00
Stephen Miller
f6ae5544fd
Kernel.Vmm: Protect Fixes ( #3822 )
...
Build and Release / reuse (push) Has been cancelled
Build and Release / clang-format (push) Has been cancelled
Build and Release / get-info (push) Has been cancelled
Build and Release / windows-sdl (push) Has been cancelled
Build and Release / macos-sdl (push) Has been cancelled
Build and Release / linux-sdl (push) Has been cancelled
Build and Release / linux-sdl-gcc (push) Has been cancelled
Build and Release / pre-release (push) Has been cancelled
* Some mprotect fixes
The biggest thing here is preventing mprotect on memory that isn't mapped in address space. This would cause exceptions before, but succeeds on real hardware.
I've also included a couple other minor fixes, mostly based around some tests I recently performed.
Note: All changes to memory pools in this PR are assumed. I have not yet tested memory pools with any of this logic, but I do at least want to prevent mprotect on pool reserved memory to avoid crashes.
* Update memory.cpp
* clang
2025-11-22 10:32:53 +02:00
oltolm
4922d526fe
msys2: fix build ( #3818 )
...
* cmake: fix mingw-w64 build
* time.cpp: fix build with Clang on Windows
* tls.h: include malloc.h for alloca
2025-11-22 10:32:29 +02:00
marecl
bc8cedb96c
preliminary 2/2 linux->bsd
2025-11-21 14:21:35 +01:00
kalaposfos13
56109a1331
Avoid storing the Tcb pointer on the stack ( #3819 )
...
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
* Avoid storing the Tcb pointer on the stack
* Just return the already stored pointer in GetTcbBase
* Replace uses of GetTcbBase with g_curthread->tcb
* copyright 2025
* sir clang offnir, the all-formatting
2025-11-21 00:42:49 -08:00
Marek Ledworowski
beafd04eaa
1/2 migrating linux/unix errno to freebsd
2025-11-21 00:29:17 +01:00
Marek Ledworowski
204e8f72b0
Merge remote-tracking branch 'upstream/main' into quasifs
2025-11-21 00:07:57 +01:00
Marek Ledworowski
008b61d28d
lseek on devices
...
fixed dirents not updating when RefreshDirents is called too fast after lseek
2025-11-21 00:06:56 +01:00
Osyotr
544a22a431
emulator: crash faster ( #2360 )
...
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
By disabling Windows Error Reporting.
2025-11-20 22:35:35 +02:00
marecl
6612a32523
Prevent writing to directories ( #3820 )
...
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
* Prevent writing to directories
* Prevent writing to directories
2025-11-20 19:41:01 +02:00
Marek Ledworowski
0ae2275e2d
Merge remote-tracking branch 'upstream/main' into quasifs
2025-11-18 21:25:41 +01:00
Marek Ledworowski
ef9d91082a
Fixed PFS dirents returning empty on 1st entry
...
Muted annoyances
2025-11-18 21:25:30 +01:00
TheTurtle
3f86c2e94a
buffer_cache: Split DMA fault handling code from buffer cache ( #3809 )
...
Build and Release / reuse (push) Has been cancelled
Build and Release / clang-format (push) Has been cancelled
Build and Release / get-info (push) Has been cancelled
Build and Release / windows-sdl (push) Has been cancelled
Build and Release / macos-sdl (push) Has been cancelled
Build and Release / linux-sdl (push) Has been cancelled
Build and Release / linux-sdl-gcc (push) Has been cancelled
Build and Release / pre-release (push) Has been cancelled
Its better not to have that raw code there
2025-11-18 08:46:51 +02:00
Alexandre Bouvier
5b699090e6
cmake: fix sdl3_mixer target name ( #3811 )
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
2025-11-17 18:56:01 +02:00
Marek Ledworowski
5eb1280b05
Merge remote-tracking branch 'upstream/main' into quasifs
2025-11-16 19:48:44 +01:00
Marek Ledworowski
98ec0d073e
Cleanse
2025-11-16 19:48:31 +01:00
Marek Ledworowski
748d81b647
HOPEFULLY finished PFS dirent
2025-11-16 17:14:23 +01:00
TheTurtle
aa5c045555
logging: Format message after filter check ( #3808 )
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
2025-11-16 17:34:23 +02:00
rainmakerv2
ed14359c87
Re-implement custom trophy sounds using sdl3 mixer ( #3805 )
...
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
* re-implement custom trophy sounds using sdl3 mixer
* fix build vars
* Don't change SDL version
2025-11-16 10:36:54 +02:00
Marek Ledworowski
1d18d97b50
Added mutexes for qfs operations (fixes VTM Swansong)
...
Shut up UE
2025-11-16 00:58:42 +01:00
Marek Ledworowski
cf89edf671
Merge remote-tracking branch 'upstream/main' into quasifs
2025-11-16 00:32:04 +01:00
Marek Ledworowski
26fc2a54ea
Finished dirents (hopefully)
2025-11-15 23:52:32 +01:00
Missake
6a9f9abda0
Delete lines about Qt in building doc for Windows ( #3800 )
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
2025-11-14 21:48:04 -08:00
TheTurtle
2f55636626
vk_rasterizer: Attempt to optimize compute clears ( #3795 )
2025-11-15 07:44:25 +02:00
Stephen Miller
94d0f2e7ed
Avoid initializing Shader::PsColorBuffer in RefreshGraphicsKey ( #3799 )
...
The bitfield in the struct is padded, which produces uninitialized memory on initialization.
To avoid modifying the struct while making our GraphicsPipelineKey struct properly hashable, set values directly instead of re-initializing.
This fixes pipeline compile spam, and the subsequent poor performance, on certain setups.
2025-11-14 19:50:14 -08:00
kalaposfos13
f557c6ac64
Update MoltenVK to the shadPS4 fork ( #3797 )
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
2025-11-14 21:47:16 +02:00
marecl
9eed4385f2
Merge branch 'quasifs' of https://github.com/marecl/shadPS4 into quasifs
2025-11-14 12:48:45 +01:00
marecl
aa65659bb8
Regular dirents implemented (hopefully)
2025-11-14 12:46:39 +01:00
Stephen Miller
6505d451f5
calloc libusb_interface instead of pointer ( #3793 )
...
interface->num_altsetting is oob
2025-11-14 12:46:39 +01:00
Joshua de Reeper
ad72527c11
calloc UsbDevice instead of pointer ( #3790 )
2025-11-14 12:46:39 +01:00
Marek Ledworowski
bc1ea225dc
Merge remote-tracking branch 'upstream/main' into quasifs
2025-11-13 23:36:27 +01:00
Marek Ledworowski
62e0bb1aa0
finished mid-thought
2025-11-13 23:36:10 +01:00
Marek Ledworowski
8f2fb6a76f
commented on some things, awaiting will to live
2025-11-13 00:01:16 +01:00
Marek Ledworowski
7e4affaf8b
Regular pread+dirents
...
PFS read (dirents WIP)
2025-11-12 22:49:09 +01:00
Stephen Miller
93c340c6e1
calloc libusb_interface instead of pointer ( #3793 )
...
Build and Release / reuse (push) Has been cancelled
Build and Release / clang-format (push) Has been cancelled
Build and Release / get-info (push) Has been cancelled
Build and Release / windows-sdl (push) Has been cancelled
Build and Release / macos-sdl (push) Has been cancelled
Build and Release / linux-sdl (push) Has been cancelled
Build and Release / linux-sdl-gcc (push) Has been cancelled
Build and Release / pre-release (push) Has been cancelled
interface->num_altsetting is oob
2025-11-12 17:26:26 +02:00
Joshua de Reeper
25344a3b89
calloc UsbDevice instead of pointer ( #3790 )
2025-11-12 12:40:39 +02:00
Marek Ledworowski
dac56a3495
Merge remote-tracking branch 'upstream/main' into quasifs
2025-11-11 23:38:27 +01:00
Marek Ledworowski
58b50a1dbb
implementing dirents (again)
2025-11-11 23:34:20 +01:00
Marek Ledworowski
ff990b570d
stubbed lseek
2025-11-11 23:33:54 +01:00
Missake
bbd985fe4b
Update building-windows.md ( #3792 )
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
2025-11-11 16:56:03 +01:00
Marek Ledworowski
7df5d494dd
Added PFS dirents (WIP, throws nullptr exception on some tests)
...
Delegated lseek to inode
Corrected offset types
Directories can spawn one of their own kind
2025-11-11 00:45:34 +01:00
Stephen Miller
ee2bc97248
Windows: Limit address space maximum when higher addresses are not needed ( #3775 )
...
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
* Earlier initialization of elf info.
Everything used for elf info initialization comes from the param.sfo, so we can initialize this earlier to have this information accessible during memory init.
* Extract compiled SDK version from pubtoolinfo string
Up until now, we've been using the game's reported "firmware version" as our compiled SDK version. This behavior is inaccurate, and is something that has come up in my hardware tests before.
For the actual compiled SDK version, we should use the SDK version in the PUBTOOLINFO string of the param.sfo, only falling back on the firmware version when that the sdk_ver component isn't present.
* Store compiled SDK version in ElfInfo
* Limit address space for compiled SDK version at or above FW 3
Sony placed a hard cap at 0xfc00000000, with a slight extension for stack mappings. For now, though stack mappings aren't implemented, there's no harm in keeping a slightly extended address space (since this cap is lower than our old user max).
Limiting the max through address space is necessary for Windows due to performance issues, in the future I plan to properly implement checks in memory manager code to properly handle this behavior for all platforms.
* Use compiled SDK version for sceKernelGetCompiledSdkVersion
I think this is pretty self explanatory.
* Log SDK version
Since this value is what most internal firmware version checks are against, logging the value will help with debugging.
* Update address_space.cpp
* Update emulator.cpp
* Backwards compatible logging
Because that's apparently an issue now
2025-11-10 17:07:17 +02:00
Marek Ledworowski
410d3834cc
Merge remote-tracking branch 'upstream/main' into quasifs
2025-11-09 23:41:10 +01:00
Marek Ledworowski
5abfa01ccd
Implemented dirents (normal)
...
Minor movements
2025-11-09 23:40:56 +01:00
Connor Garey
bebfee58d6
Nix shell fixes for uuid ( #3784 )
...
Build and Release / reuse (push) Has been cancelled
Build and Release / clang-format (push) Has been cancelled
Build and Release / get-info (push) Has been cancelled
Build and Release / windows-sdl (push) Has been cancelled
Build and Release / macos-sdl (push) Has been cancelled
Build and Release / linux-sdl (push) Has been cancelled
Build and Release / linux-sdl-gcc (push) Has been cancelled
Build and Release / pre-release (push) Has been cancelled
* added "with pkgs;" so pkgs does not need to be appended for all the buildInputs.
* Added util linux as missing uuid. Compiles successfully.
2025-11-08 19:08:18 -08:00
marecl
4e07f5c2e1
qweqwe
2025-11-07 11:07:06 +01:00