Commit Graph

29011 Commits

Author SHA1 Message Date
lizzie 68eac2ebd1 windows prot=0 2026-09-19 01:52:11 +02:00
lizzie f0ddc9a9b3 fix pings? 2026-09-19 01:52:11 +02:00
lizzie 93c0fec82f fix winbloat 2026-09-19 01:52:11 +02:00
lizzie 44e92f9f9d fractional time -W 2026-09-19 01:52:11 +02:00
lizzie 2aa154618d ffs windows 2026-09-19 01:52:11 +02:00
lizzie 794c9a8a7b evil noperm 2026-09-19 01:52:11 +02:00
lizzie 931d6d752c fuck errrno2 2026-09-19 01:52:11 +02:00
lizzie 66af29b769 acurater errno 2026-09-19 01:52:11 +02:00
lizzie 7370569c46 ALL THE ERROR CODES 2026-09-19 01:52:11 +02:00
lizzie c5ccdc3edb fixup errno 2026-09-19 01:52:11 +02:00
lizzie 47ad58bcda min of 1sec 2026-09-19 01:52:11 +02:00
lizzie 1089b81b3b account for timeout 2026-09-19 01:52:11 +02:00
lizzie 10960472d8 fix tcp on ssbu mod 2026-09-19 01:52:11 +02:00
lizzie c4fc610bf9 fallback only if it failed 2026-09-19 01:52:11 +02:00
lizzie 57d2f83385 implode windows 2026-09-19 01:52:11 +02:00
lizzie c9c7baf23f better 2026-09-19 01:52:11 +02:00
lizzie 12fc97fcb2 evil ping 2026-09-19 01:52:11 +02:00
lizzie 52219cba0c don't murder me for this change 2026-09-19 01:52:11 +02:00
lizzie 9d946c3095 need the extra threads... 2026-09-19 01:52:11 +02:00
lizzie b3879e7f9b more gymnastics to give fake results? 2026-09-19 01:52:11 +02:00
lizzie 9cbaa6edbb first fake icmp impl 2026-09-19 01:52:11 +02:00
lizzie 694fc90780 fix ldn sockets being regarded as normal socks 2026-09-19 01:52:11 +02:00
lizzie ecdfdf55c0 fx2 2026-09-19 01:52:11 +02:00
lizzie dbb01985c1 fix??? 2026-09-19 01:52:11 +02:00
lizzie 6632325d57 fix sockets 2026-09-19 01:52:11 +02:00
lizzie b1bb5ce227 struct pollfd 2026-09-19 01:52:11 +02:00
lizzie 34051ac7e0 fixup tests 2026-09-19 01:52:11 +02:00
lizzie 8e1a85b4ab fix windows screaming 2026-09-19 01:52:11 +02:00
lizzie b0569b5319 musl scared of defines ooo 2026-09-19 01:52:11 +02:00
lizzie d987f1d386 airplane mode takes priority 2026-09-19 01:52:11 +02:00
lizzie 83d646a85d uh 2026-09-19 01:52:11 +02:00
lizzie ad4a9214a2 add tcp options 2026-09-19 01:52:11 +02:00
lizzie bf30334325 nuke extra threads, extra error support; use span instead of vector for poll fds 2026-09-19 01:52:11 +02:00
lizzie abd7286f72 we love when cURL has bugs? 2026-09-19 01:52:11 +02:00
lizzie 3c804d43e6 add extra polling types 2026-09-19 01:52:11 +02:00
lizzie 1ea013a2ad various fixes to sockopt 2026-09-19 01:52:11 +02:00
lizzie 91bcdaa109 allow configure socket level 2026-09-19 01:52:11 +02:00
lizzie c9e803fb6c coalesce the various sockopt 2026-09-19 01:52:11 +02:00
lizzie 9f610fd497 honour the provided MSG flags 2026-09-19 01:52:11 +02:00
lizzie 9aeccbc072 extra fixups 2026-09-19 01:52:11 +02:00
lizzie 1299d08450 fixup stuffs for windows 2026-09-19 01:52:11 +02:00
lizzie 1591f27bbc fix messages native flags 2026-09-19 01:52:11 +02:00
lizzie f21dd6c838 properly handle writebuffer and dont write OOB 2026-09-19 01:52:11 +02:00
lizzie 3682eb7fcb fixes for non BSD 2026-09-19 01:52:11 +02:00
lizzie 8f770429c1 [net] refactor to remove uneeded abstraction layer
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-09-19 01:52:11 +02:00
lizzie 9a30172e45 [dynarmic] Coalesce non-exclusive Write/Read fallback functions (#4158)
the general idea is to have a common procedure form whom to call
this way theres less "jumping around" for values of different sizes
additionally this **should** allow for better codegen since
most of the u8,u16,u32,u64 can be held within a u64
theoretically this means that you could deifne callbacks in suck
a way that it's essentially as costly as a `mov r64, m64`
but that's not doable due to the fact we have to do translations...

Is this a good change?
Primarily aimed for x86 and ARM to benefit, but I suppose LooooooongArch64 can benefit too.

Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4158
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
2026-09-19 01:39:46 +02:00
xbzk 07f40d5cac [npad,hid,am] npad WriteEmptyEntry fix, hid function 551 stub, and applet PopOutData rework (#4442)
- [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions).
- [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md)
- [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability.

-------------------
This was intended to fix Dave the Diver issue, but we found a real silly hid bug, then a maybe broader applet issue:

By testing with John it was found out only the last controller connected worked, the others caused the game to freeze peacefully, no crashes, suggesting some loop or deadlock.

After seeking that lead, it was found that the freeze was caused by a malformed HID history entry when the controller applet removed P2.
Pressing P1 opens the controller applet, then Qt applet disconnects P2, which is expected.

Upon seeking callstack and hid sync path, it was found out that NPad::WriteEmptyEntry:
was using: ReadCurrentEntry().sampling_number + 1
instead of: ReadCurrentEntry().state.sampling_number + 1 (checked AtomicStorage in src\hid_core\resources\ring_lifo.h)
Fixing that fixed the freeze, but killed the sound!

Later handheld/docked was accidentally clicked and sound returned. Good lead.
Then i just had to corner which part of the toggle was causing the refresh and do something similar at the controller applet return routine (PopOutData in library_applet_accessor.cpp). This part seems harmless, but i'm not clearly sure about how proper it is, since it was like a transplant and test operation.

UPDATE:
To try Diablo 3 on my machine it was needed to stub HID function 551.

And to fix all abnormalies like multiple applet requests and crash the function PopOutData was reworked to ensurey idempotency among different applet focus conditions:

focus state changed: updates state and signals if needed
no state change, HLE application frontend: requests focus state changed notification
already pending change message: flag remains true and no duplicate pushed to queue entry

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4442
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: lizzie <lizzie@eden-emu.dev>
2026-09-18 23:49:17 +02:00
xbzk 3c38afad74 [fs] share parent resources with bundled programs (#4319)
- [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions).
- [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md)
- [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability.

-------------------

Normal games are Applications;
Bundled games are Application + Programs;

We've been treating both as the same thing, calling both programs, and making programs unable to see settings and saves from application.

References:
https://switchbrew.org/wiki/Filesystem_services
https://switchbrew.org/wiki/NCM_services#ApplicationId
https://switchbrew.org/wiki/Super_Mario_3D_All-Stars
Ryujinx.HLE/HOS/ApplicationLoader.cs:GetMultiProgramInfo

UPDATE:

The first version was a big rework to make AppId/ProgId concepts proper, and it was successful in most tests, but it caused a regression with applets, which are programs that breed straight from no application.
In order to simplify things i've reverted all the rework, added a helper to identify whether a program has a parent Application and bounded it to it's proper stores.

Although this is no big deal coz it doesn't have impact on emulation, it permeates to several routines, so it needs to be tested broadly. Applets, Normal games, Bundled games, Blobbed NSPs/XCIs, Mods, Updates, Saves, DLCs,.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4319
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: lizzie <lizzie@eden-emu.dev>
2026-09-18 23:48:35 +02:00
Feng Chen 0ce29be608 [common] Fix RDTSC nanosecond conversion (#4422)
Split the RDTSC ticks-per-nanosecond ratio into integer and Q0.64 fractional components. This avoids overflowing GetFixedPoint64Factor for TSC frequencies above 1 GHz while preserving the multiply-only conversion path.

Use the invariant clock only above 1 GHz because the reverse nanoseconds-per-tick factor cannot represent an exact ratio of one.

- [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions).
- [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md)
- [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability.

-------------------

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4422
Reviewed-by: lizzie <lizzie@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-09-17 19:50:19 +02:00
lizzie 1203082a8f [msvc] fix build errors (#4451)
MSVC doesn't consider atomic<u64> to be trivially copyable on x86 (why?).
And other chary idiosyncrasies from constructing `std::optional<uint8_t>`

Signed-off-by: lizzie <lizzie@eden-emu.dev>

- [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions).
- [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md)
- [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability.

-------------------

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4451
Reviewed-by: Maufeat <sahyno1996@gmail.com>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
2026-09-17 08:16:18 +02:00