Marek Ledworowski
26fc2a54ea
Finished dirents (hopefully)
2025-11-15 23:52:32 +01: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
georgemoralis
5ddabda2b8
started 0.12.6 WIP
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
2025-11-07 09:16:58 +02:00
georgemoralis
3ce1ac5e86
tagged 0.12.5 release
2025-11-07 08:59:26 +02:00
Emma
b4628b80e2
ImGui: keep drawing when there's a pending change_layer ( #3782 )
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-06 20:58:15 -03:00
Marek Ledworowski
a6284da10a
Merge remote-tracking branch 'upstream/main' into quasifs
2025-11-06 23:22:25 +01:00
Marek Ledworowski
340a6a7cf5
Nitpicks
2025-11-06 23:21:25 +01:00
Marek Ledworowski
89b91c6f30
Implemented vector rw in virtual and posix
...
Reverted Partition::Format (stupid idea)
Minor removals
2025-11-06 21:53:30 +01:00
Emma
2f022a462d
filesystem: return st_mtim in posix_stat (fixes RB4 / CUSA02901 DLC crash) ( #3781 )
...
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
* filesystem: return st_mtim in posix_stat
* filesystem: stat - remove reliance on clock_cast
* filesystem: stat - remove reliance on to_time_t
2025-11-06 22:47:40 +02:00
Joshua de Reeper
f5505daaca
usbd: Emulate Dimensions Toypad ( #3779 )
...
* Dimensions Toypad
* update comment
2025-11-06 17:46:43 +02:00
Joshua de Reeper
8c1ec863da
Add Infinity Base Backend ( #3778 )
2025-11-06 16:34:52 +02:00
marecl
21748acf46
Pre-added dirents
...
Detached chmod and stat from quasi_vdriver - all host-bound metadata are to be set/read when needed
I hate dirents
2025-11-06 14:34:16 +01:00
kalaposfos13
604f8d9398
More OpenOrbis stuff ( #3776 )
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-06 13:22:26 +02:00
Stephen Miller
19e974bf21
Libkernel: Implement/stub some functions ( #3774 )
...
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
* Define latest released firmware version, use that for sceKernelGetSystemSwVersion
I feel this is less hacky and error-prone than just returning the game firmware.
* sceKernelGetAllowedSdkVersionOnSystem
* sceKernelHasNeoMode
* sceKernelGetAppInfo stub
* sceKernelGetCurrentCpu
* fixups
* sceKernelGetMainSocId
Used by libSceAvPlayer to determine if console is a pro or not.
* Update process.cpp
* Set has_param_sfo to true
* Clang
2025-11-05 16:58:15 -08:00
Marek Ledworowski
e02fa1475c
Merge remote-tracking branch 'upstream/main' into quasifs
2025-11-05 23:05:30 +01:00
Marek Ledworowski
552a43b767
Upgraded stat
...
Negative fd safeguard (EBADF)
Stat time is now tracked
Catching unknown open() flags
2025-11-05 22:34:43 +01:00
Stephen Miller
7031f5968e
Better return stub ( #3773 )
...
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
Gets THE PLAYROOM (CUSA00001) further.
2025-11-05 18:32:24 +02:00
marecl
7b9cc2d481
Cleaned up devices (only read/write implemented, p and vectors are handled by inode and Device class)
...
Removed read/write from VirtualFile (no use since reading via fptr requires handle)
Note to self regarding stat()
2025-11-05 15:05:56 +01:00
marecl
6b338d860a
Windows shenanigans
...
Modified FS init flow
Added mk/rmdir, fixed close()
Added (p)read/write
Fixed path being treated as relative on windows
Fixed incorrect resolution of mountpoint roots (requires validation)
2025-11-05 14:51:02 +01:00
marecl
1c8f24945a
HACK. DON'T REPRODUCE
2025-11-05 11:25:44 +01:00
marecl
9e12eec072
unified int to s32
2025-11-05 11:25:01 +01:00
georgemoralis
ff8869262f
[Libs] Font lib HLE implementation ( #2761 )
...
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
* dummy fontlib libs
* register font libs
* typo fix
* added font error file
* added sceFontCharacterGetBidiLevel (from RE)
* fixup
* sceFontCharacterGetTextOrder , sceFontCharacterLooksFormatCharacters , sceFontCharacterLooksWhiteSpace RE
* sceFontCharacterRefersTextBack,sceFontCharacterRefersTextNext,sceFontRenderSurfaceInit,sceFontRenderSurfaceSetScissor RE
* sceFontRenderSurfaceSetStyleFrame ,sceFontStyleFrameGetEffectSlant RE added
* clang fix
* sceFontStyleFrameGetEffectWeight
* added sceFontStyleFrameGetScalePixel
* Update types.h
* fixup merge
2025-11-04 17:14:22 +02:00
Stephen Miller
683e5f3b04
Core: Simulate write-only file access with read-write access ( #3360 )
...
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
* Swap write access mode for read write
Opening with access mode w will erase the opened file. We do not want this.
* Create mode
Opening with write access was previously the only way to create a file through open, so add a separate FileAccessMode that uses the write access mode to create files.
* Update file_system.cpp
Remove a hack added to posix_rename to bypass the file clearing behaviors of FileAccessMode::Write
* Check access mode in read functions
Write-only files cause the EBADF return on the various read functions. Now that we're opening files differently, properly handling this is necessary.
* Separate appends into proper modes
Fixes a potential regression from one of my prior PRs, and ensures the Write | Append flag combo also behaves properly in read-related functions.
* Move IsWriteOnly check after device/socket reads
file->f is only valid for files, so checking this before checking for sockets/devices will cause access violations.
* Fix issues
Now that Write is identical to ReadWrite, internal uses of Write need to be swapped to my new Create mode
* Fix remaining uses of FileAccessMode write to create files
Missed these before.
* Fix rebase
* Add stubbed get_authinfo (#3722 )
* mostly stubbed get_authinfo
* Return value observed on console if get_authinfo was called for the current thread, esrch otherwise
---------
Co-authored-by: kalaposfos13 <153381648+kalaposfos13@users.noreply.github.com>
Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
2025-11-04 10:57:26 +02:00
georgemoralis
08fe66a97f
[Libs] Http HLE (part2) ( #2762 )
...
* added sceHttpParseStatusLine
* added sceHttpUriMerge
* macOS fix
* more macOS fix?
* typo
* Update src/core/libraries/network/http.cpp
Co-authored-by: illusony <37698908+illusion0001@users.noreply.github.com>
* some work on sceHttpGetStatusCode
* more draft on GetStatusCode
* added some debug info
* fixup
---------
Co-authored-by: illusony <37698908+illusion0001@users.noreply.github.com>
2025-11-04 10:41:26 +02:00
Marek Ledworowski
4949f16268
clang, strip
2025-11-03 23:29:57 +01:00
Marek Ledworowski
661d017326
Removed BaseDevice
...
Cleaned up devices (again)
Unified types inside quasifs
2025-11-03 23:22:30 +01:00
Marek Ledworowski
cfb77f33ac
clang
2025-11-03 21:42:42 +01:00
Marek Ledworowski
e6662e303e
Merge branch 'main' into qupdate
2025-11-03 21:32:55 +01:00
Stephen Miller
bc44865cda
Implement sceGnmDrawInitToDefaultContextStateInternal functions ( #3770 )
...
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
These are used by LLE libSceVideodec.
From decompiling the two GnmDriver libraries, it seems like sceGnmDrawInitToDefaultContextStateInternalCommand inlines a call to sceGnmDrawInitToDefaultContextState, so I've replaced that with an actual call to the function for readability.
sceGnmDrawInitToDefaultContextStateInternalSize is one to one with decomp.
2025-11-03 11:06:26 -08:00
Marek Ledworowski
7f50e6b515
Slight clarifications, privatization
...
Moving on for cherry-picking
2025-11-03 19:35:48 +01:00
Marek Ledworowski
b8f485df73
Cleaned up devices (read/write inherited from inode, only pwrite implemented)
2025-11-03 18:39:14 +01:00